Hi. I have a 1st person 3d shooter with lots of enemies. (think battlefield etc).
If people fire over a great distance, I want to apply delay and a bit of delay, to their shots.
So basically I want to fade in/fade out the delay return, over distance. More distance, more delayed signal.
It is too expensive, cpu wise, to add a delay to every single weapon fire event.
On my “shot fire” bus, i tried adding a delay, and that retains stereo perspective (when a person in the left side of the screen fire, the delay comes from the left side), but I have no way of fading up/down the delay sound over distance, since all the weapons are mixed together on the bus.
Is there any way to do this?
You should be able to achieve the effect you want by using sends and automation.
- Create a return bus (or, if your “shot fire” bus is a return bus, use that).
- Add a delay effect to that return bus (or use the one you’ve already added).
- In each shot event, add a send to the “shot fire” bus. Automate the volume of this send on the event’s distance built-in parameter such that an audible signal is only sent to the delay effect at long distances.
- Add automation to each shot event’s master track volume such that an audible signal is only output at shorter distances.
This method only requires one delay effect, and so requires relatively few resources, and the send automation ensures that only gunshots over a certain distance from the listener are subject to delay.
Makes perfect sense. Why didnt my brain think of that solution. Thanks
Hi. I cant get it to work. Here is my signal flow
I have a fire sound. That sound goes to a SFX group.
I create a new return and name it “delay”.
I go to my fire event and make a pre fader send to that delay return.
I then put a spatializer on my event and set it (just for testings sake) to a max of 2 meters. I then draw a curve for the send on the distance paramter. Now my event i playing clean when im within 2 meters of my fire event, and plays only wet when im more than 2 meters from my fire event. So far so good. The problem is that the delay does not sound like its coming from the fire event source. It is still being played as a normal stereo sound and i get no direction on the delayed signal. On the input meters of the delay return bus, i can also see that i get no panning. Which makes complete sense, since the it is the actual event that is sending to the delay return bus, not the SFX group.
I could send from the SFX group and then get delay with pan, but then I cant modulate it by distance, since its just a bus and not an event.
Ideally I would like to do the same, but with an impulse reverb instead of the delay.
What am i doing wrong?
The build is stereo only, for windows, if that makes any difference
This is happening because you are sending the signal before it is panned by the spatializer. To solve this:
- Either set the spatializer’s distance attenuation mode to “Off,” or set its max distance to the max distance used by non-gunshot events in your project.
- Move the send to the right of the spatializer, but to the left of the track’s volume fader.
- Automate the volume of the fader on the Distance built-in parameter such that it’s 0 dB at a distance of 0 and -oo dB at a distance of 2 metres.
This will ensure that the event’s output is panned by the spatializer before it’s sent to the return bus.
Perfect. Works like a charm. Thanks