Unity练习2 - 《John Lemon's Haunted

2023-12-22  本文已影响0人  我阿郑

上一节完成了游戏角色的创建。角色可以四处走动。本节为场景添加环境,设置正确的光照,并添加导航网格 (Navigation Mesh) 以使敌人可以最终游荡在鬼屋大厅!

教程地址

✅ 添加环境

在 Unity 中构建环境是一个根据制作的游戏类型不同而有所差异的过程。 环境通常需要在场景中有物理存在,因此随后要向每个模型添加碰撞体。这些部件通常是预制体,因此您不必每次都添加新的碰撞体。

创建游戏环境可能是一项非常耗费人力的过程。为节省一些重复性的工作,我们已经为该游戏创建了环境,您只需对其进行实例化即可:

Assets > Prefabs 选择 Level Prefab,将其 Project 窗口拖入 Hierarchy 以实例化该预制体。

image.png

关卡预制件 (Level Prefab) 包含多种模型,包括墙壁、地板、门、家具和装饰品。

✅ 定位玩家角色

选择 JohnLemon 游戏对象。将其 Transform 的 Position 改为 (-9.8, 0, -3.2)。
下一步是调整场景的光照

✅ 为环境设置光照

光照会对气氛产生重大影响,改变游戏中的光照是为玩家营造一个真正幽灵般环境的第一步。

Unity 中的每个新场景默认都分配了方向光 (Directional Light)。您的场景现在还具有由关卡预制件 (Level Prefab) 添加的一系列额外光源。

让我们更改方向光,使其更像月光,并创建一些有趣的阴影

✅ 创建全局光照之光照贴图 (Global Illumination Lightmapping) 效果

Unity 中有两种光照可以帮助您模拟真实的光照行为:直接 (Direct) 光照和间接 (Indirect) 光照。

直接光照来自特定的光源,例如太阳(场景中的方向光)。间接光照是当直射光从表面反弹时产生的额外光照。

image.png

这种效果通常都是在 Unity 中使用全局光照之光照贴图 (Global Illumination Lightmapping) 功能创建的。光照贴图可以模拟场景中的光反弹,并将其写入(即“烘焙”)到项目中存储的资源。这个过程需要时间,但可以产生十分逼真的场景。

为了节省时间,您可以使用近似算法来创建类似的效果:

window | Rendering | Lighting ,打开Lighting Settings 窗口:

image.png
Gradient 分为三个颜色字段:
`Sky`,用于控制从场景上方发出的环境光。
`Equator`,用于控制从地平线向场景中间传播的光线。
`Ground`,用于控制从场景下方发出的光线。

保存您的场景。您已经完成了游戏的基本光照并用来增强其幽灵般的气氛。接下来,您将创建一个【导航网格】以帮助幽灵在游戏环境中移动。

✅ 添加导航网格

鬼屋有幽灵徘徊在大厅里。

为了帮助我们的幽灵寻路,Unity 内置了一个称为 NavMesh 导航网格。导航网格 (NavMesh) 是在地面上不可见的形状,定义了一个可以让选定游戏对象在其中移动的区域

➡️ 创建导航网格

在大纲窗口右键 | AI | NavMesh Surface

image.png

这个 NavMesh Surface 就是用来烘培导航网格的。

image.png

代理的尺寸以及代理可以穿越的地形。

image.png

需要针对游戏进行调整的 Agent 的设置:

image.png

➡️ 过滤掉 Ceiling Plane(天花板) 点击Bake

关卡设计中有一个 Ceiling Plane(天花板) 游戏对象用于投射阴影。如果将这个游戏对象包含在烘焙中,幽灵可能最终会在天花板上行走!听起来很阴森可怖,但不适合本游戏。

先禁掉 CeilingPlane 点击Bake ,Bake完成后再打开CeilingPlane

完成后,Scene 窗口中的环境将被浅蓝色网格覆盖。这是幽灵能够在其中移动的环境区域。

image.png
上一篇 下一篇

猜你喜欢

热点阅读