【转载】Unity3d引用外部的dll

时间:2024-04-08 18:50:18
Unity3D 能够很方便的集成一些外部插件,以便调用现有的动态链接库。下面会介绍Unity中如何集成Dll的两种方法。
1. 
标准引用
这里所使用的语言是C#。

1.1 新建C#类库项目,这里就不多介绍了。

1.2 项目建好后正常的编写代码。

【转载】Unity3d引用外部的dll
以上是一个简单的测试代码。

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.

错误。 
【转载】Unity3d引用外部的dll
1.4 生成解决方案。到此,C# Dll工作完成。

1.5 导入Dll到Unity中。将Dll拷贝到Assets目录下任何一个目录都可以。一般是在Plugins目录中,因为Dll大多是外部功能块,同时也方便跨语言调用。

1.6 在Unity中编写简单代码。 
【转载】Unity3d引用外部的dll
1.7 运行结果。 
【转载】Unity3d引用外部的dll
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 编写插件代码。
【转载】Unity3d引用外部的dll
2.2 在Unity要做些什么。 
【转载】Unity3d引用外部的dll
注意:在[DllImport ("ASimplePlugi")] 参数中不要加入 .dll 后缀。
2.3 运行结果如下。 
【转载】Unity3d引用外部的dll

转载于:https://my.oschina.net/u/185335/blog/346204