Unity 调用外部DLL插件

在此说明的是,本文说明的是调用非C#语言包装的DLL文件,因为C#的DLL文件在unity中被使用更简单,using dllname就好,当然dll插件都要放在相应的文件目录。

http://docs.unity3d.com/Manual/NativePlugins.html (unity 原生插件使用)

原生插件

为了使unity能否访问我们写的插件代码,我们要调用的方法的代码一定要基于C语言的方式写。原生插件需要提供一个C接口(暴露给用户使用的部分)。

以C++为例

extern "C"
{
    int __declspec(dllexport) AddValue(int a, int b) {
        return a + b;
    }
}

写好这样一个C接口后,把生成的DLL文件放在unity项目的D:\Unity5.X Project\middleVR\Assets\Plugins\x86_64目录下,因为我的项目是x64环境编译的,x86环境就是放在相应的x86目录下,当然都是以window系统下为前提。

然后在unity中新建一个C#脚本,代码为

using UnityEngine;
using System.Collections;
using System.Runtime.InteropServices;
public class dlltest : MonoBehaviour {

    [DllImport ("DLLTest")]
    public static extern int AddValue (int a, int b);
    // Use this for initialization

    void Start () {
        Debug.Log (AddValue (2, 2));
    }

    // Update is called once per frame
    void Update () {

    }
}

这样就可以成功调用DLL中的方法了

最后附上官方调用外部DLL的例子,里面包含了调用Eclipse制作的插件,VS制作的插件,XCode制作的插件的例子
链接:http://pan.baidu.com/s/1i4Hxx5b 密码:g6u7

在Unity中如何从C++到C#传递数组?
http://answers.unity3d.com/questions/34606/how-do-i-pass-arrays-from-c-to-c-in-unity-if-at-al.html

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页