0
0

We are finding that events set to Linear 3D Rolloff with a max distance of 10 will not release the event. When inside the max distance, the event plays back. When outside the max distance, the event constantly tries to retrigger itself, not allowing other events to steal it.

1) Can someone confirm that using Linear 3D Rolloff does actually reduce events to zero volume outside the max distance set for the event

2) Is the event automatically teurned off beyond the max distance, or just set to zero volume?

3) What could be causing the event to retrigger itself [b:2zupsy03]outside[/b:2zupsy03] its max distance?

The event is set to 2 max playbacks

We are on PS3, Designer is 4.19.07 and Ex is 4.19.05

Thanks to all who respond!

  • You must to post comments
0
0

1) yes.
2) zero volume.

3) Max distance isn’t intended to be the maximum distance at which an event will exist, it is the maximum distance that an event will attenuate to. It doesn’t release the event because it could come back within the max distance and it would no longer exist. If you take for example the log rolloff attenuation, an event beyond the ‘max distance’ can still be audible. The ‘max distance’ is a parameter for the attenuation calculations and nothing more. Events can be started anywhere.

Hope this helps.

-Pete

  • You must to post comments
0
0

Events will stop if they are silent and set to oneshot iirc

  • You must to post comments
0
0

Internally, we added a "virtual event" layer on top of FMOD which does start() and stop() Events when they are linear and the listener is outside of max distance. We keep our own sound instance alive, but not FMODs. Was a nice performance/complexity win.

  • You must to post comments
0
0

Thanks everyone, that’s the behaviour I was seeing, so glad to hear I can trust the tools.

To audiodev: I think that’s a seems like a great idea – we will be investigating that as soon as channel playback becomes a bottleneck.

  • You must to post comments
0
0

WRT virtual events you can use JFIQ max playback behaviour to simulate this quite easily.

These will fail if they are the quietest so if you call event->start() on them every frame only the loudest will actually be playing.

  • You must to post comments
0
0

Yeah. For us, channel management was very elegantly handled by the virtual voices system.

We had two big motivators for doing virtual events. The first was that we have some playback restrictions in addition to FMODs rules (like a maximum number of event instances of the same type near one another). The second was performance. We’re an open world game and have scores of active objects that want to play sounds but which are inaudible. Being able to quickly reject these without hitting FMOD at all was a nice win. Also, many of these are looping, so we only want do activation tests every so often.

  • You must to post comments
Showing 6 results
Your Answer

Please first to submit.