JingFengJi
for me
FRIENDS
llcat

Unity编辑器拓展之二十:拓展Unity模块,打造私人工具库(一)

2018-08-20

拓展Unity模块,打造私人工具库(一)

功能介绍

经过平时的项目积累,使用以及自己编写的编辑器工具越来越多,有些工具在别的项目中同样用的上,但是不希望每次都重新拷贝新代码到项目中,于是就希望能够拓展Unity模块,实现自己的工具库,方便导入工具到项目中。

通过查阅资料发现,在Unity的安装目录 Unity2017.3.1f1\Editor\Data\UnityExtensions\Unity
(我的版本是2017.3.1f1)下,有一些Unity自带的模块,可以通过在该路径下放入自己的模块,就可以实现Unity新建的项目都拥有该拓展模块的功能。那么,接下来就写一个工具导入模块放入该文件夹中。

UnityExtensions文件结构基本介绍

1、ivy.xml文件

其中:version、unityVersion均为当前Unity的版本号;artifact name 标签为我们的DLL文件的相对路径。

<?xml version="1.0" encoding="utf-8"?>
<ivy-module version="2.0">
  <info version="2017.3.1" organisation="Unity" module="UnityToolCenter" e:packageType="UnityExtension" e:unityVersion="2017.3.1f1" xmlns:e="http://ant.apache.org/ivy/extra" />
  <publications xmlns:e="http://ant.apache.org/ivy/extra">
    <artifact name="Editor/UnityToolCenter" type="dll" ext="dll" e:guid="adebbd281f1a4ef3a30be7f21937e02f" />
  </publications>
</ivy-module>

2、Editor文件夹
放入dll 代码中属于编辑器拓展的代码

逻辑说明

工具初版示意图:

这里写图片描述

通过勾选UnityPackage,直接导入到项目中,简单快捷。

为了不直接将UnityPackage文件放入到Unity安装目录下,因此新增一个config.ini文件,里面配置UnityPackage文件的路径(绝对路径),例如下图:
这里写图片描述

这里写图片描述

通过读取该配置文件,加载配置下所有路径的所有后缀名为unitypackage文件,然后显示在编辑器中。

使用介绍

将脚本打成dll后,将UnityToolCenter.dll和UnityToolCenter.pdb文件放入安装目录下

这里写图片描述

修改ivy.xml文件为

<?xml version="1.0" encoding="utf-8"?>
<ivy-module version="2.0">
  <info version="2017.3.1" organisation="Unity" module="UnityToolCenter" e:packageType="UnityExtension" e:unityVersion="2017.3.1f1" xmlns:e="http://ant.apache.org/ivy/extra" />
  <publications xmlns:e="http://ant.apache.org/ivy/extra">
    <artifact name="Editor/UnityToolCenter" type="dll" ext="dll" e:guid="adebbd281f1a4ef3a30be7f21937e02f" />
  </publications>
</ivy-module>

【注意】版本号,以及dll的路径

此时,新建另一个Unity工程(同版本),就会发现菜单栏也带有Tools/UnityToolCenter,具体导入UnityPackage逻辑见下期

参考文献

https://539go.com/2017/10/20/UnityEditor-Unity%E7%9A%84%E6%A8%A1%E5%9D%97/

工具终版见下期

以上知识分享,如有错误,欢迎指出,共同学习,共同进步。

Author: Mr.Ding

Link: https://jingfengji.github.io/2018/08/20/Unity编辑器拓展之二十:拓展Unity模块,打造私人工具库(一)/

Copyright: All articles in this blog are licensed under CC BY-NC-SA 3.0 unless stating additionally.

< PreviousPost
Unity编辑器拓展之二十一:拓展Unity模块,打造私人工具库(二)
NextPost >
Unity编辑器拓展之十九:NGUI UISprite预览图Preview拓展
CATALOG
  1. 1. 拓展Unity模块,打造私人工具库(一)
    1. 1.1. 功能介绍
    2. 1.2. UnityExtensions文件结构基本介绍
    3. 1.3. 逻辑说明
    4. 1.4. 使用介绍
    5. 1.5. 参考文献
    6. 1.6. 工具终版见下期