menu
 
版本
2019.2.15.7667

2024.1.5.8803

2023.1.13.8732

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_open
Wwise Unity Integration Documentation
Room 和 Portal 教程

本教程将展示如何结合 Spatial Audio 使用 Room 和 Portal。以下章节会详细讲解相关步骤:

info 备注: 本教程假定您已完成 Spatial Audio 教程准备工作 。不过,并不要求完成 Surface Reflector 教程 ;两个教程并不相干。假如您已完成 Surface Reflector 教程 并希望接着学习本教程,直接使用原有工程即可,无需对场景做任何改动。如果您想重新开始且已完成 Surface Reflector 教程 ,那么仍可沿用相同的场景。

A. Wwise Project(工程)

对于本教程,为了在发声体被障碍物阻挡时通过 Portal 传播衍射声音,我们需要添加 Reverb Effect,并修改 Obstruction 曲线。

  1. 使用 Room 预设添加两条 Auxiliary Bus。
    1. 右键单击 Master Audio Bus,然后依次转到 New Child > Presets,并选择 Room Auxiliary Bus。
    2. Effects 选项卡中,为每个 Room 选择不同的效果器。比如,为 SmallRoom 选择 Rooms/Room_Medium,为 LargeRoom 选择 Cathedrals/Medium。
      Auxiliary Bus Property Editor Effects tab for rooms
  2. 修改 Spatial Audio 教程准备工作 中添加的 Sound SFX
    1. 在 Positioning 选项卡中,通过选中对应复选框来 Enable Diffraction。
      在 Sound Property Editor 的 Positioning 选项卡中 Enable Diffraction
  3. 依次转到 Project > Project Settings > Obstruction/Occlusion
    1. 根据需要调节 Obstruction VolumeObstruction LPF 曲线。比如,我们在 Wwise Unity Demo Scene 工程中使用了如下曲线:
      曲线 点 1 点 2
      X Y X Y
      Obstruction Volume 0 0 100 -3
      Obstruction LPF 0 0 100 60
    2. Obstruction Volume 曲线如下图所示:
      Wwise Project Settings 中的 Obstruction/Occlusion 曲线
  4. 保存工程。
  5. 在 Unity 工程中,在 Wwise Picker (Windows > Wwise Picker) 内刷新 SoundBank
    1. 生成 SoundBank
      Wwise Picker

B. Room

我们需要指定 Room 在场景中的位置。为此,我们将使用 AkRoom 组件。

  1. 在 Wwise Unity Demo Scene 的教程场景中,我们添加了 Cube Mesh 来代表建筑中每个 Room 的内侧。假如您刚完成 Surface Reflector 教程 ,可使用带有 AkSurfaceReflector 组件的 GameObject。
    1. 添加 Cube (GameObject > 3D Object > Cube)
    2. 移除 Mesh Renderer 组件。
    3. Box Collider 组件中选中 Is Trigger
    4. 添加 AkRoom 组件。
      1. Reverb Aux Bus 选取相应的 Auxiliary Bus。
      2. 警告消息会提示将 Rigidbody 组件添加到 Room。注意,执行该操作后将允许在 AkRoomAkRoomAwareObject 组件之间进行交互。我们可以按照下一步所述来添加这些组件。
        AkRoom 组件

因为要使用 Room,所以必须通过添加 AkRoomAwareObject 组件来将所有听者和发声体设为 Room Aware。

  1. 已经有 AkRoomAwareObject 组件自动添加到了 Spatial Audio 听者,请确保该组件处于启用状态。
    AkRoomAwareObject 组件
  2. 您可能会看到两条警告消息(如上图所示)。
    1. 第一条提示需要将 Rigidbody 组件添加到 Room 或当前对象。若 Room 尚未绑定该组件,请单击 Add Rigidbody
    2. 第二条是关于 Collider 的警告消息。每个 AkRoomAwareObject 都要具有 Collider 才能与 AkRoom 组件进行交互。

C. Portals(门户)

在听者与发声体在不同房间内时,声音会被完全遮蔽。为了通过所需开口传播来自 Room 的声音,我们需要添加 Portal。在 Wwise Unity Demo Scene 中,我们需要两个 Portal:一个设在外部区域和 Small Room 之间的开口上,另一个设在两个 Room 之间。

  1. 创建两个 AkRoomPortal 组件 (GameObject > Wwise > Room Portal),并将其放在开口附近。
  2. Scene 窗口中,Portal 周围显示有黄色条带(用来指示门户大小)及其所应设置的朝向。红色线条用来划分 Portal 的前后区域。其中,局部 Z 轴所指方向为前部。
    在 Scene 窗口中创建 AkRoomPortal 组件
  3. AkRoomPortal 组件中:
    1. Open On 设为 Start。
    2. Close On 设为 Nothing。
    3. 确保 Back Room 和 Front Room 显示正确的 AkRoom 组件。
  4. Small Room 和外部区域之间的 Portal 的 AkRoomPortal 组件应如下图所示:
    AkRoomPortal 组件

D. 验证设置

  1. 若要查看场景中绘制的声音传播路径,请将 AkSpatialAudioDebugDraw 组件添加到发声体。
    1. 勾选 Draw Diffraction Paths 选项。
      AkSpatialAudioDebugDraw 组件
  2. 启动游戏。
    1. 确保 Room 中至少有一个声音在播放。
    2. 在听者和发声体不在同一 Room 时,应可在 Scene 窗口中看到一条代表声音穿过 Portal 的路径(显示为绿色)。衍射点处会显示应用于声音的衍射百分比。
      衍射路径穿过 Portal – 俯视图
  3. 连接 Wwise 并转到 Game Object Profiler 布局(快捷键 F12)
    1. 确保在 Game Object 3D Viewer Settings 中启用 Diffraction Paths(如尚未启用)。
      在 Game Object 3D Viewer Settings 中为 Portal 启用 Diffraction Paths
    2. 在 Game Object 3D Viewer 中:
      1. 应会看到来自不同发声体的衍射路径穿过 Portal 到达听者所在位置。注意图中以绿色虚像标识的虚声源,其代表声音的实际听感位置。
      2. 应会发现每个发声体/听者都显示有对应的 Room。听者和 Button Outside 不在房间内,因此被默认放在了 Outdoors 房间。
        1. 将听者移动到某个 Room,并在 Game Object 3D Viewer 中的“听者”游戏对象下查看 Room 名称变化。
          Game Object 3D Viewer 中显示穿过 Portal 的衍射路径
  4. 按下其中一个房间中的按钮,来试听混响效果。
    1. 在 Small Room 中,Voices Graph 应如下图所示:
      Voices Graph 中显示 Button Small Room 应用有 Wwise RoomVerb 效果器
    2. 走到 Room 外面并移动位置,使隔壁 Room 内正在播放的发声体处于视线内和视线外,从而试听声音的衍射效果。在听者相对于门户的角度不同时,您会听到或多或少的衍射声音。
info 备注: 若要在房间外部添加混响效果器,则可围绕整个区域添加一个 Room。确保 Room 的优先级低于场景中的其他 AkRoom 组件。

E. Portals(门户)和 Reverb(混响)

通过 Portal 传播的声音还可使用来自听者所在 Room 的混响效果器。

  1. 打开 SmallRoom 对应的 Auxiliary Bus Property Editor,并确保在 General Settings 选项卡中选中 Use game-defined auxiliary sends 复选框。这样可以将 SmallRoom 的混响效果发送到场景中的其他混响效果中。
    Auxiliary Bus Property Editor General Settings tab to send room reverb to other reverbs
  2. 假如在播放小房间发声体时走进大房间,将会看到小房间的混响效果被馈送到了大房间的混响效果中来。
    Voices Graph 中显示将 Small Room 混响效果器发送到了 Large Room 混响效果器

\aknoteWwise Unity Demo Scene 涵盖了 Surface Reflector 教程Room 和 Portal 教程 以及衍射。有关详细信息,请参阅 Spatial Audio 附加功能

F. Room Tone

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

  1. 在 Wwise 工程中:
    1. 创建新的 Sound SFX 并用于房间底噪。
      1. 确保启用游戏定义的辅助发送来将房间底噪发送到 Room 混响效果中。
    2. 右键单击 Sound SFX,然后依次选择 New Event > Play,来创建带有房间底噪的 Play Event。
    3. 保存工程。
  2. 在 Unity 中:
    1. 将此 Event 添加到其中一个 Room 所绑定的 AkRoom 组件的 Room Tone Event 参数。
      1. 调节 Aux Send Level 来将部分声音馈送到该 Room 的混响效果中。
      2. 您可以选择如何触发 Event。
        在 Spatial Audio Volume 的 AkEvent 分区中启用 Room
  3. 生成 SoundBank。
  4. 启动场景并连接到 Wwise 设计工具。
  5. 确认可以听到房间底噪。
    1. 在 Advanced Profiler 视图中,应会看到当前触发的 Event。
      在听者处在带有房间底噪的 Room 中时查看 Advanced Profiler 视图
    2. 在 3D Game Object Viewer 中,可一边来回移动听者,一边察看 Room 游戏对象。
      1. 若听者和发声体处在同一 Room,则 Room 会在听者所在位置播放声音。您会看到 Room 游戏对象跟随“听者”游戏对象。
      2. 若听者和发声体处在不同 Room,则会将 Room 游戏对象定位在 Portal 位置,并在其与 “听者”游戏对象之间绘制路径。
        在 Game Object 3D Viewer 中察看 Room 游戏对象

此页面对您是否有帮助?

需要技术支持?

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

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

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

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

开始 Wwise 之旅