是否有可能创建“全局”的声源,即它们的音量和音高完全不受听者的位置和速度的影响?
我希望两个系统声音(不受侦听器影响)和三维声音在我的应用程序中,我找不到任何解决方案。
发布于 2015-12-30 18:24:38
如果你的声音是立体声,那么你可以把它们放在任何地方,它们不受相对距离、旋转和速度的影响。
但是如果它们是单一的,你需要做更多的工作:
所有音频源都有position & velocity relative to listener标志。打开它,将源坐标保持在默认位置,{0,0,0},以零速度。
alSourcei(source, AL_SOURCE_RELATIVE, 1); // This turns on the flag这将只有当你使用一个夹紧距离模型。Clamped inverse distance是默认的,所以您应该不会有任何问题。(距离模型是一个方程,它决定了当与听者之间的距离发生变化时,声音的音量是如何变化的。您可以使用OpenAL函数选择这些模型中的一个。夹紧距离模型是这样一种模型,当声音准确地放在听者身上时,声音不会发出无限大的声音。因此,体积被夹紧到某个最大值。但是,如果你使用一个非夹紧距离模型,那么你应该打开标志,把你的声音恰好是一个参考距离的侦听器。因此,它将在,例如,在{ref_distance,0,0}。默认的引用距离是1.0,但是您可以使用OpenAL函数来更改它。(参考距离是指声音的音量等于1的距离。)
https://stackoverflow.com/questions/34534802
复制相似问题