I did a bit of research but couldn’t really figure this out myself. Does anyone know what would be the most efficient way to apply reverb on sounds depending on the player’s location (in short using reverb zones)?
I’ve been thinking about creating reverb parameters and setting their values on trigger enter but that seems very redundant. Any easier way to do this?
Thanks peter, that did the trick
I am currently tackling the same problem, therefore I need help on the same issue.
In a Unity Component I am trying to create Reverb3D objects:
In Awake of the MonoBehaviour:
FMOD.System system = null;
status = FMOD_StudioSystem.instance.System.getLowLevelSystem(out system);
status = system.createReverb3D(out reverb);
props = new FMOD.REVERB_PROPERTIES(decayTime, earlyDelay, lateDelay, hfReference, hfDecayRatio, diffusion, density, lowShelfFrequency, lowShelfGain, highCut, earlyLateMix, wetLevel);
status = reverb.setProperties(ref props);
FMOD.VECTOR position = FMOD.Studio.UnityUtil.toFMODVector(transform.position);
status = reverb.set3DAttributes(ref position, minDistance, maxDistance);
status = reverb.setActive(true);
All FMOD.RESULTs return OK, but the reverb zone does not work. I am not a sound engineer, but do events need
special flags in FMOD Studio or is it necessary to manually enable reverb effects for the FMOD system instance?
Help is highly appreciated…
Thanking you in anticipation,
To simulate a reverb zone in Studio we reccomend you create a snapshot and then control the intensity of the snapshot using an automation on the distance parameter. This allows you to create a position reverb that can also control other effects as well. You can also automate the intensity through a game parameter which could then be controlled from scripts.