一直在研究物理学,决定实现引擎音效。最常见的方法是使用预录制音样进行FMOD。确实有效,但总是显得生硬且缺乏生机。下一个层次是粒子合成,用于顶级AAA项目,但需要在不同载重条件下用高清音频多麦克风录制汽车引擎的声音。那样做需要大量的资源和场地,大型工作室才有能力做到。

所以我决定重新审视这个问题。事实上,引擎声音效本质上就是调速相关的谐波信号,音量随着调速而变化。这就是全部了。

我开发了一个Python工具,可以对任意引擎录音进行处理,将其拆解成谐波信号,并根据调速范围对其信号调节。然后使用加性合成再混合音频信号,并应用滤波器和一些随机化,以便生成更活泼的效果。

结果就是,我可以从任意录音中生成出非常逼真的引擎声音效,不需要任何专业录音设备😄

仍然有很多工作要做,汽车有很多部位都会发出噪音😄 但是我认为已经解决了最困难的部分。 Unity 运行环境已经足够快,能够支持多个同时引擎声音。

甚至考虑将这个工具独立开源,但首先我要用C语言重写Unity部分,以尽可能提高性能。

希望听到您的想法!