Very new to FMOD and learning the ins and outs. What I would like to know, if anybody has any idea, is how to implement random panning of SFX that are triggered randomly.
My specific example takes place in a cave. I have the cave ambience all set in and looping nicely at a good level. I made a sound def containing 7 variations of bats. I am able to trigger them randomly from a time value, and also am able to randomize the volume on each time they are triggered. I’m now wondering if it is at all possible to randomize the panning, so that when a bat is triggered, it can show up anywhere from left to right channel. Does anybody know?
I’ve debated creating a series of bat tracks, setting each pan level differently and having them trigger randomly that way in an attempt at "faux random panning" but it seems to be a lot of work. Is there an easier solution?
Thanks so much!
- cantstopmewily asked 6 years ago
It sounds like you want to experiment with the 3D Min Position Randomization and 3D Max Position Randomization properties of Sound Defs. These settings are designed specifically for the kind of ambiences you describe, where you want to give the impression of a very large number of intermittent sound sources spread over an area. Fortunately, it sounds like you’re already using spawn times, so setting up the rest should be easy – just set the Sound Def’s 3D Max Position Randomization property to a non-zero value (The precise value will depend on the effect you’re going for – I reccomend starting at 3 and adjusting up or down until it sounds right).
Note that you will have to place the Sound Def in an event and audition it in the Events View, or you will not be able to hear the effect of the position randomization.
I have a similar issue/question as this. I have some ambient animal/bird sounds in a sound def that randomly spawns them, with pitch volume variation etc. I would also like to randomize the pan (stereo) of these sound spawns.
These sounds aren’t attached to actual objects in a 3d space, so don’t have in game position data. It’s a more general ambiance meant to add some character to the environment. My understanding is that 3D position randomization won’t work in this case. Is there another way to go about this? I had also thought of doing the pseudo-random panning with variously panned stereo sound files, but would like to avoid this if possible.
I had also thought of making a multi-layer event, and copying the sound def on multiple layers each with a different pan setting, but this ends up with way too much spawning, and even if I increase spawn times, it still results in potentially overlapping/simultaneous spawning of similar sounds from the different layers.
3D position randomisation will absolutely work in the case you describe. In fact, that’s one of the common uses of 3D position randomisation and spawning behaviour.
You will need to set a location for the ambience event, which will be the centre of a sphere with radius equal to the 3D Max Position Randomization property. Each individual sound from your ambience will spawn at any point within this sphere.
For examples of this, look at the ‘Sound Def Tutorial 2’ event in the ‘examples.fdp’ project that ships with Designer 2010.
I think I’ve got it working, I’ll share what I did in case it helps anyone else, or someone else can tell me I’m doing it wrong 😉
Basically, I set the event mode to 3D. I also set the 3d speaker spread to 270 degrees (I played around with this a bit). These seemed to be the only event parameters I needed to alter/enable.
Back in the sound def (granular birds cawing), I left the Min 3d distance at 0 and set the Max 3d distance to 1. This meant it basically didn’t effect the level, since the distance variation is so close, while the left/right position was totally random for each spawn (constrained by the 3d speaker spread I assume). When I set the Max 3d distance higher, there was more random level variation (and I would assume reverb variation if I had a reverb set up). Perhaps this also gives some LPF variation due to the distance calculation? It did make it more dynamic, but I wanted the level more consistent with only the pan position changing. Anyways, setting the Max 3d distance to 1 let me set the overall level in the event layer. I did also use a little sound def volume randomization.
Back in the event, when triggering the sound def, voila random panning, without any geometry or position data! Since there is no position data, I’m assuming head relative vs world relative doesn’t really matter. I tried both and didn’t hear much of a difference in this case.
For the other sound defs in the event, as long as their Max/Min 3d distance was zero, it didn’t effect their panning at all, so I could mix dynamic granular panned sounds with more static pre-designed environment sounds.
Thanks for any additional tips.
The 3D Speaker Spread property should not have had a significant effect on your event’s playback. I suggest you try setting it to zero and seeing if there is any noticable change.
If you wanted to decrease the amount of level variation while still having position vary, I advise setting Min 3D Distance and Max 3D Distance to be very close to each other, and making the sound head-relative. The 3D Distance properties represent the distance from the centre of the sound, so this will result in a thin spherical shell of possible locations equally distant from the centre.
It’s true that you won’t notice any difference between head-relative and world-relative sounds in Designer 2010, but that’s because Designer does not provide a mechanism for assigning locations to sounds (Actually it does, but… It’s complicated). I take it you are not planning to use this event in a game with 3D positioning?
Please login first to submit.