Unity3D 能够很方便的集成一些外部插件,以便调用现有的动态链接库。下面会介绍Unity中如何集成Dll的两种方法。
1.
这里所使用的语言是C#。
1.1 新建C#类库项目,这里就不多介绍了。
1.2 项目建好后正常的编写代码。
以上是一个简单的测试代码。
1.3 将项目属性 -> 应用程序 -> 目标框架:改为 .NET Framework 3.5或以下 。这一步很重要,因为Unity3D(当前的Unity3D版本是3.5版) 支持的 .Net 是3.5版。
如果选择的是4.0版会出现
Internal compiler error. See the console log for more information. output was:
Unhandled Exception: System.TypeLoadException: Could not load type 'System.Runtime.Versioning.
错误。
1.4 生成解决方案。到此,C# Dll工作完成。
1.5 导入Dll到Unity中。将Dll拷贝到Assets目录下任何一个目录都可以。一般是在Plugins目录中,因为Dll大多是外部功能块,同时也方便跨语言调用。
1.6 在Unity中编写简单代码。
1.7 运行结果。
2. Unity的方案
官网指出,Unity已经广泛支持基于C,C++或者Objective-C语言的插件。原文说明http://docs.unity3d.com/Documentation/Manual/Plugins.html 以下示例可从官网获得,下载示例代码http://docs.unity3d.com/Documentation/Images/manual/SimplestPluginExample.zip
2.1 编写插件代码。
2.2 在Unity要做些什么。
注意:在[DllImport ("ASimplePlugi")] 参数中不要加入 .dll 后缀。
2.3 运行结果如下。