第 6 课

目录

将 AkEnvironment 添加到 Trigger

在场景中定义游戏区域之后,我们可以利用 Trigger 来封装空间,并检测是否有其他 Trigger 进入。在《Wwise Adventure Game》和本项认证课程中,我们将把此 Trigger 及其组件 称为 Aux Environment(辅助环境)以免跟 Audio Environment(音频环境)混淆(后者在《Wwise Adventure Game》中指的是区域专有场景)。

我们可以通过 Wwise Unity Integration 中附带的 AkEnvironment 脚本来创建 Aux Environment。在将此脚本添加到 Trigger 后,一旦进入 Trigger,便会将与设为 Environment Aware 的 AkGameObj 组件绑定的所有游戏对象指派给相应的辅助总线。

关键一点,Wwise 还要获知哪些声音需要通过游戏来控制其 Auxiliary Send,以便针对相应的 Audio Object(音频对象)选中 Use game-defined auxiliary sends(使用游戏定义的辅助发送)复选框。

[备注]

AkAmbient 只会影响与设为 Environment Aware 的 AkGameObj 组件绑定的游戏对象,并以此记录环境相关属性(如发送值)。在“创建 Aux Environment”章节中,我们会进一步说明 Environment Aware 对象。

接下来,我们将在出发区(即 Training Area)创建 Aux Environment,并利用 Profiler 来确认指派了正确的辅助总线。藉此,来将所有设为 Environment Aware 和 Use game-defined auxiliary sends 的声音发送到为该区域选择的辅助总线。

  1. 在 Unity 菜单栏中,依次转到 Audiokinetic > Certification > 301 > Lesson 6,然后选择 Adding the AkEnvironment to a Trigger

  2. 在 Hierarchy 中,展开 AUX Environments 游戏对象,然后选中 Training 游戏对象。

    此时,将会显示与 Training 游戏对象绑定的 Mesh Trigger。为了便于演示,我们启用了半透明的 Mesh Renderer。这样您就可以看到形状的各个端面。接下来,我们只需添加 AkEnvironment 脚本,并将其指派给正确的辅助总线。

  3. 在 Inspector 中,单击 Add Component,然后键入并选中 AkEnvironment。

    在 Inspector 中,我们会看到 AkEnvironment 脚本以及所用的 Collider。

    一旦有带有 Collider 的其他游戏对象进入此 Mesh Collider,AkEnvironment 脚本就会检查该对象是否设成了 Environment Aware。若是,则将 Wwise 对象指派给所选辅助总线。

  4. 单击 AuxBus Name,然后依次展开 Wwise 301 > Auxiliary Busses > Default Work Unit > Master Audio Bus > World > AUX > Region_Village,并双击 Training 辅助总线。

    搞定!在直接绑定脚本并设置辅助总线名称后,只要针对 Wwise 对象选中了 Use game-defined auxiliary sends 复选框,就会为该区域内的所有 Environment Aware 声音应用相应辅助总线上插入的效果器。接下来,我们连接 Profiler 并验证 Trigger 内的声音整合效果。

  5. 在 Wwise 菜单栏中,转到 Profiler(性能分析器)布局,然后在 Advanced Profiler(高级性能分析器)的 Voices Graph(声部图)中,单击 Filter(筛选器)旁的“浏览”按钮 [...]

  6. 依次展开 Master-Mixer Hierarchy > Default Work Unit > Master Audio Bus > World > AUX > Region_Village(Master-Mixer 层级结构 > 默认工作单元 > 主音频总线 > World > AUX > Region_Village),然后选中 Training 辅助总线,并单击 OK(确定)。

    现在 Profiler 设置好了,接下来我们连接游戏。为了在试玩游戏的同时更好地分析游戏对象性能,最好并排放置 Wwise 和 Unity。这样就可以同时察看 Advanced Profiler 和 Game 视图。

  7. Remote Connections(远程连接)视图中,选中 Wwise Adventure Game (Editor) 并单击 Connect(连接),然后在 Unity 中按下 Play 按钮进入场景。

  8. Training Area(训练场)内,跑向附近的石头并实施攻击

    在实施攻击时,仔细看下 Advanced Profiler 中的 Voices Graph。现在所有通过 Player_WeaponSwing Event(事件)触发的 Wwise 对象都输出到了 Training 辅助总线,并应用了 Wwise RoomVerb Effect。

    接下来,我们将结果跟没有 Aux Environment 的区域对比一下。我们专门移除了 Village Trigger 上绑定的 AkEnvironment 组件,所以您不妨跑到 Village(村庄)并击打石头,然后试听下没有应用任何 Effect(效果器)的声音。

  9. 跑到 Village,然后找到一块石头并实施攻击

    这里的武器击打声没有使用任何辅助发送,所以您可以根据需要为区域设置 Effect。

通过将 AkAmbient 脚本添加到预制的 Training Trigger,我们在 Training Area 中构建了 Aux Environment。在下节课程中,我们将学习如何从头开始创建 Aux Environment。