美文网首页
Unity练习2 - 《John Lemon's Haunted

Unity练习2 - 《John Lemon's Haunted

作者: 我阿郑 | 来源:发表于2023-12-22 07:54 被阅读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) 添加的一系列额外光源。

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

    • 更改方向光的Color 为 (225, 240, 250) 将会产生非常浅的蓝光,而不是黄光。
    • 将 Intensity 增加到 2
    • 现在,改善鬼屋中诡异阴影的质量。在 Light 组件中找到 Realtime Shadows 将其 ResolutionUse 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 窗口:

    image.png
    • 在 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

    image.png

    这个 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

    相关文章

      网友评论

          本文标题:Unity练习2 - 《John Lemon's Haunted

          本文链接:https://www.haomeiwen.com/subject/qxdagdtx.html