我在研发物理系统的同时,也决定进行引擎发动机声音的制作。大家最常用FMOD和预先录制的样品进行声音设计。用这种方法确实可以正常工作,但声音总是听起来很人工和死板。接下来的一个升级是粒化合成,用于 AAA 项目,然而要做到这一点需要高级工作室才能录制得到车子在不同载荷下的无菌多台麦克风录制。这样的资源只有大型工作室才能承受到。

于是乎我决定重新审视这个问题。实际上汽车发动机的声音只是调速率范围内的谐波响度的变动。

在python工具中我使用了任何引擎录音,并分解成谐波,根据引擎的 rpm 设定合适的音量,然后使用加性合成和滤波器来重构声音,再添加一些随机因素,给声音加点生气。

最终我拿到了任何录音文件中的可靠引擎声音的效果,完全没有工作室设备的必要).

工作仍然非常繁重,因为车身里有很多声音的部分😄但我想我解决了最大的问题。Unity runtime已经足够快,并能让多个车辆同时使用使用Burst 和 Job .

我甚至在考虑将工具以单独程序形式发布,但是首先我需要用C重写Unity部分,以获得最大性能。

有任何想法和反馈的麻烦分享一下。