How to Use the Oculus Spatializer in FMOD Studio
Updated: Sep 14, 2023
End-of-Life Notice for Oculus Spatializer Plugin
This documentation is no longer being updated and is subject for removal.
The following steps describe how to apply the Oculus Spatializer and Oculus Ambisonics in FMOD Studio.
Use the Oculus Spatializer
Create a new event. In FMOD Studio, go to Events, and select New Event or New 3D Event, depending on which version of FMOD you are using.
Find and select the event’s master track.
Select and delete the 3D Panner.
Add the Oculus Spatializer plugin. In the event deck, open the context menu and choose Add Effect > Plug-in Effects > Oculus Spatializer.
When you run the FMOD spatializer, up to 64 sounds that run through the bus may be spatialized.
The following image shows the Oculus Spatializer for FMOD.
The following table lists and describes settings for the spatializer.
Setting | Description |
---|
Input format | Set the master track input format to mono by right-clicking on the metering bars on the left side and choosing Mono.  |
Reflections | Set to On to enable reflections calculations. Reflections take up extra CPU, so disabling can be a good way to reduce the overall audio CPU cost. Reflections will only be applied if the Reflection Engine is enabled on the Oculus Spatial Reverb effect. For more information, see the Attenuation and Reflections section of the Audio Guide. |
Attenuation | Set to On to enable the internal distance attenuation model. If attenuation is disabled, you can create a custom attenuation curve using a volume automation on a distance parameter. |
Radius (volumetric radius) | Specifies the radius to be associated with the sound source, if you want the sound to seem to emanate from a volume of space, rather than from a point source. Sound sources can be given a radius, which makes them sound volumetric. This will spread the sound out, so that as the source approaches the listener, and then completely envelops the listener, the sound will be spread out over a volume of space. This is especially useful for larger objects, which will otherwise sound very small when they are close to the listener. See these blog articles for more information. |
Range Max | Maximum range for distance attenuation and reflections. Note that this affects reflection modeling even if Attenuation is disabled. |
Range Min | Minimum range for distance attenuation and reflections. Note that this affects reflection modeling even if Attenuation is disabled. |
Additional Notes about the Spatializer Make sure that your Project Output Format is set to stereo. You can access this option on the Edit menu: Edit > Preferences > Format > Stereo.
Note that the room model used to calculate reflections follows the listener’s position and rotates with the listener’s orientation. Future implementation of early reflections will allow for the listener to freely walk around a static room.
When using early reflections, be sure to set non-cubical room dimensions. A perfectly cubical room may create reinforcing echoes that can cause sounds to be poorly spatialized. The room size should roughly match the size of the room in the game so that the audio reinforces the visuals. The shoebox model works best when simulating rooms. For large spaces and outdoor areas, it should be complimented with a separate reverb.
The Oculus FMOD Spatializer supports Oculus Ambisonics in the AmbiX (ACN/SN3D) format. You must use the this feature with 4-channel ambisonic tracks.
To apply Oculus Ambisonics to an event:
- Select the master track.
In the FMOD event deck, right click and select Add Effect > Plug-in Effects > Oculus Ambisonics.
Make sure the input to the ambisonic plugin is 4 channels.
The following image shows an audio track with the Oculus Ambisonics plugin applied.
Use FMOD Integration with Propagation in Unreal Engine
You can use Oculus audio propagation when you develop for headsets with FMOD and UE4.
Add the Oculus Spatializer to the plugins for the FMOD UE4 integration.
Inside UE4 editor go to Edit > Project Settings > Plugins > FMOD Studio
The following image shows an example.
Copy the Oculus Spatializer DLL (OculusSpatializerFMOD.dll
) to the project directory:
[Project Directory]/Plugins/FMODStudio/Binaries/Win64
Include the Oculus DLL in the Build You must copy the Oculus Spatializer DLL to the packaged build.
Copy Oculus SpatializerFMOD.dll
to:
[Packaged Build Directory]/[Project Name]/Plugins/FMODStudio/Binaries/Win64
Adjusting Propagation Results Audio propagation in games creates reverb based on the geometry of the game environment. To change the reverb, you must adjust the geometry or materials. The system does not allow direct changes to parameters like decay time or low-frequency roll-off.
The audio propagation system uses a basic line-of-sight calculation to model occlusion, but it does not consider diffraction. As a result, the transition from audible to obstructed can be sudden. You might need to adjust your settings to address this.
Here are some guidelines to help you refine the audio results:
- If a room feels too “live” because the materials reflect too much sound, try marking one or more walls with less reflective materials, such as carpet.
- If the sound seems too “dead,” consider using more reflective materials on some surfaces.
- Adjust the per-source send level and the overall wet level to achieve the desired reverb level.