Version
menu_open
Wwise Unreal Integration Documentation
Wwise Spatial Audio Objects

AkAcousticTexture

Unreal object that represents a Wwise Acoustic Texture. This object can be applied to a AkSurfaceReflectorSetComponent's polygons or to a AkSpotReflector.

You can associate AkAcousticTextures with Unreal Physical Materials through the AkGeometry Surface Properties Map in the Integration Settings.

  • Properties:
    • Edit Color: Editor-only property that defines the color to use when coloring AkSurfaceReflectorSetComponent polygons that have an AkAcousticTexture assigned. The Edit Color is automatically retrieved from the Acoustic Texture in the Wwise project. If there is an active WAAPI connection, changes to Acoustic Texture colors in Wwise are immediately applied to the AkAcousticTexture Edit Color.
See also

AkSpotReflector

You can use the Spot Reflector actor to place an omnidirectional point reflector in the 3D world. Spot reflectors are useful when they are placed on distant objects that have large radii, such as distant mountains.

There are several options you can use to control Spot Reflector behavior:

Spot Reflectors reflect any sound that comes from an AkComponent that has Enable Spot Reflectors enabled.

To ensure that the Spot Reflector only reflects sounds from the same Spatial Audio Room, enable Same Room Only. In this case, an AkComponent feeds a Spot Reflector if they are both outside rooms or if they are both in the same room. Rooms can be created with a volume that has an AkRoomComponent attached.

To override the room that contains the Spot Reflector, enable Enable Room Override and assign a room to Room Override. If you do not set a Room Override, the Spot Reflector is virtually placed outside rooms.

AkSpotReflector calls AK::SpatialAudio::AddImageSource() from the Spatial Audio API on BeginPlay.

Properties:

  • Aux Bus: UAkAuxBus that has the AkReflect plug-in for early reflection DSP. This aux bus enables game-defined auxiliary sends, with Listener Relative Routing enabled but 3D Spatialization set to None.
  • Acoustic Texture: AkAcousticTexture that filters sounds reflected by the image source.
  • Distance Scaling Factor: Image source distance scaling. This number scales the sourcePosition vector relative to the listener and, consequently, scales distance and preserves orientation.
  • Level: Game-controlled linear level for the source.

AkSurfaceReflectorSetComponent

This component is equivalent to AkGeometryComponent, but must be attached to an AVolume actor. On BeginPlay, all of the volume's enabled polygons are sent to the Spatial Audio engine.

When working with an AkSurfaceReflectorSetComponent, be sure to set the viewport to Realtime so that the visualizations are updated correctly.

Enable Realtime in the Viewport Options

Properties:

  • Enable Surface Reflector Set: Enables this component.
  • Acoustic Surfaces: Use these controls to edit the properties associated with one or more faces on the volume. By default, changes to these properties are applied to all faces on the selected actor or actors. To change the faces you are editing, click Enable Edit Surfaces. The Unreal editor switches to Brush Editing mode and hides all non-selected actors in the level. To return to the standard editor mode, click Disable Edit Surfaces. In Edit Surfaces mode, you can select one or more individual faces on the volume. Changes to the acoustic surface properties are applied to all selected faces. The text in brackets after each property indicates how many faces are being edited.
    • AkAcousticTexture: The AkAcousticTexture associated with the selected faces. The texture's Edit Color determines the color of the faces, and the texture's name is displayed on the faces in the Game Viewport. For completely reflective surfaces, set this to None, so that no additional texture filter is applied.
    • Transmission Loss: Indicates how much sound is transmitted through the surface. The valid range is 0.0 - 1.0. A value of 0.0 indicates that sound passes through the surface completely. A value of 1.0 indicates that sound is blocked by the surface.
    • Enable Surface: Indicates whether the selected faces are sent to the Spatial Audio engine. Disabled faces do not display any texture name or Transmission Loss value.
  • Geometry Settings:
    • Enable Diffraction: Enables geometric diffraction for this Geometry.
    • Enable Diffraction on Boundary Edges: Enables geometric diffraction on boundary edges for this Geometry. Boundary edges are edges connected to only one triangle. Depending on the specific shape of the geometry, boundary edges might or might not be useful and it is beneficial to reduce the total number of diffraction edges to process.
    • Associated Room: (Optional) Associates this Surface Reflector Set with a Room. Associating a surface reflector set with a particular room limits the scope in which the geometry is visible or accessible. When set to None, this geometry has a global scope. We recommend that you associate geometry with a room when the geometry is (1) fully contained in the room (not visible to other rooms except through portals), and (2) the room does not share geometry with other rooms. This type of association reduces the search space for ray casting performed by reflection and diffraction calculations. Note that when one or more geometry sets are associated with a room, that room is not able to access geometry that is in the global scope.
See also

AkRoomComponent

You can add this component to any UPrimitiveComponent to register a Spatial Audio Room with the Wwise sound engine. Rooms have two purposes:

  • Oriented reverb. All Auxiliary Busses applied to a game object within a Room are oriented towards the volume's front vector.
  • When used in conjunction with AkAcousticPortal or AkPortalComponent, you can route the wet signal from one Room through a Portal to another Room.

In both cases, in the Auxiliary Bus you must have enable Listener Relative Routing for Positioning to specify a 3D Spatialization and assign an attenuation.

Properties:

  • Is Dynamic: Enables runtime changes to the portal connections for this room based on the room's movement. When the value for this property is set, bWantsOnUpdateTransform is also set to its value. For worlds that contain many portals, enabling this property can be computationally expensive. 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: Enables this component.
  • Priority: Determines the order in which the rooms are applied. If rooms overlap, the one with the highest priority is selected. If two or more overlapping rooms have the same priority, it is not possible to predict which room will be selected.
  • Transmission Loss: Sets the transmission loss value on the direct sound emitted in the Room when the listener is in another room. Think of this value as 'thickness', because it relates to how much sound energy is transmitted through the room's walls. The valid range is 0.0f-1.0f and is mapped, by default, to the occlusion curves of the Wwise project.
  • Room Tone
    • Ak Audio Event: The event to post to the room game oject.
    • Aux Send: Send level for sounds that are posted to the room. Valid range: (0.f-1.f). A value of 0 disables the aux send.
    • Auto Post: Automatically post the audio event posted to the room on BeginPlay.
Note:
  • An Ak Room Component must be attached to a UPrimitiveComponent in the component hierarchy. If an Ak Room Component does not have a UPrimitiveComponent as its parent, an error is logged and the component does not have effect.
  • An Ak Room Component uses the position and bounds of its parent (UPrimitiveComponent) when updating Wwise. Any translation, rotation, or scaling applied directly to an Ak Room Component does not have an effect.
  • 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.
  • When you use an AkRoomComponent in a custom Blueprint class, we recommend that you use a simple collision component as the parent, such as BoxCollision, SphereCollision, or CapsuleCollision. Refer to Spatial Audio Blueprint Components for more information.
See also

AkPortalComponent

You can add this component to any UPrimitiveComponent to register a Spatial Audio Portal with the Wwise sound engine. This component allows sounds contained in an actor with AkRoomComponent attached (for example, AkSpatialAudioVolume) to leak into other actors with AkRoomComponent attached. Such actors that overlap with Portals are detected at initialization time. 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, and the front room must be different than the back room.

You can view rooms and portals in the Viewport to adjust their positions, and to visualize portal-room connections. You can enable or disable visualization from the Wwise Integration Settings under Viewports - Visualize Rooms and Portals. You can also toggle this setting directly from the Unreal Level Editor Viewport menu.

Visualize Rooms and Portals in the Level Editor Viewport Menu

Properties:

  • Is Dynamic: Enables runtime changes to the room connections for this portal based on the portal's movement. When the value for this property is set, bWantsOnUpdateTransform is also set to its value. For worlds that contain many rooms, enabling this property can be computationally expensive. 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: Determines whether to initialize this Portal in an open (enabled) or closed (disabled) state.
  • Obstruction Refresh Interval: Set the time interval between obstruction checks (direct line of sight between listener and portal opening). Set to 0 to disable obstruction checks. We recommend that you disable it if you want to use full Spatial Audio diffraction.
  • Obstruction Collision Channel: The object collision channel that creates the collision of the obstruction ray-casts between the Portal and the listener with the desired geometry.
Note:
  • An AkPortalComponent must be attached to a UPrimitiveComponent in the component hierarchy. If an AkPortalComponent does not have a UPrimitiveComponent as its parent, an error is logged and the component does not have an effect.
  • When a portal is selected, the names of its connected rooms are displayed on each side.
  • An AkPortalComponent uses the position and bounds of its parent (UPrimitiveComponent) when updating Wwise. Any translation, rotation, or scaling applied directly to an AkPortalComponent does not have an effect.
  • If you add multiple AkPortalComponents to a custom Blueprint Class, the Unreal Editor might become unresponsive when you move an instance of that class in the Level Editor. To avoid this issue, disable Run Construction Script on Drag in the Class Settings as follows:
    1. Open the custom Blueprint Class in the Blueprint Editor.
    2. Click Class Settings.
    3. In the Details Panel, under the Blueprint Options, disable Run Construction Script on Drag.
See also

AkSpatialAudioVolume

An AkSpatialAudio volume is included in the integration. It consists of a simple volume with a AkSurfaceReflectorSetComponent, a AkRoomComponent, and a AkLateReverbComponent attached.

AkAcousticPortal

A convenience actor that can be spawned in the world, which has an AkPortalComponent attached.

AkGeometryComponent

This component is equivalent to AkSurfaceReflectorSetComponent but instead of brushes, it must be added to a StaticMeshComponent. The AkGeometryComponent converts its mesh to Spatial Audio Geometry. The static mesh and the simple collision mesh are the two meshes from which it can be converted. In the case of simple collision, sphere and capsule primitives are approximated to a bounding box mesh.

When debugging a game, you can see the spatial audio geometry in the Wwise Authoring Game Object 3D Viewer. With the AkGeometryComponent, you can send more complex shapes, which can prevent the Game Object 3D Viewer from displaying the geometry. Ensure that the Monitor Queue Pool Size in the Platform Initialization Settings is set accordingly to compensate for the additional data the game sends.

When you choose either mesh type, the Acoustic Textures and transmission loss values are deduced from the Physical Materials of the mesh. Use the AkGeometry Surface Properties Map in the Integration Settings to associate Physical Materials with AkAcousticTextures and transmission loss values.

  • For static meshes, the surface properties are deduced from the Physical Material of each Material the static mesh uses.
  • For simple collisions, the surface properties are deduced from the Simple Collision Physical Material.

Note that in Unreal, when no Physical Material is chosen (set to None), the DefaultPhysicalMaterial is used instead. Associate an AkAcousticTexture with DefaultPhysicalMaterial for meshes that do not have assigned Physical Materials.

Properties:

  • Geometry
    • Mesh Type: Determines whether the geometry is converted from the static mesh or the simple collision mesh.
    • LOD (Level Of Detail): If you select Static Mesh in the Mesh Type list, you can use this parameter to choose the level of detail to use as spatial audio geometry.
    • Welding Threshold: If you select Static Mesh in the Mesh Type list, you can use this parameter to choose the local distance in Unreal units between two vertices to weld together. Any two vertices closer together than this threshold are treated as the same unique vertex and assigned the same position. Increasing this threshold decreases the number of gaps between triangles, which results in a more continuous mesh and less sound leaking through, and eliminates triangles that are too small to be significant. Increasing this threshold also helps Spatial Audio's edge-finding algorithm find more valid diffraction edges.
    • Enable Diffraction: Enables geometric diffraction for this Geometry.
    • Enable Diffraction on Boundary Edges: Enables geometric diffraction on boundary edges for this Geometry.
    • Surface Overrides
      • AkAcousticTexture: Overrides the acoustic texture that is automatically chosen based on the physical material of the mesh. If you select Static Mesh in Mesh Type, you can override the acoustic texture of each material individually.
      • Override Transmission Loss: Overrides the transmission loss value.
      • Transmission Loss: Overrides the transmission value that is automatically chosen based on the physical material of the mesh. If you select Static Mesh in Mesh Type, you can override the transmission loss value of each material individually. The valid range is 0.0 - 1.0. A value of 0.0 indicates that sound passes through the surface completely. A value of 1.0 indicates that sound is blocked by the surface.
    • 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. Doing so reduces the search space for ray casting performed by reflection and diffraction calculations. When set to None, this geometry has a global scope. 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.
Note:
When you add an AkGeometryComponent in the Blueprint Editor in Unreal, the acoustic textures array is not automatically filled in when Mesh Type is set to Static Mesh because Component Details panels in the Blueprint Editor show details for template Component instances, which are not connected to other Components in the Blueprint.
See also

Was this page helpful?

Need Support?

Questions? Problems? Need more info? Contact us, and we can help!

Visit our Support page

Tell us about your project. We're here to help.

Register your project and we'll help you get started with no strings attached!

Get started with Wwise