目录
要想在 Unity 中发送 Wwise Event(事件),Wwise 必须获取以下两条信息:
-
被引用的游戏对象
-
触发方式
除非另有说明,否则 Event(事件)均指 AkEvent 脚本所添加到的游戏对象。声音引擎将通过引用该游戏对象来计算距离衰减、Game Parameter(游戏参数)值、Switch(切换开关)等。在 AkEvent 组件中,我们会看到 Trigger On 属性。在此,可选择各种触发方式。
接下来,我们添加 301_Campfire 游戏对象,发送与其关联的 Ambient_Campfire_Play Event,并试听 3D 空间中的声音效果。
在《Wwise Adventure Game》中,听者绑定在 Main Camera 上而非 Player 上。因此,在实施距离衰减时,计算的都是声音相对于 Main Camera 的距离。 |
-
在 Unity 菜单栏中,依次选择 Audiokinetic > Certification > 301 > Lesson 1 > Playing your first Wwise Event。
首先,我们要找到 301_Campfire Prefab,并将其作为新的游戏对象拖到 Scene 视图中。
-
在 Project 视图中,搜索 Campfire(篝火)。
当然,您也可以选择在《Wwise Adventure Game》中添加其他各种 Prefab 和游戏对象。
假如 Project 视图中没有显示列表,您可以将右下角滑杆拖到最左端来切换查看方式。 |
-
将 301_Campfire Prefab 拖到 Scene 视图中。
-
使用 Move Tool(单击 W)将其放在 Training Area(训练场)的空地上。
现在,我们将游戏对象添加到了场景中。接下来,可以发送与其关联的 Event。正如前文所述,我们可以使用 Wwise Picker 将 Event 快速添加到游戏对象。
-
在 Wwise Picker 中,依次展开 Events > Ambient > General,然后选中 Ambient_Campfire_Play。
-
将 Ambient_Campfire_Play Event 从 Wwise Picker 拖到 Hierarchy 中的 301_Campfire 游戏对象上。
就这么简单!在将 Ambient_Campfire_Play 拖到 301_Campfire 游戏对象上时,系统会自动地将 Event 设为 Ambient_Campfire_Play 并添加播放 Event 所需的脚本(AkAmbient 和 AkGameObj)。在游戏启动时,将从 General SoundBank 加载声音,并通过引用 Campfire 游戏对象来发送对应的事件。假如在运行时移动该游戏对象,声音也会随着游戏对象变换位置。为了验证 Ambient_Campfire_Play 的集成效果,我们要进入 Play 模式来具体试听一下。不过,在此之前最好切换布局以便同时查看 Scene 和 Game 视图。
-
在 Unity 菜单栏中,依次单击 Window > Layouts,然后选择 2 by 3。
-
单击 Play。
-
在面朝 301_Campfire 游戏对象时,通过拖动鼠标来旋转镜头。
声音在声景中的朝向会随着镜头相对于 301_Campfire 游戏对象的位置变换。虽然 AkAudioListener 组件(听者)绑定在 Main Camera 上,但声音却是从该游戏对象的中心发出来的。所以,相对距离和角度会影响听觉效果。
-
按下 P 来显示鼠标,然后在 Hierarchy 中选中 301_Campfire 游戏对象。
您也可以在 Scene 视图中选中 301_Campfire 游戏对象;不过,这样的话必须确保选中的不是 301_Campfire 游戏对象的子对象而是顶部关联有声音事件的父对象。
-
使用 Move Tool(单击 W)来移动 Campfire 游戏对象,使其远离 Main Camera。
因为 Ambient_Fire_Campfire Sound SFX(音效)应用了 3D 空间化,并且针对 301_Campfire 游戏对象发送了 Ambient_Campfire_play 事件,所以游戏会随着游戏对象位置的改变不断更新声音的位置。最后,我们将布局重置为 Default 以便完成后面的练习。
-
在 Unity 菜单栏中,依次选择 Window > Layouts > Default。
利用 Wwise Unity Integration 脚本,只要事先加载了包含该 Event 的 SoundBank(音频包),就可将该 Event 快速地从 Wwise 集成到游戏中。