使用 Unity3d 制作 VST
Posted
技术标签:
【中文标题】使用 Unity3d 制作 VST【英文标题】:Make a VST with Unity3d 【发布时间】:2015-11-30 15:14:10 【问题描述】:是否可以使用 Unity3d 构建 VST?
似乎可以统一构建音频应用程序。
但我想知道是否可以将 DLL 构建为 unityapp?是否可以以某种方式将 VST sdk 与最终构建集成?
【问题讨论】:
【参考方案1】:Unity 可以在大多数架构上使用本机插件。看起来 VST 是一个原生的 windows dll,你可以用DllImport 运行这些。
在 Unity 中,所有音频都存储在 AudioClips 中,您可以使用 Create、Set 和 Get 修改其数据。您还可以将脚本与编辑器中的音频导入挂钩,以便在加载时使用 AssetPostprocessor.OnPostprocessAudio 更改它。
因此,您必须使用 VST 过滤器对 AudioClip 进行某种类型的 AudioClip 过滤器。
使用 Unity 的一个建议 - 精确的时间安排很困难,因为一切都与主游戏循环相关联,并且它(理想情况下)以显示器刷新的频率运行。如果你想要更多的实时性,你需要将你自己的线程放在后台——它的工作方式与网络上的常见建议相反,只要记住 Unity 中几乎没有线程安全的,所以要更新游戏状态或 AudioClips,您需要在游戏循环中执行此操作。
【讨论】:
这是一个很好的答案,所以把它写成正确的。如果您知道是否可以导出 dll 文件(或用于 mac 的 .vst),将不胜感激。我只能在导出器中看到几个选项。还是我必须以某种方式使用 VisualStudio 等构建 dll? 我不认为这回答了问题,这是关于你是否可以使用 Unity 制作 VST,而不是你是否可以在 Unity 中使用 VST 插件【参考方案2】:据我所知,至少开箱即用,您不能将导出的 Unity 代码包装在 VST 所需的框架中。这是妨碍在插件主机(例如:DAW)中使用 Unity 接口的步骤。
另一种方法是创建一个 VST/AU 插件,该插件与在插件主机之外运行的 Unity 应用程序通信。
【讨论】:
以上是关于使用 Unity3d 制作 VST的主要内容,如果未能解决你的问题,请参考以下文章