您在问错问题。您正在犯许多新游戏程序员所犯的错误。游戏不是完美的模拟,甚至还不完美。游戏模拟得足够有趣/有趣。其他所有东西都是假的。
案例:
粘胶世界:模拟质量,抗张强度和弹性。其余部分是伪造的,因为它不会增加游戏的感觉。例如,它不模拟重力。所有物体均以恒定的力向下加速。博伊西是假的。气球以恒定的力向上拉,水下的粘球也受到恒定的向上力。这一切都对游戏很有用。但是,如果您尝试使用World of Goo的物理引擎制造太空电梯,它就会崩溃。
让我们想象一个接近完美的基于物理的声音引擎。那对环境的影响呢?长笛是在山洞中还是在田野中。引擎是否提供了一组预定义的环境(有多少个?),还是通过计算实际的物理地形来弄清楚(是的)?玩家是否有方向性的耳朵(阿拉人)或只是耳孔(阿拉海豚或外星人)或像动物一样具有多方向性?空气热吗?有多湿。此列表会很快失去控制。
现在假设存在这样一种真正的物理声音引擎。您真的要用它来制作游戏吗?您需要多长时间才能确定长笛在空中飞舞的声音。您必须正确设置多少个参数(100?)。
您应该问的是:
当长笛飞过播放器时,如何模拟长笛的声音?
OpenAL可以做您想要的。
我建议重复吹奏长笛的声音效果。输入演奏者位置和长笛的位置/速度。暂时跳过定向内容。
您可以记录长笛两端流过的声音,让长笛使用两个声源。但是我怀疑,除非整个游戏机制都围绕投掷和旋转的长笛旋转,否则是否值得付出努力。