您的位置:首页 > 其它

在FMOD中使用customRollOff实现更自然的声音衰减

2011-12-08 18:51 344 查看
  Fomd的3D音源可以通过setMode来制定sound或channel曲线,具体表现效果由mindistance和maxdistance两个参数决定,它们可以用Sound::set3DMinMaxDistance或Channel::set3DMinMaxDistance设置。

  指数衰减:用FMOD_3D_LOGROLLOFF指定。在这种衰减方式中,声音每隔mindistance就会减弱一半,超过maxdistance就不再衰减。(SDK中并没有说明这种衰减函数,按照描述,可知并非log曲线,而是双曲线,y=1/x)

  线性衰减:就是由maxdistance和mindistance定义一条直线,按比例衰减。

  在实际的3D游戏中,指数衰减要远远真实于线性。但对于小场景的游戏,这样仍然不够好。建议按照噪声衰减公式来模拟一条更自然的曲线,在其他编辑器中,也可以以此为基础手动重设曲线。

  噪声衰减公式 lg(1/4*3.14*x^2)



  环境音:

    (1-log(x)/log(maxdis) * ((1/x)^0.4)

  动作音,杂音:

    (mindis/(x+mindis))^a a:合适的指数。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: