在研究物理方面的内容时,我决定着手引擎声的问题。最常见的方法是使用 FMOD 的预录制样本。但是,这个方法确实能够工作,但总觉得声音听起来很怪异且没有生命力。下一级的解决方案是粒子合成,用于顶级 AAA 项目,但要想实现这个功能,你需要大量的音频采集机器录制汽车在不同负载下的音频样本。这些设备只有大型工作室才能负担得起。

所以,我决定重新开始一份新协议。一个引擎的声音主要就是调节旋转方差(RPM)时的倍频的音量而已。简单而言如此。

我构建了一个Python工具,从任何引擎的录音中分离出倍频,将他们的音量映射到整个RPM范围,然后用加性合成构建出来,应用滤波,并且添加一点随机音调来使其更加生动。

结果,我成功录制了各个引擎录音的高真实的声音,无需使用工作室设备!

但是,汽车还是有很多部件都会发出噪声😄。我认为我已经解决了最困难的问题了。Unity 运行时间已经足够快,可以同时运用 Burst 和 Jobs 来处理多车的引擎声。

我甚至考虑将此工具发布为独立应用,但首先我需要对 Unity 部分进行重写,使用 C 以最大限度地提高性能。

噢,差点忘了,我想在这个项目中开设一个Discord 服务器,分享一些较小的开发日志以及交流经验。如果你感兴趣,请随时加入!服务器现在还空空 như白纸,我不想对其结构进行过多思考,让我们共同构建其中的内容一起进行😊 https://discord.gg/QNzcnZeHJw

期待你的回馈!