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

  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:合适的指数。

转载于:https://www.cnblogs.com/BryZ/archive/2011/12/08/2281128.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值