I am new to Fmod (coming from wwise) and I tried to understand behaviours of the sound engine in my case I wanted to know what happened If you create multiple events sound (nested event) within an event and that your sub-events have different distance attenuation on their master track, will their overide the master distance attenuation of their parent event?
In my example I have a parent ‘Sfx_Gadget_Grenade’ event (distance attenuation of 80 m) and their sub events (event sound module) ‘Sfx_Explo” and Sfx_Detonation’ have distance attenuation about 20 m. I don’t have a game yet to test it so I wanted to know what is happening in that case.
Attenuation due to distance is applied to the signal flowing through the track that contains the 3D Panner effect or volume automation that applyies the attenuation. In most events, this means the master track.
An event instance functions as a mini mixer: Each track is a bus, and all the tracks it contains eventually route into the master track.
Therefore, if a nested event contains distance attenuation, that attenuation will affect its output, which is routed into the parent event. If that parent event contains distance attenuation as well, that attenuation will also be applied, resulting in the signal being attenuated due to distance twice.
So, to answer your question, the content of the nested or referenced event will be affected by both sets of attenuation, but content that originates in the parent event will be affected only by attenuation in the parent event. (Of course, that’s assuming that the attenuation is on the master track in both events, and that no sends are involved; There’s a number of less common but equally-valid ways to structure an event.)
Thanks for that although I am still a little confused… Basically what I want to do in my case and what I show in my screenshot is the ability to gather in one parent event here it’s the the ‘SFX_Grenade’ some child events because I want to have a clean structure of events per game object (the grenade), the childs here are :SFX_Detonation and SFX_Explo.
It’s the often the case that you will have a parent with a different distance attenuation than some of its child. For instance, if you are familiar with wwise you have the posibility to have an actor mixer (equivalent of a bus) and to have childs under it that can overide the settings of the parent like : distance attenuation, volume, etc.
So 2 questions :
What happends if my ‘SFX_Grenade’ does not have the 3D panner so set to 2D and that its child have the 3D panner with distance attenuation of 20 meters, will the childs be 2D? The events expose in the game will be only the childs and not the parent as it acts as container in my case.
What’s the best way to have a parent game object with some of his childs (nested events) that overides his distance attenuation settings?
You appear to have misunderstood the function of nested events.
You cannot directly call nested events from your game’s code. You can only call the parent events. Parent events may create instances of their child nested events, the outputs of which are then routed into their parents.
If you want to organize events in your project into an understandable and navigable structure, the tool for doing that is “folders.” You can create folders by selecting ‘New Folder’ from the events browser context menu.