版本

menu_open
Wwise Unreal Integration Documentation
Room 和 Portal

在现实声学环境中,封闭空间内的声音会穿透墙壁,还会通过房门和窗户等开口传到外面。Spatial Audio 可利用上层几何抽象概念(即 Room 和 Portal)来模拟这种效果。

注記: 在开始学习本教程前,请务必先完成 Spatial Audio 教程准备工作
注記: 在使用 Spatial Audio Diffraction 时,请在 Unreal Engine 端禁用声障/声笼。同时将发声体 (AkComponent) 的 Occlusion Refresh Interval 设为 0。

Wwise 工程

  1. 在 Wwise 工程中,为每个 Room 创建新的 Auxiliary Bus。
    1. 右键单击相应对象来添加子 Auxiliary Bus
    2. 依次转到 New Child > Presets,然后选择 Room Auxiliary Bus

      1. 在 Effects 选项卡中,可调节 RoomVerb 效果器。
      将混响效果器添加到 Auxiliary Bus
  2. 转到 Wwise 工程准备工作 中创建的 Sound SFX。

    1. 在 Positioning 选项卡中,确保选中 Diffraction and Transmission 复选框。
    在 Wwise 中针对声音启用衍射
  3. 保存工程。

Unreal 工程

  1. 在 Unreal 中,将新建的 Auxiliary Bus 从 Wwise Picker 拖放到 Content Browser 中。
    1. 双击这些 Auxiliary Bus,并将其指派给 SoundBank。
  2. 针对建筑的每个 Room 拖放两个 AkSpatialAudioVolume 对象(如尚未在另一教程中执行该操作)。我们使用 Fit To Geometry 来放置两个 Room。
    1. 在各个 AkSpatialAudioVolume 所对应的 Details 面板中启用 Fit To Geometry
    2. 若对最初获得的形状不满意,可使用 Transform 小组件将 AkSpatialAudioVolume 变换到新的位置。注意,在变换 AkSpatialAudioVolume 时,会显示黄色预览框线。在获得满意的形状后,松开鼠标按钮。这时 AkSpatialAudioVolume 会对齐到所需位置。
    3. 有关如何使用 Fit To Geometry 放置 AkSpatialAudioVolume 的详细信息,请参阅 Fit to Geometry 章节。
      1. 确保针对两个 AkSpatialAudioVolume 对象启用 Enable RoomEnable Late Reverb
        1. 若未学习 Reflect 教程,请将 Enable Surface Reflectors 保持设为禁用状态。
        2. 在 Late Reverb 分区中,将新导入的 Auxiliary Bus 从 Content Browser 拖放到 Aux Bus 参数。
  3. 添加两个 AkAcousticPortal 对象。

    1. 将其放在建筑物的开口附近。
      1. 为便于放置 AkAcousticPortal,请在 Details 面板中启用 Fit To Geometry 复选框。
      2. 在启用 Fit To Geometry 时,Integration 会利用周围的几何构造来查找合理的 Portal 放置位置。在使用 Transform 小组件将 AkAcousticPortal 拖到相应开口附近时,会显示黄色预览框线。在找到满意的放置位置后,松开鼠标按钮。这时 AkAcousticPortal 会对齐到所需位置。
      3. 有关如何使用 Fit To Geometry 放置 AkAcousticPortal 的详细信息,请参阅 Fit to Geometry 章节。
      4. 在将 AkAcousticPortal 放在各个门廊内之后,使用 Scale 小组件来调节各个 Portal 的深度,以获得想要的交叉淡变距离。在 AkComponent 穿过 Portal 时,Portal 越深(沿局部 X 轴),交叉淡变距离越长。这对混响发送和散布过渡来说都是适用的。
    2. 选中 Portal,然后在 Ak Portal Component 分区中将 Initial State 设为 Open
    AkPortalComponent 属性

注記: 在设置 AkAcousticPortal 的朝向时,必须确保其所连通的两个 Room 位于 Portal 的局部 Y 轴上。为了便于识别,在选中 Portal 时其周围会显示黄色条带。黄线用来分隔前后区域。在 Room 之间存在重叠时,会选用优先级最高的 Room。在 Level Editor 中设置 Room 和 Portal 时,确保将视口设为 Realtime 以便在四处移动 Portal 时正确更新 Portal 模型。

在 Level Editor 中设置 Room 和 Portal 时,确保在视口中启用 Realtime

验证所作设置

  1. 针对 Windows 生成 SoundBank。
  2. 启动场景并待在起点位置。在针对 Room 内的发声体播放 Event 时,应当能够听到相应的声音。
  3. 连接 Wwise 设计工具并转到 Game Object Profiler 布局(快捷键 F12)。在 Game Object 3D Viewer 中,应会看到:
    1. 以灰色框线表示的 Portal 模型(如 AkSpatialAudioVolume 未启用 Surface Reflector)。
    2. 以绿色框线表示的 Portal 模型。
  4. 在与听者不同的 Room 中播放声音。在 Game Object 3D Viewer 中,应会看到:
    1. 各个游戏对象所在的 Room。
    2. 声音在 Portal 边缘衍射时的传播路径及关联衍射值(依据弯曲角度在各个边缘予以显示)。
    3. 声音穿透 Room 墙壁时的传播路径及关联透射损失值。
      注記: 您可以通过更改 AkRoomComponent 中 Room 的透射损失参数来设置此透射损失值。
    4. 声音衍射和透射路径的散布声锥(如设有散布曲线)。
      Game Object 3D Viewer 及所用 Room 和 Portal

注記: 在默认情况下,衍射和透射损失值分别映射至 Obstruction 和 Occlusion 曲线。这些曲线可在设计工具内 Project Settings 的 Obstruction/Occlusion 选项卡中找到。

Obstruction Volume 曲线

Portal 和 Reverb

通过 Portal 传播的声音可进行混响处理并输出到听者当前所在 Room。以下步骤阐述了如何在 Spatial Audio Tutorial Map 中予以配置。

  1. 在 Wwise 工程中:
    1. 找到 Room Reverb 所用 Auxiliary Bus。我们希望将发出声音的 Room 的混响效果馈送到其他 Room 的混响效果中。

      1. 在 Auxiliary Bus Property Editor 的 General Settings 选项卡中,确保启用 Use game-defined auxiliary sends。
      针对 Room Auxiliary Bus 启用 Use game-defined auxiliary sends
  2. 生成 SoundBank,然后启动场景并连接到 Wwise 设计工具。
  3. 在启用了辅助发送的 Room 中播放声音,然后转到相连的 Room。

    1. 您应会看到声音信号的湿声部分还会馈送听者所在 Room 的混响效果。
    SmallRoom 的混响效果被馈送到了 LargeRoom 的混响效果中

Room Tone

有时,Room 内会有像空调嗡嗡声这样的特定环境声。为了重现这种效果,您可以针对 Spatial Audio Room 游戏对象发送 Event。在听者和发声体处在同一 Room 时,声音会被定位在听者所在位置。在听者和发声体处在不同 Room 时,听者会通过连通两个 Room 的 Portal 听到房间底噪 (Room Tone)。

  1. 在 Wwise 工程中:
    1. 创建新的 Sound SFX 并用于房间底噪。
      1. 若要将声音发送到混响效果器,则启用 Use game-defined aux sends。
      2. 在必要时,为距离衰减曲线添加衰减。
    2. 右键单击 Sound SFX,然后依次选择 New Event > Play,来创建带有房间底噪的 Play Event。
  2. 在 Unreal 中:

    1. 将前面章节中创建的 Event 从 WAAPI Picker 拖到 Content Browser 中。
    2. 在其中一个 Room 对应的 Ak Event 分区下,将此 Event 添加到 Ak Audio Event 参数。
      1. 调节 Aux Send Level 来将部分声音馈送到该 Room 的混响效果中。
      2. 您可以通过选中 Auto Post 方框来在 BeginPlay 时发送房间底噪 Event,也可调用常用的 Blueprint 函数来针对游戏对象发送 Event。
    在 Spatial Audio Volume 的 AkEvent 分区中启用 Room
    1. 在 Spatial Audio Tutorial Map 中,我们在 Level Blueprint 中使用了 Blueprint 函数来激活和停用房间底噪。

      1. 在 World Outliner 中选中带有房间底噪的 AkSpatialAudioVolume 时,右键单击 Level Blueprint 来创建引用对象。
      2. 从引用对象拖动连线,并搜索 Post Associated Ak Event。
      3. 按照相同方式搜索 Stop 函数。
      4. 添加按键作为输入节点。
      通过 Level Blueprint 播放和停止房间底噪
  3. 生成 SoundBank。
  4. 启动场景并连接到 Wwise 设计工具。
  5. 转到带有房间底噪的 Room,并按下按键来触发房间底噪。确认可以听到声音。

    1. 在 Advanced Profiler 视图中,应会看到当前触发的 Event。
    在播放房间底噪时查看 Advanced Profiler 视图
    1. 在 3D Game Object Viewer 中,可一边来回移动听者,一边察看 Room 游戏对象。

      1. 若听者和发声体处在同一 Room,则 Room 会在听者所在位置播放声音。您会看到 Room 游戏对象跟随“听者”游戏对象。
      2. 若听者和发声体处在不同 Room,则:
        1. 将 Room 游戏对象定位在 Portal 位置(来指示衍射声音的位置),并在其与“听者”游戏对象之间绘制路径。
        2. 将 Room 游戏对象定位在直达路径上的 Room 边界来指示透射声音的位置。
        3. 针对所有这些位置绘制散布声锥。
      Game Object 3D Viewer 中的 Room Tone
参见

此页面对您是否有帮助?

需要技术支持?

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

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

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

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

开始 Wwise 之旅