menu
目录
在前面的“利用 Wwise 专有属性设置 Switch”章节中,我们学习了如何为 Player 的脚步声设置 Surface_Type Switch(切换开关)。除此之外,Impact_Weapon_Type Switch Container 也使用了相同的 Switch Group(切换开关组)。该 Switch Container(切换容器)会在 Player 的武器击中物体表面时调用。Footstep_Surface 和 Impact_Weapon_Type Switch Container 都是由 Player 触发的,而且使用了相同的 Switch Group。那么,在移动和攻击动作之间交替切换时会发生什么呢?两个 Switch Group 之间难道不会相互干扰吗?
接下来,我们捕获 Profiler Session(性能分析器会话),来看看 Switch 的变换。因为在此并不需要修改属性或场景素材,所以我们可以使用完整版本游戏的 Main 场景。
-
在 Unity 菜单栏中,依次转到 Audiokinetic > Game Scenes,然后选择 Main Only。
-
单击 Play 按钮进入 Play 模式,然后在 Wwise 中单击 Connect(连接)来连接《WAG》。
-
按下 E 跳过提示会话,直到在 Game 视图中看到冒险家。
-
在 Training Area(训练场)内,跑向附近的石头并实施攻击。
-
在草地和泥地上走几步,然后再次击打石头。
-
再次单击 Play 按钮,退出 Play 模式。
-
在 Wwise 的 Capture Log(捕获日志)中,单击 Display options(显示选项)眼睛图标。
-
在 Types(类型)中,取消选中 Switches(切换开关)和 Events(事件)以外的所有其他选项,然后关闭选项卡。
接下来,我们仔细看下 Capture Log。
-
在 Capture Log 的 Wwise Object Name(Wwise 对象名称)列中,找到第一条 Player_WeaponImpact Object 日志条目,并注意上面设置的 Surface_Type Switch。
因为 Player 的 Sword 击打了 Stone,所以将把 Surface_Type Switch 设为 Stone。相应地,我们会听到武器击打石头的声音。
我们注意到,之前已经将 Surface_Type 设为了 Grass。这时 Switch 用于了 Player_Footstep Switch Container。记住这一点,并搜索第二条 Player_WeaponImpact 日志条目。
-
在 Capture Log 的 Wwise Object Name 列中,找到第二条 Player_WeaponImpact Object 日志条目。
这时会再次听到 Weapon 击打石头的声音,尽管上一 Surface_Type Switch 日志条目为 Grass。这是因为 Grass Surface_Type 设在了 Player 的双脚(toe_left 和 toe_right 游戏对象)上而非 Player_WeaponImpact 所用的游戏对象上。两者是不同的。相反,Player_WeaponImpact 是关联到 WeaponHolder 游戏对象的,而该游戏对象在将 Surface_Type Switch 设为 Stone 之后并没有发生变化。由此可见,我们可以将 Switch 有效地用在多个游戏对象上。只要不将其重复用在同一游戏对象上,其相互之间就不会产生干扰。