3.6 其他常用内容

3.6.1 3D模型

Unity可以导入多种格式(见表3-1)的3D模型,但是并不是对每一种外部模型的属性都支持。不过,在Unity中建议使用“.fbx”格式的3D模型。

表3-1 Unity支持多种格式的3D模型

可以通过将图片资源直接拖曳到模型上,从而生成模型的贴图。此外,Unity3D还提供了一些简单的基础模型,如立方体、球体等,如图3-24所示。

图3-24

3.6.2 刚体

当为一个包含碰撞器(Collider)组件的游戏对象添加了刚体(Rigidbody)组件后,该游戏对象就变成一个可以赋予物理特性的游戏对象,如图3-25所示。其中,可以设置刚体的质量(Mass)、阻力(Drag)、是否受重力影响(Use Gravity)等,如图3-26所示。

图3-25

图3-26

刚体的边缘并不是模型的边缘,而是由模型的碰撞器(Collider)组件来决定的。碰撞器属性默认与模型一样,但是可以编辑大小,即图3-27中的外部线框(在软件中应该显示为绿色线框)。另外,导入的3D模型默认没有碰撞器组件。

图3-27

3.6.3 重力

在Unity3D虚拟空间中,默认的重力和地球的重力一样。

依次单击菜单选项“Edit→Project Settings→Physics”(见图3-28),打开设置重力的窗口中,可以在“Gravity”选项中编辑重力的大小和方向(见图3-29)。

图3-28

图3-29

3.6.4 物理特性

依次单击菜单选项“Assets→Create→Physic Material”可以添加物理特性材质,如图3-30所示。

图3-30

其中,可以设置移动中的动态摩擦力(Dynamic Friction)、静态摩擦力(Static Friction)、弹力(Bounciness),数值都是0到1的浮点数,0最小,1最大,如图3-31所示。

图3-31

将该资源拖入碰撞器组件的“Material”属性之后,就可以让该游戏对象拥有对应的物理特性,如图3-32所示。

图3-32

3.6.5 穿透

碰撞器组件中的触发器(Is Trigger)属性可以让具有物理特性的游戏对象被穿透。在两个3D游戏对象中有一个的“Is Trigger”属性被选中的情况下(见图3-33),两个3D游戏对象就可以相互穿透。

图3-33

3.6.6 粒子系统

子系统用来在Unity3D中模拟流动的液体、烟雾、云、火焰和魔法等效果。用粒子系统模拟出这类效果与用3D模型动画和其他方法模拟出这类效果,前者更节省资源。

依次单击菜单选项“GameObject→Effects→Particle System”,就能在场景中添加一个粒子效果,如图3-34所示。

图3-34

粒子系统有众多的选项可以挑选,也可以通过图片的方式制作出各种效果,如图3-35所示。

图3-35

3.6.7 声音播放

选中游戏对象以后,依次单击菜单选项“Component→Audio→Audio Source”就可以在游戏对象上添加音频源组件,如图3-36所示。

图3-36

将要播放的音频源拖到“AudioClip”属性中,完成赋值操作,如图3-37所示。

图3-37

确保场景中有一个被激活的音频侦听器(Audio Listener)就可以播放音频了,如图3-38所示。

图3-38

3.6.8 视频播放

选中一个带碰撞器(Collider)组件的游戏对象,依次单击菜单选项“Component→Video→Video Player”,即可添加视频播放器组件,如图3-39所示。

图3-39

将要播放的视频拖到“Video Clip”属性中为该属性赋值,如图3-40所示。

图3-40

这样播放视频只适合播放很小的视频,如果要播放比较大的视频,就需要动态载入。另外,视频播放不但可以在平面上播放,还可以在其他3D模型上播放。