第 2 课

目录

使用 Large 模式

在地牢中,有座古老的图书馆,角落里放着巨大的铠甲雕像,地面下还有熔岩在涌动。接下来,我们将整合熔岩环境声。但是,这里有一个问题。我们要将 Ambient_Lava Event(事件)放在哪里才能完美地呈现这一开阔区域呢?

[技巧]

假如您还没有在 Main 场景中玩遍整个游戏,现在一定要进去体验一下。尤其要熟悉下 Library(图书馆),因为本节的练习将会围绕这一环境展开。

对于有些对象,比如水流声、熔岩声或风声,假如只使用来自一个位置的声音,会很难获得逼真的听觉效果。为了解决这一问题,有些人可能会在同一区域添加大量的 Event 实例,以此将声音散布到整个空间。但是这样会增加很多声部实例,从而导致资源用量大幅上升。AkAmbient 的 Large 模式能够有效地解决这一问题。它只需使用一个声部实例就可创建多个发声点。然后,我们就可以利用这些发声点来模拟 volumetric 声音的传播。跟在 Simple 模式下添加多个游戏对象相比,这种方式占用的资源要少很多。

[技巧]

详请参阅 Audiokinetic 网站上的“为单个游戏对象创建多个位置”或“3D 定位”。

接下来,我们将把《Wwise Adventure Game》中的熔岩声设为 AkAmbient Large 模式。

  1. 在 Unity 菜单栏中,依次转到 Audiokinetic > Certification > 301 > Lesson 2,然后选择 AkAmbient Position Types

    为了体验 Library 区域目前的设置情况,我们传送到该区域来四处看一下。

  2. 单击 Play 按钮进入 Play 模式。

  3. 按下 ESC 进入游戏菜单,然后传送到 Library

  4. 围着桥中央四处转转,注意察看下面的 Lava(熔岩)区域。

    我们注意到,Lava 声音全部来自于一个方向;虽然看起来底下到处都是熔岩,但其实只有游戏对象的中心位置在发出声音。接下来,我们找到 Ambient_Lava 游戏对象,看看如何才能改善这一状况。

  5. 按下 ESC 打开《WAG》游戏菜单,然后再次单击 Play 按钮退出 Play 模式。

  6. 在 Hierarchy 中,依次转到 L2_3B - Dungeon Environment Scene > Wwise,然后选中 Ambient_Lava 游戏对象。

  7. 将鼠标移到 Scene 视图中,然后按下 F 来聚焦到 Ambient_Lava 游戏对象上。

    在 Inspector 中,我们会看到 AkAmbient 组件。您可能还记得,Event Name 的上面就是 Position Type 属性。该属性目前设成了 Simple_Mode,所以我们要修改一下。

  8. 在 Position Type 属性中,选择 Large_Mode

    Show Attenuation Sphere: 属性下会显示两个按钮。在此可单击 Add Large Mode position,来创建一个新的位置点对象作为 Ambient_Lava 游戏对象的子对象。只要游戏对象绑定了 AkAmbient Large Mode Positioner 组件,就可将其用作 AkAmbient 组件中的位置点对象。在单击 Add Large Mode position 时,会将脚本自动添加到新的游戏对象。

    [技巧]

    注意通过调节 Scene 视图来察看整个 Lava 区域。在稍后放置游戏对象时,我们会需要更加开阔的视野。

  9. 单击 Add Large Mode position

    在 Hierarchy 中展开 Ambient_Lava 游戏对象时,应当会看到 AkAmbientPoint0 游戏对象。

    所有子游戏对象的位置都是与其父对象关联的。因此,在移动 Ambient_Lava 游戏对象时会同时移动所有子位置点对象。若想只移动 AkAmbientPoint0,必须在 Hierarchy 中单独将其选中。

  10. 在 Hierarchy 中,选中 AkAmbientPoint0 游戏对象。

    接下来,我们就可以试着将子游戏对象移到发出声音的位置。

  11. 使用 Move Tool(单击 W)将 AkAmbientPoint0 游戏对象移到其中一个象限的中心。

    接下来,我们添加更多的圆点,直到每个象限中至少有两个圆点。

  12. 使用 AkAmbient Tool Bar 和 Move Tool 在各个象限中添加更多位置点对象。

    正如前面所讲的那样,我们可以在 AkAmbient 组件中启用 Attenuation Sphere。这对所有定位类型来说都是适用的。对于 Large 模式,我们将为 AkAmbient 组件中引用的每个位置点对象创建一个球体。Attenuation Sphere 是透明的,在相互重叠时,暗度会累加。这样便于评估这些游戏对象是否分布均匀,以及 Lava 声音覆盖的区域会有多大。

  13. 在 Show Attenuation Spheres 属性中,选择 Current_Event_Only

    有些球体会有重叠。我们可以根据其累加暗度来判断该区域中 Lava 声音的强度。

    接下来,我们在游戏中具体评估一下。

  14. 单击 Play 按钮进入 Play 模式。

  15. 按下 ESC 进入游戏菜单,然后传送到 Library

  16. 按下 ESC 打开《WAG》游戏菜单,然后再次单击 Play 按钮退出 Play 模式。

现在,我们可以站在边缘处将镜头拉远到 Lava 顶部,来评估是否如实地呈现了 Lava 环境声。假如您发现边缘某个位置的 Lava 呈现得不够逼真,不妨直接添加或移除该区域中的位置点对象。