美文网首页unity3D技术分享
Unity调用自定义的DLL以及C#调用Unity的DLL

Unity调用自定义的DLL以及C#调用Unity的DLL

作者: wang_liang | 来源:发表于2017-06-26 12:33 被阅读937次

    一、创建DLL

    打开VS,文件 > 新建 > 项目


    新建项目.png

    点击确定,编辑代码

    using System;
    namespace MyDll
    {
      public class Tip
      {
        public static string GetText()
        {
          return "hello world";
        }
      }
    }
    

    生成dll,如图

    image.png
    生成的dll文件的路径在你的工程文件下的\bin\Debug\xxx.dll
    例如我的是在C:\Users\admin\Documents\visual studio 2015\Projects\MyDll\MyDll\bin\Debug\MyDll.dll
    PS:也可以用MonoDeveloper创建并生成dll,至于操作步骤可以查看官网手册

    二、导入DLL

    在这一步操作之前需要注意在第一步创建项目时默认选择的是.Net Framework4.5.2,我用的Unity版本是5.4.3,支持的.NET Framework的版本为3.5,需要修改一下,在VS里项目>MyDll属性 如图


    改dll属性.png
    image.png

    这样dll的生成才算是完成了,如果不进行这步直接放到Unity里当然会报错,如图


    dll属性未修改的报错
    接着重新生成一下dll文件,重新导入到Unity的Pugins文件夹下就行了。

    三、调用DLL

    在Unity新建一个TestDll的脚本,并挂到主摄像机上,脚本代码如下:

    using UnityEngine;
    using MyDll;//引入dll
    public class TestDll : MonoBehaviour
    {
      void Start()
      {
        Debug.Log(Tip.GetText());
      }
    }
    

    注意,调用Dll中的方法一定要使用using语句引入导入到unity中的dll类库。using MyDll;

    C#引用Unity原生类库

    Unity类库在Mac上的路径为Applications/Unity.app/Contents/Frameworks/Managed/UnityEngine.dll
    在Windows上的路径为
    Program Files\Unity\Editor\Data\Managed\UnityEngine.dll

    项目>添加引用>浏览>根据路径找到UnityEngine.dll,还有很多其他的dll

    image.png
    删除多余的引用.
    引入dll后,代码就可以用了,使用dll用using UnityEngine;这样就可以用这个dll库下的内容了例如
    using System;
    using UnityEngine;//引入dll
    namespace MyDll
    {
      public class Tip
      {
        public static string GetText()
        {
          return "hello world";
        }
        public static void UnityDllTest()
        {
          Debug.Log(123);
          GameObject go = GameObject.CreatePrimitive(PrimitiveType.Cube);
        }
      }
    }
    

    Debug,GameObject等都可以使用了

    相关文章

      网友评论

        本文标题:Unity调用自定义的DLL以及C#调用Unity的DLL

        本文链接:https://www.haomeiwen.com/subject/jcwdcxtx.html