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!
- Michael T asked 10 years ago
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.
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.
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.
Please login first to submit.