• unity3D使用dll打包 2015-09-06 19:07:36
    c#提供了dll打包,但是unity中由于涉及到unity的自身dll,如UnityEngine.dll,我们一般写的很多代码都会涉及到对这个dll的引用,在unity中建代码文件都会默认添加对此dll命名空间的使用,using UnityEngine;...
    unity中有些时候有些代码是一整套的,如果能把他们归类起来作为一个文件整个代码结构看起来就会整洁清爽很多。
    
    c#提供了dll打包,但是unity中由于涉及到unity的自身dll,如UnityEngine.dll,我们一般写的很多代码都会涉及到对这个dll的引用,在unity中建代码文件都会默认添加对此dll命名空间的使用,using UnityEngine;
    因此在涉及到使用此dll在打包dll的时候就要有点特殊处理。
    
    项目中常见的是对Debug的二次封装,由于调试的需求,在项目开发周期debug是个很重要且常用的类,但是debug的效率实在是不忍直视,所以在打包apk时出于效率考虑就要屏蔽掉debug的调试,这时要做的可能是删除掉所有对应的代码,这基本上是不可能的,不说这些调试代码可能以后会用到,每次打包都删一次也不实际。还有一种是设定bool值,每次调用Debug类的时候,判定此bool值,每次都要判定,这本书就代码冗余,设计的不合理。这里大家想到的可能都是二次封装了。在封装一个类,调用Debug的时候调用封装的类,但是这又设计到一个问题,Debug调试的一个重要功能就是显示在控制台的信息双击可以跳到指定代码,如果这样二次封装的话就每次跳到封装的代码里,而不是我们想要的地方。有人说可以看堆栈调用信息,可是每次都看,很累的。对于这个问题,便是将二次封装类进行dll打包。
    
    啰嗦了一大堆,只是说明为什么要对Debug进行二次封装和为什么要用dll的原因,具体方法如下,unity官方提供了相应的教程。
    
    **[Unity官方文档教程链接地址](http://docs.unity3d.com/Manual/UsingDLL.html)**
    
    文档是英文的,但是不难,分别讲解了在Windows条件下和mac条件下的操作方法。
    
    这里以Windows为例,大概讲解一下。
    **流程:**
    
    **1.**先进入unity的安装目录,找到你引用的dll,地址类似于C:\Program Files\Unity\Editor\Data\Managed
    如你引用了UnityEngine.dll,那么久复制对应的文件。
    
    **2.**将复制的文件拷贝到硬盘根目录,根目录的缘故是为了接下来方便操作,也可以在根目录下创建一个文件夹,将文件放入这个文件夹。这里示例为F盘根目录 。**注意:不建议放在桌面**
    
    **3.**将你要打包dll的文件复制到同个地方(示例为F盘根目录)
    
    **4.**开cmd界面,进入执行文件的目录,路径大概如下
    C:\Program Files (x86)\Unity4.6\Editor\Data\MonoBleedingEdge\lib\mono\2.0
    根据自己的安装目录进行参考
    
    **5.**执行命令,命令大概如下
    mcs -r:F:\UnityEngine.dll -target:library F:\DebugCustom.cs
    其中mcs是命令是要执行的命令,F:\UnityEngine.dll是引用的dll,如果你引用了多个dll,可以加个空格后继续添加,-target:library是指将文件打包成dll,F:\DebugCustom.cs是你要打包成dll的文件,如果文件有多个,同样加空格然后在后面添加
    
    上面就是流程了,看完了后不知道有没有看出问什么会有上面那个注意了,第五条中空格很关键,而我们桌面的路径有的会有空格,win7的没有,好像是Xp有,所以只是不建议,而不是不能。大家根据自己的情况调整就行。
    
    [文章原创,转载请注明出处](http://blog.csdn.net/suifcd)。
    展开全文
  • Unity3D 能够很方便的集成一些外部插件,以便调用现有的动态链接库。下面就给大家介绍Unity中调用动态库dll的方法。其实就是c#调用dll。一、生成64位的dll1.用vs新建个工程,随便写个函数NaviteCode.hAخA 1 #...
  • 上篇 Unity3d 调用C++ DLL (Win平台) 介绍了简单的 Unity3d 调用 C++ DLL的方法,但是这样是不够的,这里再讲下通过函数指针让 C++ DLL中回调 Unity3d 的方式。 创建DLL 以及在 Unity3d 中调用 DLL 中函数在上篇中...
  • Unity3D引用dll教程 2013-07-13 23:39:14
    Unity3D引用dll教程:首先打开vs新建一个项目:建立的项目是c#的类库文件。位置任意。 Unity3D引用dll教程 项目创建好之后就要添加引用,找到Unity3D的安装目录依次打开目录Unity\Editor\Data\Managed,...
  • Unity3d 调用 C++ DLLDLL回调Unity3d C++ DLL回调 C 函数
  • Unity3d使用C++ DLL 2020-06-02 23:32:11
    Unity3d使用C++ DLL
  • Unity 3D 调用DLL的方法 2018-04-22 11:43:10
    1.创建DLL困扰Unity人员的主要问题大概出于Dll不会生成。这个确实比较麻烦,我这里给出一个vs 2008中创建DLL的方法。 1)首先打开vs2008,当然2005或者2003也都差不多。我这里用的是2008. 在C++项目中选择 Win32程序...
  • 今年我们开始使用Unity3D开发MMORPG,脚本语言使用C#,这样我们就可以使用以往积累的许多类库。但是,在U3D中使用.NET dll的过程并不是那么顺利,比如我们今天遇到的这种问题。 一.问
  • Unity3d 调用C++ DLL (Win平台) 2016-07-27 20:17:12
    Unity3d提供了功能可以让我们自己用各种语言编写 Plugin 来在Unity中使用
  • 网上已经有很多文章讲解过Unity3D脚本DLL 解密,基本方法原理都差不多,就是通过HOOK或者调试下断mono_image_open_from_data_with_name这个函数拿到解密后的DLL。这些方法都需要比较专业的知识(Hook或者过反调试),...
  • 制作DLL并在Unity3d使用 2017-06-23 00:37:05
    1.build .dll in MonoDevelop(Unity5.6 buit-in)  新建Library项目。 点击Project下的References后的齿轮,Edit ... 其中Unity3d的库地址参考如下: Windows:……\Unity\Editor\Data\Managed\ Mac:/Applica
  • Unity3D调用.DLL文件 2018-05-18 22:41:04
    工具:VS(VS2013)、UnityUnity5.2.2) 一.打开VS,新建项目 选择Wint32控制台应用程序 选择DLL和空项目 右键点击添加类 在这里类命名为CallByUnity,点击确定,将生成CallByUnity.h和CallByUnity.cpp ...
  • 如果稍微关注过这方面知识的朋友,应该知道Unity3D做出来的项目是非常容易被反编译的,被反编译后你的所有资源和代码都将会...首先第一篇,我会简单的说明一下怎样在Unity3D里面使用dll动态链接库,然后第二篇会说...
  • 之前一篇文章阿赵已经简单的介绍了怎样把自己写的代码打包成dll动态链接库,然后在Unity3D里面用。那么接下来的事情似乎就很简单了,我们在Unity3D里面写脚本,到最后完成时,把核心的代码剪切出去打包成dll文件再放...
  • 简介:在把Unity3d的C#代码打成dll进行使用的时候,有两种简单的方法。第一种是使用vs,新建C#库,添加使用到Unity的dll引用,例如UnityEngine.dll或者UnityEngine.UI.dll第二种更简单,就是使用Mono的mcs工具关于...
  • 相信很多人在使用unity3d引擎开发游戏,大家有没有碰到过,热更的问题。 热更现在并不是陌生的词,对于热更,网上有好多的案例和方法。常用的lua,xlua。 今天我给大家带的是使用dll的热更思路,具体怎么应用,你自己...
  • [Unity3d]调用自己封装的dll 2014-02-24 13:37:40
    之前总感觉会封装dll组件的都是大牛级别的程序员做的事情,然后供给菜鸟级别的调用。感觉为了保护自己的源码不会被他人知道,然后就封装一...首先要申明的是,unity3d支持C#语言,但只有pro版本才支持.net2.0,其他版本
  • unity3d调用DLL 2012-12-22 20:51:40
    接触Unity 3D 时间不长,看到网上有人问怎么通过Unity来调用Dll,而且发现这个问题似乎是用unity的朋友并不熟悉DLL使用造成的,正好我使用过C++,对DLL还比较熟悉,因此写了一个小小的教程来谈谈unityDll调用...
  • 前面介绍了在 Unity3d 中通过 Plugin 功能来调用 C++ DLL 中的函数 以及回调的使用方法,但最终目的还是让 Unity3d 中可以调用 Lua 脚本中的函数,现在来实现 首先关注前面两篇文章:1、Unity3d 调用C++ DLL (Win...
1 2 3 4 5 ... 20
收藏数 5,611
精华内容 2,244