0
0

Hi,

I’m trying to make far explosions effects with 3D sounds. I manage to setup the sound and listener position correctly, since my sounds are well balanced over speakers and their volume is attenuated based on their distance to the listener, but it is not delayed based on the distance.

Let me explain. This system is for far explosion sounds. If the sound is created at 2km from the listener, it should take roughly 6 seconds to be audible. (sound propagation speed in air). But I did not managed to achieve this effect. Is there something available out-of-the box with FModEX 3D sound system (you manage complex doppler effects, but why not such a simple feature ?) Should I add some user code to manage it ? how ? What is the listener position is "quickly teleported" near to the sound source ?

Any idea / help would be appreciated ?

Thanks a lot !

Alban

  • You must to post comments
0
0

You’re right, it isn’t realistic, but there are often good reasons for omitting delay due to distance. For one thing, few games need it. After all, calculating delay for every sound event would take up a lot of resources, and many games operate on a such a small scale that the absence of delay is rarely noticeable. Such games may have a few events that are heard at a great distance, but those can be handled on a case-by-case basis. As a result, the practice of not including sound delay for distance is so common in games that many players do not notice its absence – and when it does happen, many will wrongly assume that the apparent latency is a bug. In addition, as one of the primary purposes of sound is to give players information about game events occurring outside of their immediate field of view, not playing sounds immediately can result in additional player dissatisfaction – particularly in games that depend heavily upon player reaction times.

Outside of game design concerns, FMOD does not make any assumptions about the distance units your game uses. As far as FMOD is concerned, a distance of "100" could equally be 100 kilometers, 100 feet, or 100 Unreal units – FMOD has no built-in sense of scale. This allows users to work using whatever units are appropriate to their game*, but means that the amount by which a sound should be delayed per unit distance varies hugely from one project to another project, and even between one event and the next.

In short, we simply couldn’t come up with a good one-size-fits-all out-of-the-box solution. As a result, whether and how sounds are delayed at a distance is entirely defined by users. If your game project would benefit from accurately simulating delay due to distance, we recommend that you calculate the appropriate delay in code, and keep in mind that it may not be appropriate for all events.

  • This gets a little complicated when it comes to the Doppler effect, which has difficulty handling distance units less than 20 cm long. During its development, few game engines used distance units of smaller lengths; This has since changed. There are plans to fix this in FMOD Studio.
  • You must to post comments
0
0

You could call setDelay on a channel when you play it, to delay a sound based on distance.

  • You must to post comments
Showing 2 results
Your Answer

Please first to submit.