上一节完成了游戏角色的创建。角色可以四处走动。本节为场景添加环境
,设置正确的光照
,并添加导航网格 (Navigation Mesh
) 以使敌人可以最终游荡在鬼屋大厅!
✅ 添加环境
在 Unity 中构建环境是一个根据制作的游戏类型不同而有所差异的过程
。 环境通常需要在场景中有物理存在,因此随后要向每个模型添加碰撞体
。这些部件通常是预制体,因此您不必每次都添加新的碰撞体。
创建游戏环境可能是一项非常耗费人力的过程。为节省一些重复性的工作,我们已经为该游戏创建了环境,您只需对其进行实例化即可:
到 Assets > Prefabs
选择 Level Prefab
,将其 Project 窗口拖入 Hierarchy 以实例化该预制体。
关卡预制件 (Level Prefab
) 包含多种模型,包括墙壁、地板、门、家具和装饰品。
✅ 定位玩家角色
选择 JohnLemon 游戏对象。将其 Transform 的 Position 改为 (-9.8, 0, -3.2)。
下一步是调整场景的光照。
✅ 为环境设置光照
光照会对气氛产生重大影响,改变游戏中的光照是为玩家营造一个真正幽灵般环境的第一步。
Unity 中的每个新场景默认都分配了方向光 (Directional Light
)。您的场景现在还具有由关卡预制件 (Level Prefab) 添加的一系列额外光源。
让我们更改方向光
,使其更像月光,并创建一些有趣的阴影
:
- 更改方向光的Color 为 (225, 240, 250) 将会产生非常浅的蓝光,而不是黄光。
- 将 Intensity 增加到 2
- 现在,改善鬼屋中诡异阴影的质量。在 Light 组件中找到
Realtime Shadows
将其Resolution
从Use Quality Settings
更改为Very High Resolution
。 - 将 Realtime Shadows Bias 和 Normal Bias 属性设置为 0.01。
- 在 Transform 中将
Rotation
设为 (30, 20, 0)。这样将会旋转光源,使光线穿透房屋的窗户。
✅ 创建全局光照之光照贴图 (Global Illumination Lightmapping) 效果
Unity 中有两种光照可以帮助您模拟真实的光照行为:直接 (Direct) 光照和间接 (Indirect) 光照。
直接光照来自特定的光源,例如太阳(场景中的方向光)。间接光照是当直射光从表面反弹时产生的额外光照。
image.png这种效果通常都是在 Unity 中使用全局光照之光照贴图 (Global Illumination Lightmapping
) 功能创建的。光照贴图可以模拟场景中的光反弹,并将其写入(即“烘焙”)到项目中存储的资源。这个过程需要时间,但可以产生十分逼真的场景。
为了节省时间,您可以使用近似算法来创建类似的效果:
window | Rendering | Lighting
,打开Lighting Settings
窗口:
- 在 Realtime Lighting 部分中,禁用 Realtime Global Illumination 复选框。
- 在 Mixed Lighting 部分中,禁用 Baked Global Illumination 复选框。
- 在 Environment 部分中,使用 Skybox Material 属性最右边的圈选按钮将该属性设置为 None(表示 null 引用)。该游戏不需要真实的天空,而是要使用其他光照。
- 在 Environment 部分中,将 Environment Lighting Source 设置为 Gradient。
Gradient 分为三个颜色字段:
`Sky`,用于控制从场景上方发出的环境光。
`Equator`,用于控制从地平线向场景中间传播的光线。
`Ground`,用于控制从场景下方发出的光线。
- 将 Sky 颜色设置为浅灰色:(170, 180, 200) 此设置将提升地板以及床和桌子等对象的整体亮度。
- 将 Equator 颜色设置为蓝灰色:(90, 110, 130) 此设置将提升墙壁和道具的亮度。
- 将 Ground 颜色设置为黑色:(0, 0, 0) Ground 颜色可以增加向上的光线,从而产生漂亮的全局光照风格效果。但是,对于您正在创建的鬼屋来说,这太明亮了。
保存您的场景。您已经完成了游戏的基本光照并用来增强其幽灵般的气氛。接下来,您将创建一个【导航网格】以帮助幽灵在游戏环境中移动。
✅ 添加导航网格
鬼屋有幽灵徘徊在大厅里。
为了帮助我们的幽灵寻路,Unity 内置了一个称为 NavMesh 导航网格。导航网格 (NavMesh) 是在地面上不可见的形状,定义了一个可以让选定游戏对象在其中移动的区域。
➡️ 创建导航网格
在大纲窗口右键 | AI | NavMesh Surface
:
这个 NavMesh Surface 就是用来烘培导航网格的。
image.png代理的尺寸以及代理可以穿越的地形。
image.png需要针对游戏进行调整的 Agent 的设置:
image.png- Agent Radius 改为 0.25 ,游荡在鬼屋中的幽灵将小于默认大小。
➡️ 过滤掉 Ceiling Plane(天花板)
点击Bake
关卡设计中有一个 Ceiling Plane(天花板)
游戏对象用于投射阴影
。如果将这个游戏对象包含在烘焙
中,幽灵可能最终会在天花板上行走!听起来很阴森可怖,但不适合本游戏。
先禁掉 CeilingPlane
点击Bake ,Bake完成后再打开CeilingPlane
。
完成后,Scene 窗口中的环境将被浅蓝色网格覆盖。这是幽灵能够在其中移动的环境区域。
image.png
网友评论