iOS OpenAL是支持定向声音还是仅支持定位声音?

时间:2010-10-02 19:23:09

标签: ipad opengl-es ios4 openal

对于我正在写的3D iPad应用程序,我希望音频增加/减少音量,因为单个虚拟听众会转向/远离声源。听众总是静止不动。听众只能旋转。声音总是静止的。声音填满了用户周围的方向范围。声音与听众的距离都相等。

我认为这些声音与3D图形中的光源类似。对于每个声音,都有一个从听众指向该声源的矢量。收听者具有传出的方向向量。我想通过侦听器向量的dotProduct和每个音频源向量来加权每个音频源的贡献。因此,当听众的“头部”旋转时,声音贡献会发生变化。

我描述的内容可以由OpenAL处理多少,我需要自己编写多少?

谢谢,
道格

1 个答案:

答案 0 :(得分:3)

是的,您可以在OpenAL中执行此操作。事实上你可以做得更好!使用点积,只要它们是平行的就可以得到满量程,当它们是垂直时你可以得到零,使用OpenAL你可以定义来自你的源的声音锥。

在源上,您需要将AL_CONE_INNER_ANGLE设置为小于AL_CONE_OUTER_ANGLE,以便在内锥角内获得完整音量,并在外锥角外减弱到零。您还需要设置AL_DIRECTION。

已经有一段时间了,我不确定你是否可以设置听众的圆锥/方向,但这并不重要,因为无论如何你的所有物体都是静态的,你可以简单地旋转声源的方向相反,模拟它:D