初始化时坐标系的设定
跟据游戏中的实际需要,可以设置3D声音使用左手坐标系还是右手坐标系,FMOD默认是用左手的,要改成右手可以在System::init 传入FMOD_INIT_3D_RIGHTHANDED参数。
加载3D声音
在System::createSound或System::createStream时使用FMOD_3D参数就可以了,当是硬件声音时DirectSound限制了初始化后不能进行2D和3D之间的切换,软件声音可以避免这种情况。
指数衰减与线性衰减
这两种模型可以在sound或channel在create时或是调用setMode来指定,具体表现效果由mindistance和maxdistance两个参数决定,它们可以用Sound::set3DMinMaxDistance或Channel::set3DMinMaxDistance设置。指数衰减:用FMOD_3D_LOGROLLOFF指定。在这种衰减方式中,声音每隔mindistance就会减弱一半,超过maxdistance就不再衰减,所以要留意maxdistance不要设得太小。线性衰减:就是由maxdistance和mindistance定义一条直线,按比例衰减。
3D相关全局参数
FMOD Ex里有三个主要的参数会影响到所有的3D音效,它们是:多普勒参数:它可以扩大或缩小多普勒效应。距离参数:指定距离的单位。衰减比例:控制声音衰减的快慢。三个参数可以由System::set3DSettings来指定。