Unity如何引用dll

Unity如何引用第三方dll的完美方案

写在前面

这里介绍两种方法,针对不同的需求,方法一针对已知明确的dll,而且量少依赖少的dll;方法二通用推荐;方法三,通用(不推荐);

方法一

将所需要的文件夹放置到Unity项目的Plugins文件夹下
例如我这边有一个onnx的dll库,直接拖入到plugins文件夹下即可
在这里插入图片描述
然后我们双击任何一个脚本进入vs编辑环境,可以看到已经引用进来了

方法二

方法一有个问题就是,你必须明确有dll,如果你一开始就没有这个dll那就比较麻烦,而且很多dll其实是有依赖于其他dll,或者对NetFrameWork或者.NetCore的框架有要求,所以有了方法二

首先在Unity编辑器中双击脚本发现根本不像一般的vs项目,在工具-NUGet包管理器那一栏是灰色的
在这里插入图片描述
没法直接添加外部包,因此我们可以先使用已知的函数,然后通过智能的“显示可能的解决方案”找到使用包管理器进行安装即可,例如下图我想在Unity使用DenseTensor这个OnnxRuntime.dll的一个类,但是由于没有引用,自然会报错,那么可以通过Alt+Enter显示可能的解决方案,调出左侧的菜单框,然后点击使用包管理器安装
在这里插入图片描述
然后就可以正常进入包管理器进行安装想要的包
在这里插入图片描述
安装后,这时我们发现右侧已经成功安装
在这里插入图片描述
引用的这个库自然是自动会符合对应框架的,而且会发现它并不是放在Plugins下,而是会按照包的引用方式,会安装在Unity项目的Packages文件夹下。
在这里插入图片描述
但是这并不代表结束了,因为并不能生效,也就是说你generate一下project后再打开项目的vs,发现虽然已安装包但是unity又自动在引用里面去掉了刚刚的dll的引用,这个原因先不讨论,只说方法:找到上一步下载的Packages文件夹下的dll然后手动扔到Plugins下面,完成。

方法三

该方法虽然通用,但是并不推荐,一方面是因为需要安装Git,而且会有一些mainfest配置上的问题,以及url外链速度的问题
安装第三方的库进行NuGet包的Unity管理,具体方法其实就是先安装一个适配Unity的NuGet包,然后就可以像VisualStudio项目一样对包进行下载和管理
下载地址
具体安装的方法是,在Unity的Window-Packager Manager打开,点击+号,选择通过url 的方式,将上面这个下载地址的链接复制,然后即可下载
在这里插入图片描述
在链接中原作者已经提到2019版Unity编辑器以前和以后的处理方式略有不同,详细可以在上面这个链接看看,并不麻烦。另外需要注意的是在通过这种方式进行添加之前需要先安装Git,这里给出国内的镜像下载地址,速度快一些:Git下载地址
这里git的安装方法,一路点击默认即可,包括环境也配置,推荐这篇博文,但是环境这块建议默认Git安装
重启Unity后,进入Package Manager再次通过Add url的方式即可

猜你喜欢

转载自blog.csdn.net/vitomian/article/details/129660321
今日推荐