基于距离(x,y)设置适当"音频"音量的算法

sti*_*ghy 5 algorithm

我正在开发一款游戏.如何根据当前渲染场景中精灵的"距离""淡入"声音的音量?假设我有一个世界:

WIDTH_WORLD = 10000
HEIGHT_WORLD = 10000

Current Scene  
xCurrent = 800   ( + Width Res. = 800 + 1024 = 1824)  
yCurrent = 400   ( + Height Res. = 400 + 768 =... )

Far Sprite
xSprite = 7000 
ySprite = 3000 
Run Code Online (Sandbox Code Playgroud)

什么是"计算"音量(和左/右平移通道比率)的好算法?提前致谢!

Fli*_*sch 2

总成交量

  • 音量衰减有多种方法。例如,您可以使用线性阻尼函数,如volume = max( 0, max_volume - max_volume/max_distance * distance ),或具有反距离衰减的函数,如volume = min( max_volume, max_volume / distance )

余额比例

  • 同样,有多种方法可以实现足够的功能。在您的情况下,您可以说,如果对象位于或超出左屏幕边框,则向左平移,如果对象位于或超出右屏幕边框,则向右平移,否则使用插值函数,例如balance = (object_x-camera_x) / screen_half_width例如值介于 -1:左、+1:右和 0:中心之间。

在组合这些方法时,您必须考虑什么适合您的情况:例如,仅当对象超出屏幕边界时才阻尼体积,无论如何......