Version
(See the Wwise Reflect Properties below.)
The Wwise Reflect plug-in Effect implements a multi-tap time-varying delay line with filters, for the purpose of simulating spatialized early reflections.
When considering geometrical modeling of acoustics, spatialized early reflections are typically calculated using the "image source technique". With this approach, early reflections can be represented by an image source, as if the geometry from which sound reflects were like a mirror. This is illustrated in the figure below.
In this figure, an emitter E and a listener L exist in the same geometry (room), depicted by the enclosing box (black solid line). The reflection paths from the emitter to the listener are drawn in green (solid line). The image source technique consists of generating an "image" of the emitter for each surface. The image source is placed at the same distance behind the surface, on the line that is normal to the surface and connecting the emitter. The total distance traveled by the sound corresponds to the distance between the image source and the listener. Note that image source placement strictly depends on emitter position and geometry, and not on the listener's position.
The game pushes a list of image sources to a given plug-in instance. For each image source, a tap is added to the delay line, is further filtered, panned, and scaled according to its relative 3D position, distance-based curves, and associated Acoustic Textures.
Wwise Reflect is typically used on an Auxiliary Bus representing early reflections. It will correctly simulate early reflections if the bus is associated with the game object that emits the sounds sent to this bus.
Example: Using Wwise Reflect for sounds emitted by the player in an FPS game
Add Wwise Reflect to an Auxiliary Bus.
In game, send the player game object to this Auxiliary Bus using AK::SoundEngine::SetGameObjectAuxSendValues()
.
In game, pass a blob of data that describes the image sources (around the listener, corresponding to the geometry around it) for that instance of the plug-in, using
AK::SoundEngine::SendPluginCustomGameData()
. The data format is described in SDK/include/AK/plugin/AkReflectGameData.h
. Each image source results in a panned, filtered, and delayed copy of the signal going through Wwise Reflect.
Send a new blob when you need to update the position of the image sources.
With each image source, you may pass up to 4 Acoustic Textures. Acoustic Textures represent material properties. During execution of the plug-in, the four absorption bands (Low, Mid Low, Mid High, and High) of each texture translate into four frequency band attenuations.
When more than one Acoustic Texture is applied, band absorption coefficients are combined, as if the signal was successively filtered. This effectively simulates reflections resulting from hitting multiple surfaces.
In order to use Wwise Reflect for 3rd-person sounds, it needs to run on an instance of the bus that is associated with this emitter. See 3D Busses and
AK::SoundEngine::SetGameObjectAuxSendValues()
for more details. You may use the services of AK::SpatialAudio
to help set up bus instances accordingly.
Note | |
---|---|
When Reflect is used on a bus that is associated with an object that is different than the listener, the bus's positioning mode currently needs to be set to 2D. Otherwise, Wwise will further transform (pan and attenuate) the image sources generated and spatialized by Wwise Reflect. |
Reflect comes with a simple set of parameters that you may use to tweak the resulting reflections.
Reflections are panned, filtered, and delayed versions of the downmixed input signal. The delay time is influenced by the game-driven image source's distance and Reflect's Speed of Sound. Filtering and volume scaling depend on the image source's distance evaluated against its various curves. Filtering is also affected by the image source's Acoustic Texture(s).
Tip | |
---|---|
Distance attenuation curves simulate air absorption and energy decay. |
Interface Element |
Description |
|||||
---|---|---|---|---|---|---|
Inclusion
|
Determines whether the element is included or excluded. When selected, the element is included. When unselected, the element is not included. By default, this applies across all platforms. Use the Link indicator (to the left of the check box) to determine or to set platform-specific customizations. When this option is unselected, the property and behavior options in the Property Editor become unavailable. |
|||||
Name |
The name of the Effect instance. Effect instances are a group of effect property settings. They can be one of two types: custom instances or ShareSets. Custom instances can be used by only one object, whereas ShareSets can be shared across several objects. |
|||||
Effect |
The type of effect. |
|||||
Shared by (Used by) |
A list of objects that currently subscribe to the selected ShareSet. This field is called “Used by” when editing a custom instance of the Effect. |
|||||
|
Opens a search field where standard alphanumeric entries filter out unmatching elements from the view. Learn more in Using Tables. Click the Close icon to the left of the search icon to close the search field and remove the filter.
|
|||||
|
Returns the Effect property settings to their default values. This option is only available when editing a custom instance of the Effect. |
|||||
Notes |
Additional information about the Effect. |
|||||
Effect Settings | ||||||
General | ||||||
Speed of Sound |
Units per second. The units correspond to the distance units used by the game and sent to Reflect. The speed of sound in air is ~340 m/s. If your game's units are centimeters, you should use a value of about 34,000(cm)/s. |
|||||
Center% |
Center% used for 3D positioning. Refer to the Positioning Tab: Audio and Auxiliary Busses for more details on how Wwise handles Center% with 3D positioning. |
|||||
Output Level |
The volume level (dB) of the wet signal. |
|||||
Monitoring List | ||||||
Filter |
Type anything that matches, in whole or in part, a game object's Name or ID content. Both the Monitoring List table and the curves cursors in the graph view will only display the matching image sources. |
|||||
|
Clears the Filter field and thereby displays all image sources on which Wwise Reflect applies in the columns below and the associated graph curves. |
|||||
Controls the Mute and Solo states for the image source and shows its implicit mute and solo states. Muting an image source silences it for the current monitoring session. Soloing an image source silences all the other image sources in the current instance of Wwise Reflect. A bold M or S indicates that the Mute or Solo state has been explicitly set for the image source. A non-bold M or S with faded color indicates that the image source's Mute or Solo state was implicitly set from another image source state.
|
||||||
Image Source ID |
An identification number associated with the image source. This is a unique number assigned by the game. |
|||||
Image Source Name |
The name of the image source. |
|||||
Game Object ID |
An identification number associated with the game object. This is a unique number assigned by the game. |
|||||
Game Object Name |
The name of the game object. |
|||||
Textures |
The name (or ID, if name not found) of the Audio Texture(s) on which the sound is reflected.
|
|||||
Distance |
The distance in game units between the image source and the listener. |
|||||
(Image Source Graph View) |
A graphical representation of the relationship between the Distance (X axis) and an image source property value (Y axis). The graph view can display several curves simultaneously. |
|||||
Display |
A list to specify the parameter flag to display (or not) in the graph view:
|
|||||
X |
The coordinate along the X axis of the selected control point. The X value represents the value of a selected Distance. If more than one control point is selected, the field displays a value of 0, so that you can increase or decrease the value of all selected control points relative to their current values. For example, if you select two control points and move the X slider -5, both control points will move to the left by 5 units. |
|||||
Y |
The coordinate along the Y axis of the selected control point. The Y value represents a property value (Distance Attenuation volume in decibels, Distance Spread in percentage, or Low/High-Pass Filter in Hertz). If more than one control point is selected, the field displays a value of 0, so that you can increase or decrease the value of all selected control points relative to their current values. For example, if you select two control points and type 5 in the Y text box, both control points will move up by 5 units. |
|||||
|
Zooms in towards the center of the graph view. |
|||||
|
Resets the graph view to the default zoom factor ratio of 1:1. |
|||||
|
Zooms out from the center of the graph view. |
|||||
Max Distance |
Max distance for curves, in game units. |
|||||
(Pin/Unpin) |
When the Pin icon is selected, the property curve's outline remains in the graph view even if it is not currently selected. |
|||||
Color |
A color block legend for distinguishing the different graph view curves. |
|||||
Property |
One of the following five different Wwise Reflect image source curves, which appear in the graph view, where they can be edited, if selected.
|
Questions? Problems? Need more info? Contact us, and we can help!
Visit our Support pageRegister your project and we'll help you get started with no strings attached!
Get started with Wwise