Iphone 在FMOD中更改侦听器角度

Iphone 在FMOD中更改侦听器角度,iphone,fmod,Iphone,Fmod,我在FMOD中设置了一个事件系统,当听者靠近他们时会触发3D声音。我希望能够更改侦听器的侦听器角度,以便在侦听器旋转时,整个声音背景移动相同的度数。不错吧 可能吗?iPhone的代码是什么? 是否要将某些内容传递给方法set3dlisteneratributes?我不确定是否完全理解,是否只想在三维空间中旋转侦听器?如果是这样,请调整侦听器前进向量以指向新方向 **根据你的回答** FMOD使用笛卡尔坐标系,它有一个单位长度向量,指向对象(或侦听器)面对的方向。我建议你阅读一些关于三角学的知识,

我在FMOD中设置了一个事件系统,当听者靠近他们时会触发3D声音。我希望能够更改侦听器的侦听器角度,以便在侦听器旋转时,整个声音背景移动相同的度数。不错吧

可能吗?iPhone的代码是什么?
是否要将某些内容传递给方法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);

谢谢你,布洛克先生!你是个明星!谢谢你,布洛克先生!你是个明星!