目录
在场景中定义游戏区域之后,我们可以利用 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(使用游戏定义的辅助发送)复选框。
AkEnvironment 只会影响与设为 Environment Aware 的 AkGameObj 组件绑定的游戏对象,并以此记录环境相关属性(如发送值)。在“创建 Aux Environment”章节中,我们会进一步说明 Environment Aware 对象。 |
接下来,我们将在出发区(即 Training Area)创建 Aux Environment,并利用 Profiler 来确认指派了正确的辅助总线。藉此,来将所有设为 Environment Aware 和 Use game-defined auxiliary sends 的声音发送到为该区域选择的辅助总线。
-
在 Unity 菜单栏中,依次转到 Audiokinetic > Certification > 301 > Lesson 6,然后选择 Adding the AkEnvironment to a Trigger。
-
在 Hierarchy 中,展开 AUX Environments 游戏对象,然后选中 Training 游戏对象。
此时,将会显示与 Training 游戏对象绑定的 Mesh Trigger。为了便于演示,我们启用了半透明的 Mesh Renderer。这样您就可以看到形状的各个端面。接下来,我们只需添加 AkEnvironment 脚本,并将其指派给正确的辅助总线。
-
在 Inspector 中,单击 Add Component,然后键入并选中 AkEnvironment。
在 Inspector 中,我们会看到 AkEnvironment 脚本以及所用的 Collider。
一旦有带有 Collider 的其他游戏对象进入此 Mesh Collider,AkEnvironment 脚本就会检查该对象是否设成了 Environment Aware。若是,则将 Wwise 对象指派给所选辅助总线。
-
单击 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 内的声音整合效果。
-
在 Wwise 菜单栏中,转到 Profiler(性能分析器)布局,然后在 Advanced Profiler(高级性能分析器)的 Voices Graph(声部图)中,单击 Browse For Object(浏览对象)按钮 [...]。
-
依次展开 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 视图。
-
在 Remote Connections(远程连接)视图中,选中 Wwise Adventure Game (Editor) 并单击 Connect(连接),然后在 Unity 中按下 Play 按钮进入场景。
-
在 Training Area(训练场)内,跑向附近的石头并实施攻击。
在实施攻击时,仔细看下 Advanced Profiler 中的 Voices Graph。现在所有通过 Player_WeaponSwing Event(事件)触发的 Wwise 对象都输出到了 Training 辅助总线,并应用了 Wwise RoomVerb Effect。
接下来,我们将结果跟没有 Aux Environment 的区域对比一下。我们专门移除了 Village Trigger 上绑定的 AkEnvironment 组件,所以您不妨跑到 Village(村庄)并击打石头,然后试听下没有应用任何 Effect(效果器)的声音。
-
跑到 Village,然后找到一块石头并实施攻击。
这里的武器击打声没有使用任何辅助发送,所以您可以根据需要为区域设置 Effect。
通过将 AkEnvironment 脚本添加到预制的 Training Trigger,我们在 Training Area 中构建了 Aux Environment。在下节课程中,我们将学习如何从头开始创建 Aux Environment。