Impact CFX features an optional package for integrating with FMOD. This allows you to utilize FMOD for playing audio effects, rather than using Unity's built-in audio clips and audio sources.
First, you will need make sure you have downloaded and set up the FMOD for Unity package. You can get this package from either the FMOD site or from the Asset Store.
Next, you will need to download the Impact CFX FMOD Integration package.
FMOD For Unity Version: 2.02.11+
FMOD Audio Effect
The Impact CFX FMOD integration introduces a new effect asset: the FMOD Audio Effect. This is very similar to the included Audio Effect, but with fields designed for FMOD. You can create a new FMOD Audio Effect by going to .
The FMOD Audio Effect has the following properties that relate to FMOD:
- Collision Event – The FMOD event to trigger when processing single collisions. This event should consist of one-shot sounds.
- Slide Event – The FMOD event to trigger when sliding. This event should have looping sound(s).
- Roll Event – The FMOD event to trigger when rolling. This event should have looping sound(s).
FMOD Audio Effects also share the following properties with the default Audio Effect:
- Velocity Reference Range – Input velocities will be converted to a normalized (0 to 1) value based on this range and the Collision Normal Influence.
- Collision Normal Influence – How much the input normal will effect the calculated intensity of the collision. This can be used so that grazing collisions will have a low volume even if they have a high velocity.
FMOD Audio Effect Processor
Like all other effects, the FMOD Audio Effect requires a processor component, the FMOD Audio Effect Processor You can create this component by going to . Make sure that you add this processor to the Impact Effect Processors list on your Impact CFX Manager.
The FMOD Audio Effect Processor has the following properties:
- Queue Capacity – The maximum number of effects that can be processed in a frame.
- Proxy Object Pool Config – This integration uses empty game objects that manage each FMOD effect instance.
This property controls the object pool used for these empty game objects.
- Pool Size – The size of the object pool. This effectively defines how many effects can be active simultaneously.
- Stealing – The behavior for stealing when all of the objects are in use.
- Effect Attach Mode – Defines what object involved in the collision, if any, the effect should attach to.
This can be useful for long collision effects that you want to follow an object.
See Managing Attached Effects for more info on how to properly manage attached effects.
- None – Don't attach to an object.
- This Object – Attach to the object that triggered the effect, if it is present.
- Other Object – Attach to the object that was collided with, if it is present.
Impact CFX sends parameters to FMOD to let you control your sounds:
- ImpactCFX_Intensity – A 0 to 1 value representing the intensity of the collision. This is calculated by normalizing the collision velocity relative to the Velocity Reference Range, and also takes into account the Collision Normal Influence.
- ImpactCFX_RawIntensity – The raw intensity of the collision, taking into account the Collision Normal Influence. There is no specified range for this value.
- ImpactCFX_CompositionValue – A 0 to 1 value representing the influence of the material at the contact point. If not using Material Composition, this will always be 1. You could use this value to scale the volume of your sounds, so that a higher composition yields a louder volume than a lower composition.
- ImpactCFX_CollisionType – An integer number that represents the type of collision:
- 0 = Collision
- 1 = Slide
- 2 = Roll