提交资源到资产库
前言
本教程旨在指导你如何向 Godot 资产库提交自己的资产并与 Godot 社区分享。
正如 使用资产库 文档中提到的,为了能够向 AssetLib 提交资源,你需要有一个注册的帐户,并且需要登录。
提交规范
在提交你的资源之前,请确保你的资源符合所有要求,并考虑遵循规范建议。
需求
一般来说,人们提交给资源库的大部分资源都会被接受。然而,为了使你的资源被接受,资源需要满足一些要求才能被批准。
资产必须是有效的。如果该资产无法工作或在指定的 Godot 版本中不能工作,那么它将被拒绝。
该资产必须拥有合适的 .gitignore 文件。把多余的数据从版本库中剔除是很重要的。这里有一个模板。
不使用子模块,或者所有子模块都必须是非必要的。GitHub 下载的 ZIP 文件中不包括子模块,所以如果你的资产需要用到子模块中的内容,将无法使用。
许可证 license 需是正确。资产库中列出的许可证必须与版本库中的许可证一致。版本库需要有一个许可证文件,称为 “LICENSE” 或 “LICENSE.md” 。这个文件必须包含许可证文本本身和版权声明,包括年份和版权所有者。
在你的资产名称和描述中使用正确的英语。这包括使用正确的大写字母,并在描述中使用完整的句子。你也可以包括其他语言,但至少应该有一个英文版本。
图标链接必须是一个 direct link 直接链接。对于托管在GitHub上的图标,链接必须以 “raw.githubusercontent.com” 开头,而不是 “github.com”。
建议
这些事情并不是你的资源被批准的必要条件, 但如果你遵循这些建议, 你可以帮助使资源库成为所有用户体验更好的地方.
创建非项目资产时,通常的做法是将文件放在 addons/asset_name/ 文件夹中。这样做可以避免你的文件与其他资产或安装了你的资产的用户文件发生冲突。当用户安装你的资产时,此文件夹 不会 自动生成。
修复或禁止所有脚本警告。警告系统可帮助识别你的代码问题,但使用你的资产的人不需要看到它们。
使你的代码符合官方的风格指南。有一致的风格有助于其他人阅读你的代码,如果其他人希望为你的资产做贡献,将会有帮助。请参阅 GDScript 编写风格指南 或 C# 风格指南。
如果仓库中有截图,把它们放在子文件夹里,并在该文件夹里添加一个 .gdignore 文件(注意:是 gd,不是 git)。这样可以防止 Godot 导入截图。在 Windows 上,在项目文件夹中打开命令提示符,运行
type nul > .gdignore
来创建一个名字以点开头的文件。如果你的资产是用于处理其他文件的库,请考虑在资产中包含示例文件。
请考虑将 .gitattributes 文件添加到你的仓库中。该文件能够向 Git 提供额外的指令,例如指定行结尾和列出资产不需要使用
export-ignore
指令运行的文件。该指令会从生成的 ZIP 文件中删除此类文件,防止资产库用户下载到它们。以下是一些常见的 .gitattributes 示例:Projects / TemplatesAddons / Asset Packs
# Normalize line endings for all files that Git considers text files.
* text=auto eol=lf
# Normalize line endings for all files that Git considers text files.
* text=auto eol=lf
# Only include the addons folder when downloading from the Asset Library.
/** export-ignore
/addons !export-ignore
/addons/** !export-ignore
如果你要提交一个插件,请将你的许可证和readme的 copy 添加到插件文件夹本身。这是保证用户与他们的项目一起保留的文件夹,副本确保他们始终可以方便地使用这些文件,并帮助他们履行你的许可条款。
虽然资产库允许的不仅仅是 GitHub,但考虑将资产的源代码托管在 GitHub。其他服务可能无法可靠地工作,而且不熟悉可能会成为贡献者的障碍。
提交
一旦登录,你将能够转到 AssetLib 的 “Submit Assets”(提交资产)页面,该页面如下所示:
虽然它可能看起来很多(并且向下滚动时会显示更多),每个字段都是根据你应该放入的内容进行描述的。但是,我们仍坚持在这里将提交表单中所需的内容详细阐述一遍。
Asset Name:
你资产名称。应该是你资产的特有描述性标题。
Category:
你的资产所属的类别,将显示在搜索结果中。该类别分为 Addons(插件)和 Projects(项目)。在编辑器中,项目类型(模板、演示、项目)的资产将显示在项目管理器的 AssetLib 中,而插件类型的资源仅显示在项目内部中。
Godot version:
该资产适用的引擎版本。目前,无法让一个资产条目包含多个引擎版本的下载,所以你可能需要多次提交资产,为其支持的每个 Godot 版本添加一个条目。在处理主要的引擎版本时,这一点尤其重要,如 Godot 2.x 和 Godot 3.x。
Version:
资产的版本号。虽然你可以自由选择和使用你喜欢的任何版本控制方案,但如果你希望资产的版本控制方案清晰且一致,你可能需要查看诸如 SemVer 之类的内容。请注意,系统内还有一个内部版本号,每次更改或更新资源下载地址时都会增加。
Repository host:
上传到 AssetLib 的资产并不直接托管在它上面。而是指向 GitHub、GitLab、Bitbucket 等第三方 Git 提供商托管的仓库。这就是你选择资产所用提供商的地方,这样网站就能据此计算出最终的下载链接。
Repository URL:
资产文件/网页的 URL。这将根据你选择的提供商而有所不同,但结构类似于 https://github.com/<用户>/<项目>。
Issues URL:
资源问题跟踪器的 URL。同样,根据托管仓库的不同而不同,但结构类似于 https://github.com/<用户>/<项目>/issues。如果你使用提供商的问题跟踪器,则可以将此字段留空,因为它是仓库的一部分。
Download Commit:
该资产的提交号。例如,b1d3172f89b86e52465a74f63a74ac84c491d3e1。网站以此计算出实际的下载 URL。
Icon URL:
资产图标的 URL(将在 AssetLib 搜索结果和资产页面中用作缩略图)。应该是 PNG 或 JPG 格式的图像。
图标必须为正方形(纵横比为 1:1),最低分辨率为 128x128 像素。
备注
如果是托管在 GitHub 上的图标,URL 必须是 https://raw.githubusercontent.com/<用户>/<项目>/<分支>/Icon.png 的形式。
License:
分发资产所使用的许可协议。列表中包含了 GPL(v2 和 v3)、MIT、BSD、Boost 等各种自由开源软件许可协议。访问 OpenSource.org 就可以获取此处列出协议的详细说明。
Description:
最后,你可以使用 Description 字段来查看资源,其功能和行为,更改日志等文本概述。将来,将支持使用 Markdown 格式,但目前只支持纯文本。
你还可以包含最多三个视频和/或图像预览,这些预览将显示在资源页面的底部。请使用每个预览提交框上的“启用”复选框从而启用它们。
Type:
图像或视频。
Image/YouTube URL:
图像或托管在 YouTube 上的视频的链接。
Thumbnail URL:
图片的 URL,这张图片将用作预览的缩略图。这个选项最终将被删除,缩略图将被自动计算出来。
完成后点击“Submit”。你的资产就会进入审核队列。你可以在这里查看所有正在等待审核的资产。审核过程是人工的,你的资产可能会花上若干天才能通过(或者驳回),请耐心等待!
备注
你可以在贡献者聊天室或官方 Discord 服务器中联系管理员和 AssetLib 审核员碰碰运气看看能不能加速审核进度。
你的资产通过审核后会通知你。如果被驳回,会告知你相关原因,你可以在做出正确的修改后重新提交。