![Unity 2018 AR与VR开发快速上手](https://wfqqreader-1252317822.image.myqcloud.com/cover/133/36862133/b_36862133.jpg)
3.6 其他常用内容
3.6.1 3D模型
Unity可以导入多种格式(见表3-1)的3D模型,但是并不是对每一种外部模型的属性都支持。不过,在Unity中建议使用“.fbx”格式的3D模型。
表3-1 Unity支持多种格式的3D模型
![](https://epubservercos.yuewen.com/8A3A4C/19549639508907106/epubprivate/OEBPS/Images/Figure-T57_25272.jpg?sign=1738861447-kMcw1RRyWYJlJcctoRzjQm06u4EdoZOZ-0-b0857b8541ad9d715b7e4d631f6ca4d9)
可以通过将图片资源直接拖曳到模型上,从而生成模型的贴图。此外,Unity3D还提供了一些简单的基础模型,如立方体、球体等,如图3-24所示。
![](https://epubservercos.yuewen.com/8A3A4C/19549639508907106/epubprivate/OEBPS/Images/Figure-P57_3978.jpg?sign=1738861447-qlezRBjcVw9ZvmoKuOp8JLWkx5akuRfe-0-8966a793a6c3009bd0906f2b42c1a819)
图3-24
3.6.2 刚体
当为一个包含碰撞器(Collider)组件的游戏对象添加了刚体(Rigidbody)组件后,该游戏对象就变成一个可以赋予物理特性的游戏对象,如图3-25所示。其中,可以设置刚体的质量(Mass)、阻力(Drag)、是否受重力影响(Use Gravity)等,如图3-26所示。
![](https://epubservercos.yuewen.com/8A3A4C/19549639508907106/epubprivate/OEBPS/Images/Figure-P58_4021.jpg?sign=1738861447-inDE8E6nTCepfKLRELCguXrWQIt2anAR-0-70ab39aaba32ad61eb46f8aee99e36fa)
图3-25
![](https://epubservercos.yuewen.com/8A3A4C/19549639508907106/epubprivate/OEBPS/Images/Figure-P58_25273.jpg?sign=1738861447-ECIGn8fUaccyQMahb9PvoY1Bn9Qz6djk-0-119781dad9aed05ce82ac3039c50941b)
图3-26
刚体的边缘并不是模型的边缘,而是由模型的碰撞器(Collider)组件来决定的。碰撞器属性默认与模型一样,但是可以编辑大小,即图3-27中的外部线框(在软件中应该显示为绿色线框)。另外,导入的3D模型默认没有碰撞器组件。
![](https://epubservercos.yuewen.com/8A3A4C/19549639508907106/epubprivate/OEBPS/Images/Figure-P58_4024.jpg?sign=1738861447-sGrm1ZIVIAyZ5Yo9jxsbqNBzGWKZKs22-0-b3279f21a6b9ac7eba8da8b498196440)
图3-27
3.6.3 重力
在Unity3D虚拟空间中,默认的重力和地球的重力一样。
依次单击菜单选项“Edit→Project Settings→Physics”(见图3-28),打开设置重力的窗口中,可以在“Gravity”选项中编辑重力的大小和方向(见图3-29)。
![](https://epubservercos.yuewen.com/8A3A4C/19549639508907106/epubprivate/OEBPS/Images/Figure-P59_4066.jpg?sign=1738861447-StS5HpEdAcuvneaiXvDnY9cUxVpfgC8p-0-fd0e5a153bd436e9679d7e3890651fed)
图3-28
![](https://epubservercos.yuewen.com/8A3A4C/19549639508907106/epubprivate/OEBPS/Images/Figure-P59_4067.jpg?sign=1738861447-nbXSUmJ597tOKjRQ6PoIMd2SYe0sErxh-0-a21e196e099bd8760a0bf4552cb06872)
图3-29
3.6.4 物理特性
依次单击菜单选项“Assets→Create→Physic Material”可以添加物理特性材质,如图3-30所示。
![](https://epubservercos.yuewen.com/8A3A4C/19549639508907106/epubprivate/OEBPS/Images/Figure-P59_4068.jpg?sign=1738861447-bQgpdTiE2g8APPPK7nRNEclyykPn36is-0-95991324fc1963353fa4e64222c47241)
图3-30
其中,可以设置移动中的动态摩擦力(Dynamic Friction)、静态摩擦力(Static Friction)、弹力(Bounciness),数值都是0到1的浮点数,0最小,1最大,如图3-31所示。
![](https://epubservercos.yuewen.com/8A3A4C/19549639508907106/epubprivate/OEBPS/Images/Figure-P59_4069.jpg?sign=1738861447-7TNA5owdbaa4VOALALnqWlDdKbUFxWz5-0-026f413bb594786a8f5ebe0c33b5673d)
图3-31
将该资源拖入碰撞器组件的“Material”属性之后,就可以让该游戏对象拥有对应的物理特性,如图3-32所示。
![](https://epubservercos.yuewen.com/8A3A4C/19549639508907106/epubprivate/OEBPS/Images/Figure-P60_4101.jpg?sign=1738861447-iSPgwN0kiBcX0UEiu244uxymTLG9Dj4o-0-1a343c583467b5fa99ddd5a4174bbcca)
图3-32
3.6.5 穿透
碰撞器组件中的触发器(Is Trigger)属性可以让具有物理特性的游戏对象被穿透。在两个3D游戏对象中有一个的“Is Trigger”属性被选中的情况下(见图3-33),两个3D游戏对象就可以相互穿透。
![](https://epubservercos.yuewen.com/8A3A4C/19549639508907106/epubprivate/OEBPS/Images/Figure-P60_4102.jpg?sign=1738861447-7lYDBrNMBjZMKBwODRgqn5cPaky4phXd-0-1a2e493ee84c96be96c55abf3f79a7c9)
图3-33
3.6.6 粒子系统
子系统用来在Unity3D中模拟流动的液体、烟雾、云、火焰和魔法等效果。用粒子系统模拟出这类效果与用3D模型动画和其他方法模拟出这类效果,前者更节省资源。
依次单击菜单选项“GameObject→Effects→Particle System”,就能在场景中添加一个粒子效果,如图3-34所示。
![](https://epubservercos.yuewen.com/8A3A4C/19549639508907106/epubprivate/OEBPS/Images/Figure-P61_4143.jpg?sign=1738861447-umKyfBXObnE9SskMJ0C7HhxlXRKtbuy5-0-be01bc3669d70f3be6f5f14bac3007b0)
图3-34
粒子系统有众多的选项可以挑选,也可以通过图片的方式制作出各种效果,如图3-35所示。
![](https://epubservercos.yuewen.com/8A3A4C/19549639508907106/epubprivate/OEBPS/Images/Figure-P61_4144.jpg?sign=1738861447-QcYdMRqMojIN9h3BaScl6Qs3LG3gS74f-0-9fc81a6fb4a4b50aea8fb6b150e562fb)
图3-35
3.6.7 声音播放
选中游戏对象以后,依次单击菜单选项“Component→Audio→Audio Source”就可以在游戏对象上添加音频源组件,如图3-36所示。
![](https://epubservercos.yuewen.com/8A3A4C/19549639508907106/epubprivate/OEBPS/Images/Figure-P61_4145.jpg?sign=1738861447-kTHDQYZ6TlAhAKtIiT9x6Vj11WfcvPyp-0-6bfc22755982b333241c609623a73587)
图3-36
将要播放的音频源拖到“AudioClip”属性中,完成赋值操作,如图3-37所示。
![](https://epubservercos.yuewen.com/8A3A4C/19549639508907106/epubprivate/OEBPS/Images/Figure-P62_4189.jpg?sign=1738861447-5o7bKROH0qbT7liPa2CVxI7HaUOg4Ayl-0-e1a673ffc471ac6fff136f40ba8d22ce)
图3-37
确保场景中有一个被激活的音频侦听器(Audio Listener)就可以播放音频了,如图3-38所示。
![](https://epubservercos.yuewen.com/8A3A4C/19549639508907106/epubprivate/OEBPS/Images/Figure-P62_4190.jpg?sign=1738861447-e8aPY56B3O0Om6wNuGJa4rinCIDGaraI-0-1761d36bf1c7a0ea43958c97eb0f646b)
图3-38
3.6.8 视频播放
选中一个带碰撞器(Collider)组件的游戏对象,依次单击菜单选项“Component→Video→Video Player”,即可添加视频播放器组件,如图3-39所示。
![](https://epubservercos.yuewen.com/8A3A4C/19549639508907106/epubprivate/OEBPS/Images/Figure-P62_4191.jpg?sign=1738861447-AkK2r35FZk0rryCL5RZyNY0fY0iXNMEp-0-7990bcd54fdb196b1c1cc9ab6ed39bb7)
图3-39
将要播放的视频拖到“Video Clip”属性中为该属性赋值,如图3-40所示。
![](https://epubservercos.yuewen.com/8A3A4C/19549639508907106/epubprivate/OEBPS/Images/Figure-P62_4192.jpg?sign=1738861447-JecKkuWZ5UnPjb8DkZA6vj0U6LldKX4z-0-a88922d103b4eb2372b2acc9d73fda56)
图3-40
这样播放视频只适合播放很小的视频,如果要播放比较大的视频,就需要动态载入。另外,视频播放不但可以在平面上播放,还可以在其他3D模型上播放。