Iphone 在FMOD中更改侦听器角度
我在FMOD中设置了一个事件系统,当听者靠近他们时会触发3D声音。我希望能够更改侦听器的侦听器角度,以便在侦听器旋转时,整个声音背景移动相同的度数。不错吧 可能吗?iPhone的代码是什么?Iphone 在FMOD中更改侦听器角度,iphone,fmod,Iphone,Fmod,我在FMOD中设置了一个事件系统,当听者靠近他们时会触发3D声音。我希望能够更改侦听器的侦听器角度,以便在侦听器旋转时,整个声音背景移动相同的度数。不错吧 可能吗?iPhone的代码是什么? 是否要将某些内容传递给方法set3dlisteneratributes?我不确定是否完全理解,是否只想在三维空间中旋转侦听器?如果是这样,请调整侦听器前进向量以指向新方向 **根据你的回答** FMOD使用笛卡尔坐标系,它有一个单位长度向量,指向对象(或侦听器)面对的方向。我建议你阅读一些关于三角学的知识,
是否要将某些内容传递给方法set3dlisteneratributes?我不确定是否完全理解,是否只想在三维空间中旋转侦听器?如果是这样,请调整侦听器前进向量以指向新方向 **根据你的回答** FMOD使用笛卡尔坐标系,它有一个单位长度向量,指向对象(或侦听器)面对的方向。我建议你阅读一些关于三角学的知识,以完全理解如何将角度(以度或弧度为单位)转换为向量 对于前向向量,方程是(如果我没记错的话): x=cos(角度) z=sin(角度) y=0 这假设角度以弧度为单位,以便从度转换为弧度: 弧度=度*(180/Pi)
Pi大约是3.14159265,我不确定我是否完全理解,你只是想在3D空间中旋转监听器吗?如果是这样,请调整侦听器前进向量以指向新方向 **根据你的回答** FMOD使用笛卡尔坐标系,它有一个单位长度向量,指向对象(或侦听器)面对的方向。我建议你阅读一些关于三角学的知识,以完全理解如何将角度(以度或弧度为单位)转换为向量 对于前向向量,方程是(如果我没记错的话): x=cos(角度) z=sin(角度) y=0 这假设角度以弧度为单位,以便从度转换为弧度: 弧度=度*(180/Pi)
其中Pi约为3.14159265,这是我最后使用的代码:
float degree = 90;
float radians = (degree) * (M_PI/180);
float fx = cos(radians);
float fz = sin(radians);
forward.x = fx;
forward.z = fz;
listenerpos.x = lxPos * DISTANCEFACTOR;
listenerpos.z = lyPos * DISTANCEFACTOR;
result = eventSystem->set3DListenerAttributes(0, &listenerpos,&vel,&forward,NULL);
这就是我最后使用的代码:
float degree = 90;
float radians = (degree) * (M_PI/180);
float fx = cos(radians);
float fz = sin(radians);
forward.x = fx;
forward.z = fz;
listenerpos.x = lxPos * DISTANCEFACTOR;
listenerpos.z = lyPos * DISTANCEFACTOR;
result = eventSystem->set3DListenerAttributes(0, &listenerpos,&vel,&forward,NULL);
谢谢你,布洛克先生!你是个明星!谢谢你,布洛克先生!你是个明星!