menu
版本
2023.1.14.8770
2024.1.6.8842
2023.1.14.8770
2025.1.0.8897
2022.1.19.8584
2021.1.14.8108
2019.2.15.7667
2019.1.11.7296
2018.1.11.6987
2017.2.10.6745
2017.1.9.6501
2016.2.6.6153
2015.1.9.5624
menu
2024.1.6.8842
2023.1.14.8770
2025.1.0.8897
2022.1.19.8584
2021.1.14.8108
2019.2.15.7667
2019.1.11.7296
2018.1.11.6987
2017.2.10.6745
2017.1.9.6501
2016.2.6.6153
2015.1.9.5624
通过使用 Switch Container(切换容器),您可以根据游戏内的不同条件变化来为对象编组。在 Switch Container(切换容器)中,Swtich(切换开关)或State(状态)被用来代表各个不同条件。例如,可以为角色行走时的所有不同表面材质创建一个切换容器。容器中可能包含与水泥、木材、草地、雪地及游戏中角色可能踩到的其他表面材质对应的 Switch。
![]() |
每个切换开关/状态对应于与该条件有关的声音对象。例如,所有混凝土上的脚步声可编组至“Concrete”切换开关,所有木头上的脚步声可编组至“Wood”切换开关,以此类推。当游戏调用切换容器时,Wwise 会验证当前哪个 Switch/State 处于激活状态,以决定播放哪个容器或声音。
下图说明当事件调用“Footsteps”切换容器时发生的情况。该容器根据游戏中角色可行走的不同表面材质将声音编组。在本例中有两个切换开关:Grass 和 Concrete。当该事件调用切换容器时,角色走在草地上(切换开关 = Grass),因此会播放草地上的脚步声。随机容器用于将切换开关内的脚步声编组,因此当角色每次踏到同一表面时,都会播放不同的声音。
![]() |
创建切换容器时,您必须定义该容器应该是基于状态、切换开关,还是 RTPC。一方面,您可以在切换容器的属性编辑器中选择切换开关或状态;另一方面,RTPC 可以关联至 Switch Group Property Editor 中的切换开关组。有关 RTPC(实时参数控制)如何与切换开关进行关联的详细信息,请参阅“Mapping Game Parameter values to Switches”一节。
决定切换开关容器类型后,您还必须为该容器指派切换开关或状态组。这定义了可供指派对象所用的 Switch/State/RTPC。
在为容器指派状态或切换开关组,或将 RTPC 关联至切换开关之前,您必须先创建它们。有关创建切换开关组、状态组和 RTPC 的信息,请参阅:
定义 Switch Container 的类型:
将 Switch Container 容器加载至 Property Editor 中。
在 Switch Type 分组中,根据需要选择以下选项:
Switch,容器将基于游戏切换开关。
State,容器将基于游戏状态。
从 Group 列表中,选择要指派至容器的切换开关或状态组。
组内的 Switch/State 将显示在内容编辑器的 Assigned Objects 面板中。
从 Default Switch/State 列表中,选择当游戏无法确定切换开关或状态时,应该播放哪个默认 Switch/State。
由于切换开关或状态可在游戏中随时更改,因此您需要决定对象是立即应用更改,还是下次播放切换容器时再应用更改。Wwise 提供以下播放模式:
Step
Continuous
您可针对 one-shot 声音(一次播放一个的声音,如脚步声)使用 Step 选项。而 Continuous 选项对于持续循环的对象(如单板滑雪声)则更为实用。
定义切换容器播放模式的方法如下:
将 Switch Container 容器加载至 Property Editor 中。
在 Play Mode 分组中,根据需要选择以下选项:
Step,不论播放过程中切换开关是否更改,仅在触发新的播放事件后播放不同的对象。
Continuous,只要检测到新的 Switch/State,就播放新对象。当选择 Continuous 时,切换播放对象不需要新的播放事件。
您必须将 Switch Container(切换开关容器)内的对象指派给特定的 Switch 或 State(状态)。
通过将对象和其它容器添加至 Contents Editor 中的 Assigned Objects 面板,即可将对象指派至切换开关。您可以按住 Ctrl 或 Shift 键同时点击多个对象,然后同时添加或移除它们,来更快地指派对象。若将多个对象指派给某个 Switch,则会在 Wwise 内和游戏中运行时同时予以播放。
在大多数情况下,会指派 Switch Container(切换开关容器)中已有的对象。不过,也可能需要将对象直接从 Project Explorer(工程资源管理器)的 Audio(音频)选项卡拖到 Switch/State(切换开关/状态)上。这些对象将被从当前位置移动到切换容器中。如果您要创建对象的副本,而不是移动它,则可按住 Ctrl 键,同时将该对象从 Project Explorer 的 Audio 选项卡中拖拽至 Assigned Objects 面板中的 Switch/State 上。
为 Switch/State 指派/移除对象的方法如下:
将 Switch Container 容器加载至 Property Editor 中。
容器内的对象将显示在 Contents Editor 中。
要将对象指派至 Switch/State,请将其从 Contents 面板中拖至 Assigned Objects 面板中的 Switch/State 上。
对象将被添加至 Switch/State。
info | 备注 |
---|---|
必须将对象直接拖拽至切换开关或状态的名字上。 |
要从 Switch/State 中移除对象,请在 Assigned Objects 面板中点击要移除的对象。
按 Delete 键。
该对象将从 Switch/State 中移除,但仍保留在 Contents 面板中。
如果首次将对象指派至 Switch/State 时出现错误,或是要移动对象,您则可以随时将它们移动至新位置。
check_circle | 技巧 |
---|---|
要同时移动多个对象,则请按住 Ctrl 键并点击各个对象,然后将它们拖至新位置。 |
在 Switch 或 State 之间移动对象:
在 Contents Editor 的 Assigned Objects 面板中,选择要移动的若干个对象。
将对象拖拽至新的 Switch/State。
对象将被指派至新的 Switch/State。
由于在游戏内,切换开关和状态会经常变化,因此您需要决定在发生变化时,切换容器内的各个对象将如何反应。可以选择以下播放行为:
Play —— 决定是每次切换被触发时都重新播放对象,还是仅当触发的 Switch/State 发生变化时才重新播放对象。
Across Switches(多个切换开关):决定在触发新的 Switch/State 时是否继续播放指派给多个 Switch 的同一对象。
Fade In(淡入):决定在触发新的 Switch/State 时是否要淡入到新的对象。
Fade Out(淡出):决定在触发新的 Switch/State 时是否要从现有对象淡出。
定义切换容器内对象播放行为的方法如下:
将 Switch Container 容器加载至 Property Editor 中。
容器内的对象将显示在 Contents Editor 中。
在 Play 列中选择 1st only 选项,那么将仅当 Switch/State 有变化时才播放该对象。如果您不勾选 1st only 选项,那么游戏每次触发切换容器时,无论 Switch/State 是否有变化,都将播放该对象。
在 Across Switches 列中选择 Continue to play 选项,那么如果音频对象同时指派至源和目标 Switches/States ,则在 Switch/State 变化期间对象将继续播放。如果您不勾选 Continue to play 选项,那么对象将停止并从开头重新播放。
info | 备注 |
---|---|
Across Switches 选项仅适用于 Continuous 播放模式。 |
如果您希望在 Switch/State 发生变化时让新对象淡入,则请在 Fade-In 文本框中输入时间长度。
info | 备注 |
---|---|
Fade-In 选项仅在 Continuous 播放模式下可用。 |
如果您希望在 Switch/State 发生变化时让现有对象淡出,则请在 Fade Out 文本框中输入时间长度。