unity3d吧是一款非常优秀的游戏引擎鈳以使用C#作为脚本语言进行编程。但是有的时候我们需要运行一些第三方的程序例如C++实现的一些算法。我们需要将C++的代码以DLL的形式嵌入箌unity3d吧的程序中这时候就要用到C#调用C++ DLL的方法。本文给出一个最简单的调用方式实现了一些简单数据类型的传递。
在应用程序设置向导中选择应用程序类型为DLL。
由于我们使用的unity3d吧分32位和64位所以我们需要在配置管理器中设置与Unity一致的位数。我的unity3d吧是64位的所以我做了如下設置。
然后将下面的代码粘贴到TestDll.cpp中
然后点击生成解决方案,就可以在“工程根目录\x64\Release”路径下看到生成的TestDll.dll
创建一个新工程和一个新场景,并创建一个脚本UseDll.cs脚本的内容如下:
//初始化a、b、c、d 几个数据 //调用dll中的函数,对数据进行修改将这个脚本绑定到摄像机上并且要把上一步中生成的TestDll.dll拷贝一份放到“Unity工程根目录\Assets\Plugins”目录下。默认的时候Assets下是没有Plugins文件夹的需要自己创建。一切就绪后可以运行程序,在控制台顯示如下信息表示C#中初始化的数据已经在C++的DLL中被修改,即C#成功调用了C++的DLL