购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.5 Unity3D核心系统

1. 视觉渲染系统

视觉渲染系统(Graphic)是任何一个游戏引擎中最为核心的部分,Unity的视觉渲染系统提供了丰富而强大的功能,可以让开发者轻松创作出自己所需的视觉效果。Unity的视觉渲染系统又包括以下主要子系统。

1)光照

在虚拟的世界中,为了展示更为逼真的视觉效果,需要引入现实世界中一个不可缺少的元素,那就是光照(Lighting)。为了计算某个3D游戏对象的阴影,Unity需要了解光照的强度、方向和色彩等信息。Unity支持不同类型的光源,并根据实际的情境实现复杂和高级的光照效果。

2)摄像机

Unity中提供了两种摄像机,分别是Perspective(透视)和Orthographic(正交)摄像机。其中,透视摄像机模拟的是真实世界中人眼观察世界的方式,用于创建仿真的虚拟世界。默认情况下Unity会使用透视摄像机。

3)材质、着色器和贴图

Unity的渲染是通过材质(Material)、着色器(Shader)和贴图(Texture)共同实现的。材质定义了游戏对象的表面应该如何渲染,包括色彩、表面平滑度等。着色器包含渲染每个像素所需要进行的数学计算和算法。在大多数情况下,只需使用Unity内置的标准Shader,但是通过编写自定义的Shader可以让游戏画面效果提升到更高的层次。贴图其实就是位图。某个材质中可能会引用贴图,此时该材质所使用的Shader将使用贴图计算出游戏对象的表面色彩。除了基本的色彩,纹理还提供了材质表面的诸多其他信息,如发光或粗糙程度等。

4)粒子系统

粒子系统是计算机图形渲染中常用的一种技巧,通过使用大量的小图片、3D模型或其他图形对象模拟某种“模糊”的自然现象。比较适合使用粒子系统模拟的自然对象或化学效果有火焰、爆炸、烟、水流、落叶、云彩、雾、雪、尘埃、流星尾迹、魔法效果或发光等视觉效果。此类现象使用传统的渲染技术是很难实现的,但是使用粒子系统就可以轻松实现所需要的效果。

2. Mecanim动画系统

Unity内置了一个功能强大的动画系统,名为Mecanim系统。Mecanim系统提供了简单操作的工作流程,可以轻松设置各类游戏对象的动画,包括物体、游戏角色等。

3. PhysX物理引擎系统

Unity内置了NVIDIA的PhysX物理引擎,另一个知名商业引擎UE4中同样采用了物理引擎。通过使用物理引擎系统,可以让游戏实时模拟出真实世界的部分物理法则,如刚体动力学、柔体动力学、流体动力学等。

4. 音效系统

任何一款游戏如果没有音效或者背景音乐,都是不完整的。Unity3D提供了一个强大而又灵活的音效系统。Unity内置的音效系统支持3D环绕立体声、实时混音、预定义效果等。通过该音效系统,可以导入多种格式的音频文件,并设置不同的声音效果。

5. 导航寻路系统

Unity中提供了强大而又智能的导航寻路系统,可以让角色在游戏世界中自由漫步。通过使用导航寻路系统,角色可以“理解”他们是否需要通过楼梯抵达第二层,或者跳过某个水坑。Unity的Nav Mesh系统包含Nav Mesh、NavMesh Agent、Off-Mesh Link和Nav Mesh Obstacle等元素。

6. UI系统

早期的Unity版本并不支持原生的UI系统,所以当时大多数开发者使用的是一个名为NGUI的插件,而且至今仍有一些开发者在项目中使用该插件实现Unity项目中的UI界面。从Unity4.6版本开始,Unity提供了原生的UGUI系统,可以轻松创建2D和3D的UI界面。

7. Input输入控制系统

Unity支持各种形式的传统输入设备,包括键盘、鼠标、游戏手柄、手机触摸屏,同时也支持全新的AR、VR自然交互,如Leap Motion的手势识别、HoloLens的手势识别等。此外,Unity还支持通过计算设备的麦克风和摄像头输入音频和视频信息。

8. 资源导入系统

除了Unity内置的原生游戏对象,Unity还通过强大的资源导入系统支持多种格式的外部游戏资源,包括使用3dMax、Maya或Blender等建模软件创建的3D模型,各种格式的纹理图片,各种格式的音频文件、视频文件、字体文件等。

9. Scripting(脚本)系统

脚本是所有游戏的必要元素。即便是最简单的游戏也需要脚本,从响应玩家的输入到实现特定的游戏逻辑,都离不开脚本。此外,有经验的开发者还可以直接通过脚本创建视觉渲染效果,控制游戏对象的物理行为,甚至实现角色的AI系统。

10. 2D系统

Unity的设计初衷是为了帮助开发者开发3D游戏、实现3D的建筑设计以及漫游和VR系统,而无须支付传统商业游戏引擎那样高昂的授权费。早期的Unity对2D的支持很差,但是随着手游时代的兴起,2D游戏再次占据了市场的主流。而一向审时度势的Unity也在4.3版本中提供了对2D游戏开发的支持。

11. AR/VR支持系统

Unity诞生之初,就提供了对虚拟现实应用开发的支持。而随着AR/VR时代的来临,Unity VR系统内置了对多款AR/VR设备的原生支持,包括HTC Vive、Oculus Rift、Google Daydream VR、Samsung Gear VR、HoloLens等。 nHptAhk3tg6Q/oM4cQc9NFHTF8ZlPjE0yzN92jtC0o/xpzl8w+iqiFyD2VgyVsH7

点击中间区域
呼出菜单
上一章
目录
下一章
×