FMODSpline is a powerful tool for FMOD's Unreal Integration that adds a spline actor that can be used for creating immersive environments.
FMODSpline is not an official FMOD plugin! You need a license to use FMOD in your project. This plugins only extend the FMODStudio plugin to add functionalities for FMOD users. No source code of FMOD or FMODStudio is contained within this plugin.
- Clone plugin in your project's Plugins/ folder.
- Regenerate visual studio project.
- Build your project using Visual Studio or Rider.
- Make sure that FMODStudio is enabled
- Enable the plugin in the Plugin tab
- Restart Unreal
You can create a FMOD Spline by
-
(OR) Searching it in the "Place Actors" tab and drag it in the scene
-
(OR) Show Plugins content in you Content Browser, go to Plugins > FMOD Spline Content > FMOD Spline C++ Classes > FMODSpline and drag it in the scne
-
(OR) Create a blueprint that inherits from FMODSpline
When making a non closed spline, the FMOD Event will try to be the closest as possible from the listener on the Spline
[FMODEvent] is the fmod event you want to play along the spline. It should be 3D.
When making a closed spline, the FMOD Event will be at the closest point on the spline from the listener when they are outside, but will stick to the listener's position when they are inside of the shape defined by the spline, simulating a 2D sound.
[FMODReverbEvent] The reverb event you want to play when entering the volume.
[FMODMixEvent] The mix event you want to play when entering the volume.
[Cylinder height] The height limit of the volume, if the listener is not in the cylinder, they wont have the "2D Sound simulation".
You can chose for you spline to allow only for some part of it to emit sound when outside of it. It simulates a "door" effect, letting the sound from the inside of the volume to leave it only at the openings defined by the designer.
A door can be closed by changing it's default bOpen parameter, or calling SetOpeningState() at runtime on it. Closing or opening a door changes the value of the "Portal_IsOpen" fmod parameter. This allows for sound designers to make the sound different if the door is closed or simply put it's volume to 0.
Note : Openings works for simple audio splines too
[Openings] The array of all the openings.
Spline Point is the spline point where the opening will be centered.
Width is the width in cm of the opening. Open decides if this opening is opened by default.
Random sounds will play at the random intervals you gave, inside of the volume. If possible, they will avoid to spawn too close from the listener.
[RandomSounds] The array of all the random sounds that will play inside of the volume.
Event is the fmod event of the random sound.
Delay range defines MinDelay and MaxDelay between two similar spawns of this sound.
[MinRandomSoundDistance] The safe distance random sounds will try to respect when spawning near from the listener. This prevents the listener from noticing a very close spatialized sound where there is nothing in the game space.
[MaxDistance] the distance at which the FMODSpline completly shuts down
[bShowDebug] Will show the max distance radius, the volume cylinder, and the position of the audio component at runtime.
[OpeningDebugPrecision] The precision of the opening lines debug visualization.
This plugin was wrote with the help of GitHub Copilot and ChatGPT. Check out this really impressive tools!