It’s taken me a while to fully understand how FMOD implements its "true to nature" logarithmic 3D rolloff… After reading through the documentation and forums I finally understand, but find that it lacks the precise control in instances where a maximum distance is required to silence an event.

I believe the confusion can be overcome and save a lot of time if a new "hybrid" 3D rolloff implementation were made which combines the understanding of the traditional Linear 3D minimum distance / maximum distance with a logarithmic fade. This is how I assumed the "logarithmic" rolloff option functioned when I first used FMOD Designer and without reading up about it.

You can presently test out this type of rolloff using the "Custom" setting and adding the 3D distance parameter in the Event editor. Your envelope would have three nodes, and most importantly setting node #2 to "Curve shape: log".

The first node is at distance 0 @ 100%.
The second node is at mindistance @ 100% (Curve shape: log).
The third node is at maxdistance @ 0%.

You will need to adjust the distance parameter properties and specify a new maximum value which will become the maxdistance. Dropping your second node along the ruler will determine where your mindistance is – or if you desire a mindistance of 0, just set the first node curve shape to "log".

By adding this feature it would save a lot of time for people like me who would otherwise need to beg a programmer to make use of an adjustable template in game code – or worst case – having to manually edit each and every event with the process described above…

Being displeased with how unnatural linear volume fades sound I’m very interested in what other people think about a potential feature like this. Since I have a choice I plan to use logarithmic. Streamlining a new 3D rolloff preset such as this would save a lot of time for myself and others… How about anyone else?

The system you describe is exactly what we’ve used in the past on several games, currently we do the same, using custom, we manually add the ‘min/max is silent; curves in.

Luckily, we have an input path that allows us to read the project file in, dump out a tempory .fdp and build the bank data from that (as we convert to 3 formats at this point and store it in a banked/wadded format), so I’m going to add an automatic system of adding this, overriding the log/linear format, setting it to custom, and adding the parameter to the events.

I understand that it’s possible to do this using templates, but in my opinion that’s a very messy way of solving the problem.

A better solution would be to allow the user to create their own custom rolloffs – as many as they like – and then be able to select these in the same dropdown list menu as the current rolloff options.

This is better than creating different templates for different rolloffs for the practical reason that an event can only use one template at a time, but also aesthetically because it’s less complex than maintaining event templates.