以下所有的操作均建立在已经存在的本地git仓库之上;
1. 将需要制作成插件包的所有文件放置到一个新建的文件夹根节点下;
例如:
2. 在根目录下新建文本文档,修改名称为package.json ;
例如:
3. 打开package.json,添加如下代码:
{
"name": "org.khronos.unitygltf",
"displayName": "UnityGLTF",
"version": "2.0.8", //版本号
"unity": "2020.3", //Unity版本
"description": "Unity3D library for importing and exporting GLTF 2.0 assets. ", //描述
"keywords": [ //关键字,自选项
"gltf",
"khronos",
"runtime",
"loader"
],
"author": "Khronos Group", //作者
"dependencies": { //依赖包,没有的话可以忽略
"com.unity.nuget.newtonsoft-json": "2.0.0",
"com.unity.modules.imageconversion": "1.0.0"
}
}
4. 发布UPM包
当我们在master分支完成开发后,并且已经提交到本地并推送到远程服务器,然后执行以下git命令;
git subtree split --prefix=Assets/UnityGLTF --branch upm
该命令会将插件包所在的文件夹(即:Assets/UnityGLTF)创建为subtree,并将该目录放置在UPM分支内。UPM分支只会保存prefix指定的文件内的文件,Assets目录下的其他文件都不会被保存;
然后使用git命令,将UPM分支推送到远程服务器;
git push origin upm
至此,UPM包就制作完成了。我们可以试着将该UPM包添加到Unity工程;
我当前的这个UPM,是直接推送到了公司内部的git服务器,地址为:
http://IP地址和端口/git用户名/unitygltf.git#upm(这里用自己的upm分支的地址)
回到Unity编辑器,在菜单栏一次选择:Window/Package Manager
然后在弹出的窗口,点击左上角的“ + ” ,然后选择:Add package from git URL...
然后将自己的地址填进去,点击Add按钮即可;
5. 版本更新
Master分支开发完成之后,在package.json文件内更新版本号,然后执行以下git命令;
git subtree split --prefix=Assets/UnityGLTF --branch upm
git push origin upm
推送完成之后即完成版本更新。