UDK and Doppler Bullet Whiz-Bys


Interesting workaround needed.

Apparently UDK does not have the greatest of doppler effects. In fact, I don't even think this is possible (conventional DSP manner) in the UDK engine.

HOWEVER, I did find a post from a sound designer named Graham Gatheral based in the UK.


Top right, there is a clickable video on how he linked a doppler shift equation in Kismet to the sound needing the effect. It calculated the players position/direction and movement of the sound emitter requiring doppler, to pitch shift the emitter's audio as it flew past.

As far as I know, thats the only way to do this.

My question is...

If you were going to do a bullet whiz-by: Would you create a compressed, dynamically constant whiz by with a pitch shift built in; shifting in pitch from high to low at the same rate that it would take for the bullet's audio radius to pass by the opposing player? Whats the best way to implement bullet whiz-by and/or ricochets off of surfaces?


Posted 2010-12-11T08:34:24.333

Reputation: 2 378

I have used doppler a ton in games, but I don't tend to use them on Whizzbys or Ricos because for the most part the assets themselves have it built in, and they are fast enuf sounds that changes in speed and panning really dont register all that much.

Check out the newest Medal of Honor game. THe battlescapes are AMAZING. THeir use of bullet sounds is scary.

I prefer to use doppler on things like car-bys, plane-bys, and sounds that stay in 1 place but doppler as you go by like stationary alarm poles, in-game source sound emitter (tv, radio, or boom box), emplaced machine gun, etc. – David Rovin – 2010-12-11T17:44:20.727

@David So how would you implement the whizs and ricos? – C3Sound – 2010-12-11T18:10:54.087

1Is it an FPS or 3rd person? What are the whiz-bys for? Are you just trying to add to the sound-scape or r u trying to tell the player something about danger levels or enemy locations.

1 implementation: Have engineers detect when bullets go within some distance of you (3-10m). Anytime a bullet hits the bubble, play 2D stereo whiz that has built-in space to it (randomize it for pitch, volume and wav file).

2nd Imp: Use some formula to calculate a "danger level" based on game conditions. Then play random stereo whizzs to match danger level, "mixing" the whizzes for best sound scape. – David Rovin – 2010-12-11T21:51:12.347

(sorry for being crassly commercial and soliciting work, but...) I am available for consulting and contracting – David Rovin – 2010-12-11T21:52:44.950

@David its all good - thanks for your tips! Ill be trying everything out pretty soon. If I run into problems, you'll be one of the first I head to for help. – C3Sound – 2010-12-11T22:27:00.137



On the titles I've worked on, we haven't used in-engine Doppler on bullet whizbys or ricos -- like David, we reserve it for less-frequently-called sounds like vehicle bys and stationary sounds that the player will pass. While it might be interesting to model whizbys in real time, I think an approach of providing plenty of variety in the source assets (with Doppler/pitch shift built in, realistic or not) and applying semi-random pitch and level attributes at runtime works very well. I'm not sure how nimbly UE3 would handle Doppler of so many rapid-fire sounds so often, but even if it's fairly inexpensive, I'd rather spend those cycles on something else more "bang for the buck."

For something like an RPG whizby that may have a longer/slightly slower by, I've in the past created looping elements with pitch variation built in and then applied runtime Doppler to those. It keeps the sound interesting if it has a long approach but still results in the expected downpitching when it passes by.


Posted 2010-12-11T08:34:24.333

Reputation: 590

@Tyler Thanks for the input - ill keep this post updated. – C3Sound – 2010-12-11T22:27:51.557

@C3Sound I remembered yesterday that we actually did use runtime Doppler on a PS2 FPS I worked on. I still don't think it's entirely necessary unless you're limited on memory and absolutely can't afford lots of asset variety. Also, consider (3D) panning the whizbys based on the bullets' vectors through the bubble (in code) if you weren't already doing so. Good luck! – Tyler – 2010-12-14T22:08:45.070