使用 Unity3d 制作 VST

Make a VST with Unity3d

是否可以使用 Unity3d 构建 VST?

似乎可以统一构建音频应用程序。

但我想知道是否可以将 DLL 构建为 unityapp?是否有可能以某种方式将 VST SDK 与最终版本集成?

Unity 可以在大多数架构上使用原生插件。似乎 VST 是原生的 windows dll,你可以 运行 这些 DllImport.

在 Unity 中,所有音频都存储在 AudioClips, you can modify their data using Create, Set and Get. You can also hook your script to audio importing in the editor, so you change it on load with AssetPostprocessor.OnPostprocessAudio

所以你必须使用 VST 过滤器做一些 AudioClip 到 AudioClip 过滤器。

关于 Unity 的一个建议 - 精确计时很难,因为一切都与主游戏循环相关联,并且它 运行s(理想情况下)与您的显示器刷新频率有关。如果你想要更实时,你需要把你自己的线程放在后台 - 它的工作方式与网络上的常见建议相反,只要记住在 Unity 中几乎没有什么是线程安全的,所以要更新游戏状态或 AudioClips,你需要在游戏循环中这样做。

据我所知,至少开箱即用,您不能将导出的 Unity 代码包装在 VST 所需的框架中。这是阻碍能够在插件主机(例如:DAW)中使用 Unity 界面的步骤。

另一种方法是创建一个 VST/AU 插件,该插件与 运行 插件主机外部的 Unity 应用程序通信。