在Unity中创建dll对象的多个实例

时间:2017-01-17 15:26:44

标签: c# c++ audio dll multiple-instances

我正在为Unity创建一个插件,它将在开源C ++音乐合成引擎(http://rtcmix.org/)中链接。我通过一个dll访问它,它处理所有的音频处理工作。由于dll是一个音频引擎,它有很多复杂的部分,包括许多全局变量。为了能够在场景中的许多不同设置和不同空间点上进行合成,我希望能够创建多个对象,每个对象都有自己独立的音频引擎实例。特别是,访问多个最终声音输出将允许通过乘以样本值来使用Unity的空间化。

但是,目前这并不容易,默认情况下,C#和Unity不允许多个dll实例(即使从单独的文件加载)。即使我有两个不同的游戏对象加载dll,如果一个更改全局变量的值,它也会影响另一个。

据我所知,dll并不是以这种方式使用,尤其是在存在全局变量的情况下。无论如何,我可以用dll做到这一点。我可以访问源代码,是否有其他一些我可能不知道的方法可以让它在Unity中运行?

非常感谢您提供任何帮助或建议。

0 个答案:

没有答案