menu
 
版本
2021.1.14.8108

2024.1.4.8780

2023.1.12.8706

2022.1.18.8567

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 Unreal Integration Documentation
Reflect

在本教程中,我们将使用 Spatial Audio Geometry 来将反射表面发送到 Reflect 插件。该插件可模拟声学环境中声音传播产生的早期反射。

info 注記: 在开始学习本教程前,请务必先完成 Spatial Audio 教程准备工作

Wwise 工程

  1. 为了访问出厂 Acoustic Texture 以及早期反射 Auxiliary Bus 预设,您需要导入 Factory Acoustic Texture 和 Reflect Factory Asset。
    1. 依次转到 Project > Import Factory Assets...。
    2. 选中 Reflect 和 Acoustic Texture 并按下 OK。
  2. 使用出厂预设创建早期反射 Auxiliary Bus:
    1. 在 Master-Mixer Hierarchy 中,右键单击 Master Audio Bus
    2. 依次转到 New Child > Presets,然后选择 Early Reflection Auxiliary Bus

      1. 在 Effects 选项卡中双击效果器,然后执行以下操作:
        1. 将 Max Distance 至少设为 5,000(也就是我们在 Wwise 工程准备工作 章节中为声音设置的最大衰减距离)。
        2. 将 Speed of Sound 设为 34,500。
      针对 Reflect 设置 Speed of Sound 和 Max Distance
  3. 选中 Wwise 工程准备工作 中创建的声音,并转到 Sound SFX Sound Property Editor。

    1. 在 General Settings 选项卡中,在 Early Reflections 下添加刚才创建并应用了 Reflect 效果器的 Auxiliary Bus。
    在 Wwise 中针对声音启用 Reflect
  4. 保存工程。

Unreal 工程

在工程中,我们想让建筑物、地面和障碍物反射声音。实现方式有两种:AkSpatialAudioVolume 和 AkGeometryComponent。

AkGeometryComponent 可添加到 Static Mesh Actor。它会将 Static Mesh Geometry 自动发送到 Spatial Audio。另外,还可配置为发送 Simple Collision Mesh。最好将此组件用于简单形状。否则可能会向 Spatial Audio 发送太多三角形,从而导致计算负荷急剧加重。

AkSpatialAudioVolume 是一个 Brush Volume。在添加 AkSpatialAudioVolume 后,既可手动将 Volume 变换为所需尺寸,也可使用 Fit To Geometry 功能来将 Volume 与 Room 自动对齐。

对于足够复杂且绑定有 AkGeometryComponent 的 Static Mesh,有时会生成过于复杂的几何构造。这样的话计算时间可能会很长,而且基于射线的声学模拟技术(比如 Wwise Spatial Audio 中所用的技术)通常会假设几何元素(表面和边缘)远远大于声源的波长。比方说,空气中 1000 Hz 的声音具有 34 cm 的波长。在这种情况下,与其直接使用 Static Mesh,不如使用 AkSpatialAudioVolume 来在 Mesh 周围(在其作为障碍物反射和衍射声音时)或在 Mesh 之内(在其作为 Room、混响区域或 Surface Reflector 时)创建简单形状。

  1. 在 SpatialAudioTutorialMap 中,障碍物是一个 Basic Static Mesh。我们可以轻松向其添加 AkGeometryComponent
    1. 单击 Actor,然后单击 Add Component。选择 Ak Geometry。

      1. 在 Geometry 分区中,选择 Simple Collision。
      Mesh Type 为 Simple Collision 的 AkGeometryComponent 的各项默认值
  2. 针对地面重复同样的步骤。
  3. 在 SpatialAudioTutorialMap 中,建筑物由自定义 Mesh 构成。虽然形状比较简单可以使用 AkGeometryComponent,不过在本教程中我们还是选择使用 AkSpatialAudioVolume

    1. 将三个 AkSpatialAudioVolume 拖放到场景中。
      1. 在建筑物附近设置其中一个来用于外墙。因为此 Volume 被放在了 Mesh 的外围,所以必须手动实施变换。
      2. 在每个 Room 之内各设一个来用于内墙。我们使用 Fit To Geometry 来放置两个 Room。
        1. 在各个 AkSpatialAudioVolume 所对应的 Details 面板中启用 Fit To Geometry
        2. 若对最初获得的形状不满意,可使用 Transform 小组件将 AkSpatialAudioVolume 变换到新的位置。注意,在变换 AkSpatialAudioVolume 时,会显示黄色预览框线。在获得满意的形状后,松开鼠标按钮。这时 AkSpatialAudioVolume 会对齐到所需位置。
        3. 有关如何使用 Fit To Geometry 放置 AkSpatialAudioVolume 的详细信息,请参阅 Fit to Geometry 章节。
      3. 确保三个 AkSpatialAudioVolume 全部启用 Enable Surface Reflectors
        1. Enable RoomEnable Late Reverb 保持设为禁用状态。对此,我们将在 Room 和 Portal 章节加以说明。
    针对 Spatial Audio Volume 启用 Enable Surface Reflectors

验证所作设置

  1. 生成 SoundBank。
  2. 启动场景并连接到 Wwise 设计工具。
    1. 在 Advanced Profiler 的 Voices Graph 视图中,应会看到应用了 Reflect 效果器的新辅助发送。
      1. 在玩家的初始位置,播放置于外部的声音。
        Outside Button 的 Voices Graph 以及 Reflect
        info 注記: 若在播放 Room 内的声音时玩家处在房外,则既不会听到声音也不会看到任何 Reflect 发送。这是因为我们在建筑物和每个 Room 附近创建的 AkSpatialAudioVolume 是封闭的。您可以通过修改 Brush 对象或使用 Spatial Audio Portal(参见 Room 和 Portal 章节)来为其创建开口。
      2. 在继续执行下一步之前,打开 Profiler Settings 视图并确保启用 Spatial Audio。
    2. 转到 Game Object Profiler 布局(快捷键 F12)。
      1. 确保可以看到玩家镜头和三个发声体。
      2. 在 Game Object 3D Viewer 中,应会看到不同的反射表面。
      3. 在播放声音时,将绘制早期反射射线以显示声音的传入路径。
        Game Object 3D Viewer 及早期反射
      4. 若无法看到射线,请确保在 Game Object 3D Viewer Settings 中启用 Reflection Paths。
        Game Object 3D Viewer 及早期反射
info 注記: 若无法在 Game Object 3D Viewer 中看到任何几何构造,则可能需要调大 Monitor Queue Pool Size。该设置位于 初始化设置 中。
参见

此页面对您是否有帮助?

需要技术支持?

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

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

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

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

开始 Wwise 之旅