版本
menu_open

构建 Actor-Mixer Hierarchy 的技巧和经验总结

在 Wwise 中创建层级结构的方式非常灵活,在项目伊始就制定统一的策略可以节省后期的时间和精力。当然,处理音频工程的方法多种多样;了解这些概念可以让您的游戏获得最佳效果。

在 Actor-Mixer Hierarchy 中为对象分组

在构建层级结构之前,您需要思考组织对象的最佳方法,既要节省创作时间,又能很好地管理工程内存占用。关于如何对工程中的不同对象进行有效分组,以下是一些建议,请您根据实际需求选用。

Actor-Mixer(角色混音器)是节省内存和 CPU 的利器,因为其部分属性(例如定位和 RTPC)可以被所有子对象共享。所以组织对象的时候,可以考虑把一组对象置于 Actor-Mixer 下,这样可以:

  • 共享属性设置,方便统一处理。

  • 共享 Overrides (不沿用)属性,避免为多个子对象单独勾选 Override 和指定新值。

[注意] 注意

在 Actor-Mixer 层级使用效果器可以提高工作效率,但并不节省 CPU,因为所每个子对象都会启用该效果器。实时为各个对象处理效果可能会占用大量 CPU。

要优化内存占用,可以考虑把一组对象置于 Actor-Mixer 下,方便共享以下属性:

  • Positioning

  • RTPC

  • State

  • 随机化器

假设有一个 Actor-Mixer,其中含有 10 个声音,您希望将它们的 positioining(空间定位)设置为 3D。可以为这些声音逐个勾选 Override Parent(不沿用父选项),并设置为 3D。但更好的办法是,直接将 Actor-Mixer 的 positioning 属性设置为 3D,这样能节省 10 倍的运行时内存占用。即使只希望对部分声音进行声像摆位,将 Actor-Mixer 的定位属性设为 3D Emitter(3D 发声体)时仍可达到优化内存的效果。这时可为子对象忽略 Actor-Mixer 父对象的属性,并只将声像摆位应用于特定声音。因为,经过声像摆位的声音并不需要额外占用内存。

虽然 Actor-Mixer 通常是最好的选择,但在某些情况下,也可以选择采用 container(容器)属性,优化内存占用。例如,如果只需设置某个 container 内对象的空间定位,比如 Random Container(随机容器)中的脚步声,可以为该 container 设置定位属性来减少内存占用量,而无需设置父级 Actor-Mixer。但如果您希望结构中的所有对象共享定位属性,则应在 Actor-Mixer 上设置。

为对象分组 —— 示例

下面介绍如何运用刚刚讨论的概念,有效地在 Actor-Mixer 中为对象分组。本例中,您会处理游戏的对话素材,其中一些是角色语音,另一些是对讲机语音。可以将整组素材放在名为 Dialogue(对话)的 Actor-Mixer 中,因为您希望所有对话素材共享音量等属性。

为 Actor-Mixer 设置好音量后,接下要为对讲机语音添加 Parametric EQ(参数均衡器)效果器。您可以逐个编辑对讲机语音对象,为每一个都 override 父级 Actor-Mixer 设置,再逐个添加效果器。但还有更高效的办法:将所有对讲机语音文件放到 container 中,然后为 container 勾选 override 父级设置并添加效果器。

实时混音和对象属性

当您连接到游戏或游戏模拟器时,可以在 Wwise 中实时修改以下相对属性的值:

  • Volume

  • Pitch

  • Low-Pass Filter

  • Center %

  • RTPC 值

  • State 和 Switch 变换

  • Trigger

  • Attenuation 控件

  • 部分音频和源效果器插件属性

[备注] 备注

一般情况下,任何可映射至 Game Parameter 的属性都可在游戏中实时修改。

为了能够做到这一点,您需要加载您想在 Transport Control 或 Soundcaster 中修改其属性的对象。如果未加载对象,则更改将不会生效,因为声音引擎中未注册该对象。对于无法加载到 Transport Control 中的 Actor-Mixer,可通过加载 Actor-Mixer 的子对象在声音引擎中注册其父对象。在注册对象后,对象将在您连接到游戏时保持注册状态。

[备注] 备注

记住,如果您将对象固定在 Transport Control 中,则其它对象要到您取消固定第一个对象后才可加载。然而,如果您已将对象加载到 Soundcaster 中,则此对象将在声音引擎中注册。

相对属性和性能

在不同平台上,Wwise 的某些相对属性(如音高)可能会对性能造成影响。Wwise 中管理音高的机制是基于采样率的,改变声音的音高会增加 CPU 占用,因为必须对文件进行重新采样。


此页面对您是否有帮助?

需要技术支持?

仍有疑问?或者问题?需要更多信息?欢迎联系我们,我们可以提供帮助!

查看我们的“技术支持”页面

介绍一下自己的项目。我们会竭力为您提供帮助。

来注册自己的项目,我们帮您快速入门,不带任何附加条件!

开始 Wwise 之旅