Spatialize direction, but not volume?

I’ve got a multiplayer game with voice chat; the voice comes out of ordinary AudioSource components. I’d like people to be able to tell which direction the speech is coming from, but I need everyone to be able to clearly hear everyone else, even if they’re clear across the level.

So the ordinary 3D spatialization won’t work in this case, I think.

I’ve thought about moving the AudioSources onto invisible game objects that move with the (local) player, and stay positioned a fixed radius away in the direction of the remote player. But that seems like a lot of work. I’ve also thought about simply doing some math to calculate a stereo pan value that is somewhat indicative of the direction.

But is there a simple/standard solution for this I’m missing?

If I understand you correctly then you absolutely can use the 3D spatialization!! You don’t have to have a volume roll-off with the 3D sound settings … just enable the “Spread parameter”. It would look something like this… notice the red volume curve is full across the whole graph. The distance won’t really matter here as the Spread will control the pan of the audio source based on it’s position relative to the audio listener.

So if you have your audiosources parented to the other players you can just do this!

Note you can turn down the panning effect if it’s too wide or too much. A spread of 0 will be fully panning sounds left/right in stereo and a spread of 180 will apply no panning at all. A Spread of 360 is reverse panning.

So if you set Spread to 90 the sounds will “half pan” so it’s tweakable to get it sounding how you want

2 Likes

Awesome. Thank you for the thoughtful and complete answer!