# Sound propagation for Riverside-like SoundFX

**URL:** <https://qa.fmod.com/t/sound-propagation-for-riverside-like-soundfx/12050>\
**Category:** FMOD Studio\
**Created:** [September 14, 2015, 1:20pm UTC](https://qa.fmod.com/t/sound-propagation-for-riverside-like-soundfx/12050 "2015-09-14T13:20:18Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![GianniRicciardi](https://avatars.discourse-cdn.com/v4/letter/g/f17d59/32.png) [@GianniRicciardi](https://qa.fmod.com/u/GianniRicciardi)\
**Post date:** [September 14, 2015, 1:20pm UTC](https://qa.fmod.com/t/sound-propagation-for-riverside-like-soundfx/12050/1 "2015-09-14T13:20:18Z")

</div>

Hello,  
since FMOD 3D sound are by default propagated in a spherical fashion, I wish to know wich is the best way to create a “wall-of-sound”, I mean an object that can emit a single soundFX in a sort of cubic propagation.  
This could be very useful for ambience sounds that has to be placed on seashore, riverside etc

The provided built-in parameters (distance, angle, etc) and the Sound-Size or Min-Extent params seems to be not very useful to build something that cover a big range preserving at the same time the spatial localization of that sounds

At the moment I’m placing multiple emitters all the way long, tweaking their Min/Max distance, but is very difficult to avoid sound-power discontinuity

Do you have any method/suggestions?

Thank you for your help  
Gianni Ricciardi

---

<div class="post-metadata">

**Author:** ![graeme](https://avatars.discourse-cdn.com/v4/letter/g/50afbb/32.png) [@graeme](https://qa.fmod.com/u/graeme)\
**Post date:** [September 16, 2015, 2:02am UTC](https://qa.fmod.com/t/sound-propagation-for-riverside-like-soundfx/12050/2 "2015-09-16T02:02:12Z")

</div>

Yes, you are correct that the built-in 3D sound support is designed for spherical emitters only.

It’s probably easiest for you to perform your custom wall-of-sound attenuation in code and then feed that to the event via a parameter. You can setup that parameter to automate the event’s master volume appropriately.

For example, you could create a parameter called “WallDistance”, with a range from say 0 to 200 meters. Have this parameter automate the event’s master volume with a curve just like the regular inverse-square fall-off. In game, you calculate the distance from the listener to the nearest point on the wall and call Studio::EventInstance::setParameterValue(“WallDistance”, distance\_to\_listener).

As for direction, you can still rely on FMOD’s 3D Panner to take care of this. Call Studio::EventInstance::set3DAttributes and pass it the nearest point on the wall. Just make sure you turned off the built-in distance attenuation, since you will be doing that yourself via the “WallDistance” parameter.
