I’ve got a curiosity I haven’t yet seen answered, though I imagine it’s a fairly common scenario and the knowledge would be useful to others.
How would we set something like this up? (And any Unity specifics to be aware of.)
- A sound is played from within the game through a user-selected “audio filter” — like a dropdown menu with different choices, which results in a UI slider being shown that can go from 0-100.
- It gets handed over to FMOD as a Programmer Instrument in a single event.
- The main purpose of the event is to treat it with an effects chain, and also some additional ambient textures. For example, say I want to make something sound like an old TV, it’d pass through an IR and several other things.
Overall, the intent is to take a UGC sound and then colorize/stylize it with effects.
So structurally, that looks like each dropdown menu choice = a different FMOD Event. One at a time, mentally I can get my head around that, I’ve done similar things before where I had different events setup for footstep sounds corresponding with visual materials, and other context-changing stuff. It seems like that’d be reasonable to organize, and keep adding new options in the future. And on a usability level, could be less cluttered than setting up some kind of fancy mixer routing (unless there are options available to us I’m unaware of).
BUT… what happens if we want to open it up so that a single instance of a sound can be played through more than one at a time? Meaning the dry signal isn’t played multiple times (and hence, isn’t any louder and startling with the jump in loudness), and instead of a single-selection dropdown menu, I could click checkboxes for 2, 3, or even 4 of these “audio filters”. And the routing is in parallel.
Conceptually this seems kind of like the build-in Unity Reverb Zones, but basically playing an instance of one sound through multiple Reverb Zone-esque signal chains, as it were. Although I notice Unity - Manual: Reverb Zones mentions “You can mix reverb zones to create combined effects.”, so I’m wondering what the equivalent structure looks like in an FMOD Studio project.
What might be a good way to establish this?