目录
有些声音并没有与实际游戏对象关联。比如,第 2 课中添加的宝石掉落地面的声音。对此,该如何进行定位呢?在宝石从 Wwizard(魔法师)的魔杖上掉落时,不妨假设其掉到了 Wwizard 面前的地上并碎裂成了很多片。为了营造真实感,可让宝石听起来好像落在了一米左右的地方。有时偏左一点,有时偏右一点。因为并不存在实际的“宝石”游戏对象,所以 Wwise 没有可以利用的坐标信息。因而,也无法像前面练习中那样在 3D 空间中定位宝石。不过,我们可以利用 Wwise 来逼真地模拟将声音对象放到 3D 空间中的效果,即便游戏中并没有与声音对应的游戏对象也无妨。为此,可通过 3D Position Automation 来加以实现。
首先,我们需要配置宝石音效,以便为其应用 3D Spatialization。为此,可按照与 "Teleporter" Sound SFX 相同的方式来进行设置。
-
在 Project Explorer(工程资源管理器)的 Audio(音频)选项卡中,选中 Gem Drop Sequence Container(序列容器),然后在 Property Editor(属性编辑器)中选中 Positioning(定位)选项卡。将 3D Spatialization(3D 空间化)属性设为 Position + Orientation(位置 + 朝向),然后在 Attenuation(衰减)分组下选择 Object_Attenuation ShareSet(共享集)。
在此并不需要像前面练习中那样单击 Attenuation 分组中的 Edit...(编辑...)按钮。现在会将之前针对 "Teleporter" Sound SFX 配置的所有距离衰减设置自动应用于 "Gem Drop" Sequence Container,因为两者引用的都是 "Object_Attentuation" ShareSet。我们只需设定宝石落地声在 3D 空间中相对于听者的位置即可。为此,可通过 Position Editor 来加以实现。
-
在 3D Position(3D 定位)分组中,选择 Listener with Automation(听者自动化),然后单击 Automation...(自动化...)按钮。
Position Editor 的窗口打开了。这个编辑器是款功能强大且用法灵活的工具,方便在 3D 空间中自行定义声音的动态运动效果,而无需反复地与程序员进行沟通。对于营造环境空间比如鸟儿从头顶飞过,或者古旧建筑中吱吱嘎嘎的声响来说,这个工具简直棒极了。接下来,我们要使用 Position Editor 来让宝石落地声听起来更加逼真。为此,可向宝石落地弹跳的声音添加位置变化。
在 Position Editor 中可以完成声源动态移位的设计,方法是使用 path(路径),也即用户定义的运动轨迹,声音对象会沿着这些轨迹运动。
-
在 Paths(路径)分组中,单击 New(新建)。
这时坐标图中会显示一个圆点。它代表声音相对于听者的发出位置。其中,方框中心代表听者所在位置。因为宝石刚开始并不会掉到离 Wwizard 很远的地方,所以可将默认控制点的位置设在中心附近。
-
向下拖动控制点。
在最初的触地声之后宝石会碎裂,当碎片在地上弹跳时,发声位置会与之前略有不同。为此,可通过在坐标图中双击来添加更多控制点,以此创建宝石落地声所遵循的路径。
-
添加更多控制点,并略微变动位置。
这些圆点之间有线相连,线条显示出 3D 空间中声音运动将遵从的轨迹。
您可能也注意到了,Position Editor 的底部设有一条时间线。并且,每次在坐标图中添加控制点时,时间线上都会对应生成时间点。这条时间线用于指示游戏中的虚拟对象从一点移动到另一点所需的时间。宝石落地声只会持续几秒钟。为此,我们可以调节整条时间线的长度,让其更接近实际听到的落地声时长。
-
单击 Configure Timeline...(配置时间线...)按钮,然后将 Length(长度)属性改为 2 秒。单击 OK(确定)。
在现实世界中,宝石在落地后并不会总是遵循同样的路径弹跳。为了进一步增强真实感,我们可以创建多条路径,并让每次的宝石落地声采用不同的路径。
与其从头开始创建一条新的路径,不如多次复制现有路径,稍后再对这些路径进行修改,以此针对宝石落地声创建不同的运动轨迹。
-
在选中 Gem Drop_Path 的情况下,右键单击并选择 Copy to Clipboard(复制到剪贴板)。
另外,也可在 Paths 列表中选中路径并按下 Ctrl+C 来进行复制。
这时会将当前路径复制到剪贴板。
-
按下 Ctrl+V 六次来新建六条路径。
-
选择其中一条路径并改变上面圆点的位置,改到没有完全相同的路径为止。
差不多都搞定了。你只需要再做一些调节。首先,我们要指明每次宝石落地时都会随机选择一条路径。
-
单击选中 Random(随机)选项。
现在,每次播放宝石落地声时都会随机选择一条之前创建的路径来连续触发声音。
-
在 Play Mode(播放模式)区域,选择 Continuous(连续)。
-
播放 Gem Drop Sequence Container(序列容器)并试听设置效果,然后关闭 Position Editor(位置编辑器)。