烟台做网站建设电话,快站科技是什么,wordpress侧栏登陆,网站建设的频道是什么目录
一.UnityPackageManager的介绍
二.package包命名
三.包的布局
四.生成清单文件
五.制作package内功能
六.为您的软件包撰写文档
1.信息的结构
2.文档格式
七.提交上传云端仓库
1.生成程序集文件
2.上传至云端仓库
八.下载使用package包
1.获取包的云端路径
…目录
一.UnityPackageManager的介绍
二.package包命名
三.包的布局
四.生成清单文件
五.制作package内功能
六.为您的软件包撰写文档
1.信息的结构
2.文档格式
七.提交上传云端仓库
1.生成程序集文件
2.上传至云端仓库
八.下载使用package包
1.获取包的云端路径
2.在unity内添加包
3.使用测试包
4.更新包 一.UnityPackageManager的介绍
Unity Package Manager 是 Unity 官方的包管理系统使用 Package Manager 可以定义项目依赖项解析包依赖关系根据需要下载和添加包以及将内容集成到项目中。具备以下功能 1.允许 Unity 快速轻松地分发新功能以及更新现有功能。 2.为用户提供一个发现和共享可重用组件的平台。 3.将 Unity 提升为可扩展的开放平台。
其中package包可以包含以下内容
C# 脚本程序集原生插件模型、纹理、动画和音频剪辑以及其他资源。
其他有关UMP的详细介绍请移步官网https://docs.unity.cn/cn/2019.4/Manual/PackagesList.html
二.package包命名
1.一个包有两个名称正式名称和显示名称前者用于注册包后者是用户在 Editor 中看到的面向用户的名称。 2.显示名称应简短但应在一定程度上表明包中的内容。除此以外Unity Package Manager 对显示名称没有任何限制。 3.正式名称必须遵循 Unity Package Manager 命名约定也就是使用反向域名表示法。名称必须满足以下条件 4.以 域名扩展.公司名称例如com.example 或 net.example开头即使公司或网站名称以数字开头也是如此。 5.如果您希望正式名称显示在编辑器中则长度不能超过 50 个字符。如果包名称不需要出现在编辑器中则 Unity Package Manager 会将名称长度限制为不超过 214 个字符。 6.只能包含小写字母、数字、连字符 (-)、下划线 (_) 和句点 (.) 7.要指示嵌套的命名空间请为命名空间添加一个句点作为后缀。例如“com.unity.2d.animation”和“com.unity.2d.ik”。
正确命名后即可在Unity工程的Assets文件夹下创建当前命名的文件夹之后的代码和美术素材都会放在下面
三.包的布局
包的布局包括以下模块编辑器实时测试案例文档 包内的官方布局如下也就是说包内的规范文件夹层级和分类可以按照官方的案例设置当然了这个也不是唯一的只是更加全面方便他人学习查看。https://docs.unity.cn/cn/current/Manual/cus-layout.html
root├── package.json├── README.md├── CHANGELOG.md├── LICENSE.md├── Third Party Notices.md├── Editor│ ├── [company-name].[package-name].Editor.asmdef│ └── EditorExample.cs├── Runtime│ ├── [company-name].[package-name].asmdef│ └── RuntimeExample.cs├── Tests│ ├── Editor│ │ ├── [company-name].[package-name].Editor.Tests.asmdef│ │ └── EditorExampleTest.cs│ └── Runtime│ ├── [company-name].[package-name].Tests.asmdef│ └── RuntimeExampleTest.cs├── Samples~│ ├── SampleFolder1│ ├── SampleFolder2│ └── ...└── Documentation~└── [package-name].md
位置描述package.json包清单定义了包的依赖项和其他元数据。README.md开发者包文档。通常来说这是文档可帮助那些想要修改包或想要在包主源代码仓库中推送更改的开发者。CHANGELOG.md对于包更改的描述按照相反的时间顺序列示。最好使用标准格式比如保留变更日志 (Keep a Changelog)。LICENSE.md包含包许可证文本。通常Package Manager 将从所选的 SPDX 列表网站复制文本。Editor/特定于 Editor 平台的 Assets 文件夹。与 Assets 下的 Editor 文件夹不同这只是一个约定不会影响资源导入管线。请参阅程序集定义和包以在此文件夹中正确配置特定于 Editor 的程序集。Runtime/特定于运行时平台的 Assets 文件夹。这只是一个约定不会影响资源导入管线。请参阅程序集定义和包以在此文件夹中正确配置运行时程序集。Tests/用来存储包中所有包含的测试的文件夹。Tests/Editor/特定于 Editor 平台的测试文件夹。请参阅程序集定义和包以在此文件夹中正确配置特定于 Editor 的测试程序集。Tests/Runtime/特定于运行时平台的测试。请参阅程序集定义和包以在此文件夹中正确配置运行时测试程序集。Samples~/用来存储包中所有包含的示例的文件夹。Documentation~用来存储包中所有包含的文档的文件夹。
四.生成清单文件
具体的文件模板如下里面主要包含了包名版本显示名字描述信息依赖项关键词作者信息等数据用户可以根据实际情况按需填写
https://docs.unity.cn/cn/2021.3/Manual/upm-manifestPkg.htmlpackage.json清单文件的编写规范参考官方介绍https://docs.unity.cn/cn/2021.3/Manual/upm-manifestPkg.html
{name: com.[company-name].[package-name],version: 1.2.3,displayName: Package Example,description: This is an example package,unity: 2019.1,unityRelease: 0b5,documentationUrl: https://example.com/,changelogUrl: https://example.com/changelog.html,licensesUrl: https://example.com/licensing.html,dependencies: {com.[company-name].some-package: 1.0.0,com.[company-name].other-package: 2.0.0},keywords: [keyword1,keyword2,keyword3],author: {name: Unity,email: unityexample.com,url: https://www.unity3d.com}
}
五.制作package内功能
这里用其中一个模块功能做演示Unity内Object的扩展工具
#region 模块信息
// **********************************************************************
// Copyright (C) 幻世界
// Please contact me if you have any questions
// File Name: ObjectExtension
// Author: 幻世界
// **********************************************************************
#endregion
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;namespace HSJFramework
{public static class ObjectExtension{#region GameObject相关扩展public static GameObject Show(this GameObject selfObj){selfObj.SetActive(true);return selfObj;}public static GameObject Hide(this GameObject selfObj){selfObj.SetActive(false);return selfObj;}public static GameObject Name(this GameObject selfObj, string name){selfObj.name name;return selfObj;}public static GameObject Layer(this GameObject selfObj, int layer){selfObj.layer layer;return selfObj;}public static void DestroySelf(this GameObject selfObj, float t 0){GameObject.Destroy(selfObj, t);}#endregion}
}
六.为您的软件包撰写文档
大多数软件包都需要某种形式的注解以帮助用户获得最佳体验并优化其使用。本页面提供了一些有关如何结构化信息和格式化文档提示。
1.信息的结构
在软件包的标题之后您应为软件包的功能和/或它包含的内容提供基本的概述。在概述之后包括安装说明以及任何系统要求和/或限制。您还可以提供获取帮助和提供反馈的链接包括公共论坛或知识库以及帮助中心联系人。
在获得这些初步信息之后您可以提供更深入的工作流程、用户界面描述或示例目录列表以及更高级的主题。最好在最后提供参考页。
部分描述概述提供该软件包的简要、高层次的描述。软件包内容包括您希望用户知道的重要文件的位置。例如如果这是一个示例包各个示例分别包含了纹理、模型和材质您可能需要提供每个组的文件夹位置。安装说明您可以提供指向官方的 Package Manager 安装说明的链接但是如果您有任何特殊的安装需求比如安装示例可以在这里添加。要求这是添加硬件或软件要求合适的位置包括此软件包与哪些版本的 Unity 编辑器兼容。限制如果您的软件包有任何已知限制可在此处列出。如果没有限制或者限制是微不足道的可去除此部分。工作流程包括用户可以轻松遵循的步骤列表以演示如何使用该功能。您可以包含屏幕截图来帮助描述如何使用该功能。高级主题您可以在此处提供有关要向用户提供的内容的详细信息。如果您不希望用户一开始就面对太多信息这是理想的选择。参考如果您的用户界面具有很多属性则可以在参考部分中提供详细信息。使用表格是快速访问特定属性描述的好方法。示例对于包含示例文件的软件包您可以包含有关用户如何在其项目和场景中使用这些示例文件的详细信息。教程如果您想为复杂程序提供演练您也可以在此处添加。使用分步说明并包含可以帮助用户理解的图像。2.文档格式
Markdown 是一种软件包中常用的轻量级格式。许多代码仓库托管服务例如 GitHub 和 Bitbucket都支持该格式的自述文件和文档站点。您可以在软件包根目录下的“Documentation~”文件夹中提供一个 MD 文件用户在 Unity Package Manager 的详细信息窗格中单击 View documentation 的链接时默认 MD 查看器将打开该文件。
七.提交上传云端仓库
1.生成程序集文件
在提交包之前我们要在当前包的下生成一个程序集程序集的存放路径要根据包的布局规则来处理如果存在Editor和RunTime或者其他的 分类模块那每个模块下都需要创建对应的程序集我这里默认只有一个Runtime模块所以只生成一个程序集即可我的包结构如下简单明了 。
2.上传至云端仓库
有的人使用GitHub,也有的人使用Gitee我这里使用的Gitee不管使用什么流程都是一样的用户通过git或者svn亦或其他工具把当前工程提交即可 八.下载使用package包
1.获取包的云端路径
复制并编辑当前包的云端路径
https://gitee.com/Gitee用户名/当前仓库名.git?path/Assets/HSJExample/Other/com.hsj.object_extension#master 2.在unity内添加包
在unity的packagemanager界面通过git连接添加包体把我们刚才编辑的地址放进去然后就可以添加了 添加成功后这个包就会被当前项目使用了 3.使用测试包 测试代码 private void Start(){gameObject.Show().Name(name);this.Position(Vector3.one);this.PositionMonoBehaviour(Vector3.one).Rotation(Quaternion.identity);} 4.更新包
然后就可以愉快的玩耍了如果有更新把更新过的内容直接提交即可记得修改版本号之后在unity内重新导入这个包的连接就行了