版本

menu_open
Wwise Unreal Integration Documentation
Wwise Spatial Audio 对象

AkAcousticTexture

此 Unreal 对象代表 Wwise Acoustic Texture。此对象可应用于 AkSurfaceReflectorSetComponent 多边形或 AkSpotReflector

利用 AkGeometry Surface Properties Map,可在 Integration Settings 中将 AkAcousticTexture 与 Unreal Physical Material 关联。

  • 属性:
    • Edit Color:此 Editor 专有属性用于定义所要使用的颜色,以便为指派有 AkAcousticTextureAkSurfaceReflectorSetComponent 多边形着色。Edit Color 将从 Wwise 工程中的 Acoustic Texture 自动提取。若有活跃的 WAAPI 连接,则会将 Wwise 中针对 Acoustic Texture 颜色所作的更改立即应用于 AkAcousticTexture Edit Color。
参见

AkSpotReflector

您可以使用 Spot Reflector Actor 来在 3D 空间中放置全指向 Spot Reflector(反射点)。Spot Reflector 适合放在半径较大的远距离对象上(如远处的大山)。

您可以使用多个选项来控制 Spot Reflector 行为。

对于启用了 Enable Spot ReflectorsAkComponent ,Spot Reflector 会反射其发出的全部声音。

若要确保 Spot Reflector 仅反射来自同一 Spatial Audio Room 的声音,请启用 Same Room Only。在这种情况下, AkComponent 会向同在 Room 之外或在同一 Room 之内的所有 Spot Reflector 发送声音。您可以通过绑定有 AkRoomComponent 的 Volume 创建 Room。

若要覆盖包含 Spot Reflector 的 Room,请启用 Enable Room Override,并将 Room 指派给 Room Override。若不设置 Room Override,事实上会将 Spot Reflector 置于 Room 之外。

AkSpotReflector 会在 BeginPlay 时通过 Spatial Audio API 调用 AK::SpatialAudio::AddImageSource()

属性:

  • Aux Bus:带有 AkReflect 插件(用于早期反射 DSP)的 UAkAuxBus 。此辅助总线会启用游戏定义的辅助发送,同时启用 Listener Relative Routing,但会将 3D Spatialization 设为 None
  • Acoustic Texture:用于对镜像声源所反射的声音进行滤波的 AkAcousticTexture
  • Distance Scaling Factor:镜像声源距离缩放系数。此数值用于根据听者所在位置调节 sourcePosition 矢量,进而缩放距离并保持朝向。
  • Level:针对声源设置的游戏控制的线性电平。

AkSurfaceReflectorSetComponent

此组件跟 AkGeometryComponent 一样,但必须绑定到 AVolume Actor 上。在 BeginPlay 时,会将 Volume 启用的所有多边形发送到 Spatial Audio 引擎。

在使用 AkSurfaceReflectorSetComponent 时,确保将视口设为 Realtime 以正确更新相应的模型。

在 Viewport Options 中启用 Realtime

属性:

  • Enable Surface Reflector Set:启用此组件。
  • Acoustic Surfaces:使用这些控件来编辑与 Volume 上一个或多个表面关联的属性。在默认情况下,会将针对这些属性所作的更改应用于所选 Actor 上的所有表面。
    • Enable Edit Surfaces/Disable Edit Surfaces: When enabled, the Unreal Editor switches to Brush Editing mode and hides all non-selected actors in the level. 在 Edit Surfaces 模式下,可单独选中 Volume 上的一个或多个表面。这时会将针对 Acoustic Surfaces 属性所作的更改应用于选中的所有表面。各项属性之后括号中的文本会指示当前在编辑多少个表面。 In Brush Editing mode, you can change AkSpatialAudioVolume objects from rectangles into other shapes. For more information on Brush Editing, see Geometry Brush Actors.
    • AkAcousticTexture:与所选表面关联的 AkAcousticTexture 。系统会根据该 Acoustic Texture 所对应的 Edit Color 为这些表面着色,同时在 Game Viewport 中的表面上显示 Acoustic Texture 的名称。对于完全反射的表面,请将该项设为 None,以确保不会额外应用任何 Acoustic Texture 滤波器。
    • Transmission Loss:指示有多少声音穿透了表面。有效范围为 0.0 - 1.0。若值为 0.0,则表示声音全部穿透了表面。若值为 1.0,则表示声音被表面完全阻挡。
    • Enable Surface:指示是否将所选表面发送到 Spatial Audio 引擎。对于被禁用的表面,不会显示任何 Acoustic Texture 名称或 Transmission Loss 值。
  • Geometry Settings
    • Enable Diffraction:针对此 Geometry 启用几何衍射。
    • Enable Diffraction on Boundary Edges:针对此 Geometry 在边界边缘启用几何衍射。其中,Boundary Edge 代表仅连有一个三角形的边缘。边界边缘可能有用也可能没用(取决于几何构造的具体形状),因此最好减少所要处理的衍射边缘总数。
    • Associated Room:(可选)将此 Surface Reflector Set 与 Room 关联。在将 Surface Reflector Set 与特定 Room 关联后,会限制几何构造的可见/有效范围。在设为 None 时,会将该几何构造的范围设为全局。若几何构造 (1) 完全包含在 Room 内(除非带有 Portal 否则在其他 Room 内不可见),并且 (2) 此 Room 不与其他 Room 共享几何构造,则建议将几何构造与 Room 关联。这种关联可以缩小反射和衍射计算中执行的射线投射的搜索范围。注意,一旦将若干几何构造集与某个 Room 关联,那么对于该 Room 内的声音,全局范围的几何构造将不再生效。
参见

AkRoomComponent

您可以将此组件添加到任何 UPrimitiveComponent 以将 Spatial Audio Room 注册到 Wwise 声音引擎。Room 有两个作用:

  • 实现带有朝向的混响效果。Room 内游戏对象所应用的所有 Auxiliary Bus 朝向均与 Volume 的前向矢量相同。
  • 在与 AkAcousticPortalAkPortalComponent 结合使用时,可通过 Portal 将湿声信号从某一 Room 输出到另一 Room。

无论对于哪种情况,都必须针对 Auxiliary Bus 启用 Listener Relative Routing,以便在 Positioning 选项卡中指定 3D Spatialization 并指派 Attenuation。

属性:

  • Is Dynamic:允许在运行时依据 Portal 的运动来更改此 Portal 与 Room 的关联。When the value for this property is set, bWantsOnUpdateTransform is also set to its value. 对于包含多个 Portal 的环境,启用此属性可能会占用大量计算资源。When this option is disabled, the room's portal connections might still change if dynamic portals are moved (that is, portals with Is Dynamic enabled).
  • Enable Room:启用此组件。
  • Priority:决定 Room 的应用顺序。若 Room 之间存在重叠,则选用优先级最高的那个。若多个存在重叠的 Room 拥有相同的优先级,则无法预测会选用哪个 Room。
  • Transmission Loss:在听者和发声体处在不同 Room 时,为发声体所在 Room 中的直达声设置透射损失值。该值与 Room 的墙壁透射多少声能相关,您可以将其想象成墙壁“厚度”。有效范围为 0.0f-1.0f(默认映射至 Wwise 工程中定义的声笼曲线)。
  • Room Tone
    • Ak Audio Event:要发送到 Room 游戏对象的 Event。
    • Aux Send:发送到 Room 的声音的发送电平。有效范围:(0.f-1.f)。若值为 0,则禁用辅助发送。
    • Auto Post:在 BeginPlay 时自动发送发送到 Room 的音频 Event。
注記:
  • Ak Room 组件必须与组件层级结构中的 UPrimitiveComponent 绑定。若 Ak Room 组件没有 UPrimitiveComponent 父对象,则日志中将显示错误,组件也会不起作用。
  • 在更新 Wwise 时,Ak Room 组件使用其父对象 (UPrimitiveComponent) 的位置和边界。所有直接应用于 Ak Room 组件的变换、旋转或缩放都将不起作用。
  • In order to avoid repeating expensive computations, dynamic Rooms wait until they have stopped moving for .1 seconds before processing the change in position. This involves updating the Room index and re-evaluating Portal connectivity in Unreal, and sending updated Room parameters to the Spatial Audio engine. Therefore, a continuously moving AkRoomComponent behaves as if it were stationary.
  • 在自定义 Blueprint 类中使用 AkRoomComponent 时,建议将 Simple Collision 组件用作父对象(如 BoxCollisionSphereCollisionCapsuleCollision )。有关详细信息,请参阅 Spatial Audio Blueprint 组件 章节。
参见

AkPortalComponent

您可以将此组件添加到任何 UPrimitiveComponent 以将 Spatial Audio Portal 注册到 Wwise 声音引擎。此组件允许某个绑定有 AkRoomComponent 的 Actor(如 AkSpatialAudioVolume )内所含的声音渗透到其他绑定有 AkRoomComponent 的 Actor。在初始化时,会检测这些与 Portal 重叠的 Actor。Both panned and 3D-spatialized sounds can be routed through Portals. Portals have a front and a back Room. They must have at least one Room connected, the front Room must be different than the back Room.

If you are using built-in game parameters to drive RTPCs, any obstruction and occlusion values set on the Portal do not affect the RTPC values. This behavior is intentional and occurs because RTPCs only provide one value per game object, but a single game object can have multiple paths through different Portals, each with different obstruction and occlusion values.

您可以在 Viewport 中查看 Room 和 Portal 来调节其位置,并直观地显示 Portal 与 Room 的关联。您可以在 Wwise Integration Settings 中的 Viewports - Visualize Rooms and Portals 下启用或禁用该设置。另外,还可直接通过 Unreal Level Editor Viewport 菜单来切换该设置。

在 Level Editor Viewport 菜单中直观地显示 Room 和 Portal

属性:

  • Is Dynamic:允许在运行时依据 Portal 的运动来更改此 Portal 与 Room 的关联。When the value for this property is set, bWantsOnUpdateTransform is also set to its value. 对于包含多个 Room 的环境,启用此属性可能会占用大量计算资源。When this option is disabled, the portal's room connections might still change if dynamic rooms are moved (that is, rooms with Is Dynamic enabled).
  • Initial State:决定在初始化时是将此 Portal 设为打开(启用)还是关闭(禁用)状态。
  • Obstruction Refresh Interval:设置声障检查之间的时间间隔(听者和 Portal 开口之间的直接视线)。若设为 0,则禁用声障检查。若要使用全方位 Spatial Audio 衍射,则建议将其禁用。
  • Obstruction Collision Channel:对象碰撞通道,仅针对所需几何构造检测 Portal 和听者之间的声障射线投射的碰撞。
注記:
  • AkPortalComponent 必须与组件层级结构中的 UPrimitiveComponent 绑定。若 AkPortalComponent 没有 UPrimitiveComponent 父对象,则日志中将显示错误,组件也会不起作用。
  • 在选中 Portal 时,会在两端显示与其相连的 Room 的名称。
  • 在更新 Wwise 时,AkPortalComponent 使用其父对象 (UPrimitiveComponent) 的位置和边界。所有直接应用于 AkPortalComponent 的变换、旋转或缩放都将不起作用。
  • 若向自定义 Blueprint 类添加了多个 AkPortalComponent,则在 Level Editor 中移动该类的实例时 Unreal Editor 可能会陷入无响应状态。为避免出现这一问题,可按照以下所述在 Class Settings 中禁用 Run Construction Script on Drag
    1. 在 Blueprint Editor 中打开自定义 Blueprint 类。
    2. 单击 Class Settings
    3. 在 Details 面板的 Blueprint Options 下,禁用 Run Construction Script on Drag
参见

AkSpatialAudioVolume

我们在集成包中添加了一个 AkSpatialAudio Volume。它由一个简单的 Volume 构成,并绑定了 AkSurfaceReflectorSetComponentAkRoomComponentAkLateReverbComponent

AkAcousticPortal

该 Actor 可直接在游戏环境中生成,其绑定有 AkPortalComponent

AkGeometryComponent

此组件跟 AkSurfaceReflectorSetComponent 一样,只不过它不能直接绑定到 Brush 而是必须添加到 StaticMeshComponent。AkGeometryComponent 会将其 Mesh 转换为 Spatial Audio Geometry。它可以通过 Static Mesh 和 Simple Collision Mesh 来进行转换。对于 Simple Collision,Sphere Primitive 和 Capsule Primitive 近似于 Bounding Box Mesh。

在调试游戏时,可在 Wwise 设计工具内的 Game Object 3D Viewer 中查看 Spatial Audio Geometry。利用 AkGeometryComponent ,可以发送更加复杂的形状。不过,这样可能会阻止 Game Object 3D Viewer 显示几何构造。为了对游戏发送的附加数据进行补偿,请确保在 Platform Initialization Settings 中恰当设置 Monitor Queue Pool Size。

无论选择哪种 Mesh Type,都将通过 Mesh 的 Physical Material 得出 Acoustic Texture 和透射损失值。为了将 Physical Material 与 AkAcousticTexture 和透射损失值关联,请在 Integration Settings 中使用 AkGeometry Surface Properties Map。

  • 在选用 Static Mesh 时,将通过 Static Mesh 所用每种 Material 的 Physical Material 得出 Surface Properties。
  • 在选用 Simple Collision 时,将通过 Simple Collision Physical Material 得出 Surface Properties。

注意,在 Unreal 中,若未选择任何 Physical Material(设为 None),则使用 DefaultPhysicalMaterial。对于没有指派 Physical Material 的 Mesh,请将 AkAcousticTexture 与 DefaultPhysicalMaterial 关联。

属性:

  • Geometry
    • Mesh Type:决定是要通过 Static Mesh 还是 Simple Collision Mesh 转换几何构造。
    • LOD(细节层次):若在 Mesh Type 列表中选择 Static Mesh,则可利用此参数来选择将 LOD 用作 Spatial Audio Geometry。
    • Welding Threshold:若在 Mesh Type 列表中选择 Static Mesh,则可利用此参数来选择按 Unreal 单位计量两个要融为一体的顶点之间的局部距离。只要两个顶点之间的距离小于此阈值,就会将其视为同一顶点并为其指派相同的位置。增大此阈值会减少三角形之间的间隙数量,使得网格更加连续、声音泄漏更少,同时也会删除因太小而无关紧要的三角形。此外,增大此阈值还有利于 Spatial Audio 借助寻边算法找出更多有效的衍射边缘。
    • Enable Diffraction:针对此 Geometry 启用几何衍射。
    • Enable Diffraction on Boundary Edges:针对此 Geometry 在边界边缘启用几何衍射。
    • Surface Overrides
      • AkAcousticTexture: Overrides the acoustic texture that is automatically chosen based on the physical material of the mesh. 若在 Mesh Type 中选择 Static Mesh,则可单独覆盖每种 Material 的 Acoustic Texture。
      • Override Transmission Loss: Overrides the transmission loss value.
      • Transmission Loss:覆盖要依据 Mesh 的 Physical Material 自动选择的透射值。若在 Mesh Type 中选择 Static Mesh,则可单独覆盖每种 Material 的透射损失值。有效范围为 0.0 - 1.0。若值为 0.0,则表示声音全部穿透了表面。若值为 1.0,则表示声音被表面完全阻挡。
    • Advanced
      • Associated Room: (Deprecated) Associate this AkGeometryComponent with a Room. This property is deprecated and will be removed in a future version. We recommend not using it by leaving it set to None. Associating an AkGeometryComponent with a particular Room limits the scope in which the geometry is accessible. 这样可以缩小反射和衍射计算中执行的射线投射的搜索范围。在设为 None 时,会将该几何构造的范围设为全局。Note if one or more geometry sets are associated with a room, that room can no longer access geometry that is in the global scope.
注記: 在 Unreal 内的 Blueprint Editor 中添加 AkGeometryComponent 时,若将 Mesh Type 设为 Static Mesh,则不会自动填充 Acoustic Texture 数组。因为 Blueprint Editor 中的 Component Details 面板只会显示模板组件实例的详细信息,而这些实例跟 Blueprint 中的其他组件并无关联。
参见

此页面对您是否有帮助?

需要技术支持?

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

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

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

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

开始 Wwise 之旅