在unity开发中,经常会使用package manager中导入插件,导入后就能使用插件中的功能。点开这些导入的插件文件夹,可以看到大多还是一些c#脚本、资源等,就是一些已经实现了某些功能的代码库。
那么关于如何导入自定义的包,unity手册中也有介绍创建自定义包 - Unity 手册
本文就来探究一下插件的开发流程,首先是插件文件夹的官方推荐目录结构,如下:
需要重点关注的是package.json就是包的信息,editor文件夹中存放使用了编辑器拓展的程序集,runtime文件夹存放了其它的程序集,tests是示例代码,samples则是场景文件,当然这只是官方推荐的包结构方式。
了解这些后,开始创建新的unity工程,开发插件。作为插件开发流程测试,仅添加一个集合扩展方法,作为插件主要功能。
第一步在asset目录下创建package.json文件,填入插件信息,版本号等。
第二步在asset目录下创建Runtime文件夹,在文件夹中创建ArrayTool脚本,在ArrayTool中需要指定命名空间,再编写扩展方法,作为插件主要测试方法。
namespace GSTool.Array//指定命名空间
{
public static class ArrayTool
{
public static string ToOneString(this ICollection collection)//扩展方法
{
var info = "";
foreach (var item in collection)
{
info += item.ToString() + " ";
}
return info;
}
}
}
第三步创建程序集,使文件夹Runtime内的脚本,编译进入该程序集。
再点击ArrayTool,能看到inspector窗口显示信息发生变更
第四步创建测试脚本和场景,创建Tests文件夹,创建测试脚本,在脚本中测试输出信息是否正确
至此插件部分代码已经完成,接下来就是将代码上传到git仓库。前提需要提前安装git(文章末尾有链接)。
首先需要为Asset目录创建版本库,点击弹框确认后,会在Asset目录下生成.git
然后需要创建Git远端仓库,这里使用coding项目管理工具,注册登录后新建项目,创建代码仓库
接下来将asset目录下的文件上传到git并推送
这里的地址为刚刚创建的git仓库地址。
点击后需要验证账号和密码,账号密码需要在coding中设置(账号信息是邮箱信息,不是用户名)。
至此,git仓库中的插件包已经准备好,接下来开启一个新的工程,下载插件并测试使用。
在package manager中打开gitrul下载,填入地址下载:
下载过程中可能会出现报错,同样参考手册从 Git URL 安装 - Unity 手册
下载完成后可以在package manager中看到自定义的插件:
创建脚本测试,引入命名空间,调用扩展方法,测试输出正常。
总结:unity对于自定义插件有很好的支持,可以直接从git仓库下载,所以在开发中的很多工具类都可以做成插件的形式上传和下载,这样在不同项目中都可以使用该插件的功能,不需要再手动搬运代码。
需要准备的开发环境:
1.Git安装
官网:https://git-scm.com/download/win(下载慢)
阿里镜像:https://npm.taobao.org/mirrors/git-for-windows/(根据自己的平台,选择安装包)
2.TortoiseGit安装(是一个开放的GIT版本控制系统的源客户端),语言包也一并下载安装