使用Monogame在2D游戏中应用3D音效
问题描述:
我遇到了使用monogame框架应用3D声音的问题。使用Monogame在2D游戏中应用3D音效
我目前使用最新版本(3.6),似乎无法从不同的方向播放声音。无论我设置听者和发射器的位置如何,播放的声音都是一样的。这是我的代码,任何帮助都会很棒。
SoundEffectInstance instance enemy.WarCry.CreateInstance();
AudioEmitter emitter = new AudioEmitter();
AudioListener listener = new AudioListener();
listener.Position = new Vector3(player.Position, 0);
emitter.Position = new Vector3(enemy.Position, 0);
instance.Apply3D(listener, emitter);
instance.Play();
答
Monogame只支持3D效果的单声道。将立体声转换为单声道,使用像Audacity这样的免费音频编辑器是最好的选择。
这与问题无关。如果他们还没有使用单声道音效,则对Apply3D()的调用将抛出一个异常,而不是像所述那样总是播放声音。 –
@RootVegetable我有同样的问题,并且在用立体声声音文件调用Apply3D()时没有得到任何异常。这个bug在很多日子里花了我很多时间,这绝对解决了它。 也许他们在新版本中添加了一个异常。 – anonymous