提交资源到素材库

前言

本教程旨在指导你如何向 Godot 素材库提交自己的素材并与 Godot 社区分享。

正如 使用素材库 文档中提到的, 为了能够向AssetLib提交资源, 您需要有一个注册的帐户, 并且需要登录.

提交指南

在提交您的资源之前, 请确保您的资源符合所有要求, 并考虑遵循规范建议.

需求

一般来说, 人们提交给资源库的大部分资源都会被接受. 然而, 为了使您的资源被接受, 资源需要满足一些要求才能被批准.

  • 素材必须是有效的。如果该素材无法工作或在指定的 Godot 版本中不能工作,那么它将被拒绝。

  • 该素材必须拥有合适的 .gitignore 文件。把多余的数据从版本库中剔除是很重要的。这里有一个模板。

  • 不使用子模块,或者所有子模块都必须是非必要的。GitHub 下载的 ZIP 文件中不包括子模块,所以如果你的素材需要用到子模块中的内容,将无法使用。

  • 许可证 license 需是正确。素材库中列出的许可证必须与版本库中的许可证一致。版本库需要有一个许可证文件,称为 “LICENSE” 或 “LICENSE.md” 。这个文件必须包含许可证文本本身和版权声明,包括年份和版权所有者。

  • 在你的素材名称和描述中使用正确的英语。这包括使用正确的大写字母,并在描述中使用完整的句子。你也可以包括其他语言,但至少应该有一个英文版本。

  • 图标链接必须是一个 direct link 直接链接。对于托管在GitHub上的图标,链接必须以 “raw.githubusercontent.com” 开头,而不是 “github.com”。

建议

这些事情并不是你的资源被批准的必要条件, 但如果你遵循这些建议, 你可以帮助使资源库成为所有用户体验更好的地方.

  • 修复或禁止所有脚本警告。警告系统可帮助识别您的代码问题,但使用您的素材的人不需要看到它们。

  • 使你的代码符合官方的风格指南。有一致的风格有助于其他人阅读你的代码,如果其他人希望为你的素材做贡献,将会有帮助。请参阅 GDScript 风格指南C# 风格指南

  • 如果仓库中有截图,把它们放在子文件夹里,并在该文件夹里添加一个 .gdignore 文件(注意:是 gd,不是 git)。这样可以防止 Godot 导入截图。在 Windows 上,在项目文件夹中打开命令提示符,运行 type nul > .gdignore 来创建一个名字以点开头的文件。

  • 如果您的素材是用于处理其他文件的库,请考虑在素材中包含示例文件

  • 考虑将 .gitattributes 文件添加到你的存储库中。该文件允许向 Git 提供额外的指令,例如指定行结尾和列出资产不需要使用 export-ignore 指令运行的文件。该指令从生成的 ZIP 文件中删除此类文件,并防止素材库用户下载它们。对于典型的插件 .gitattributes 可能如下所示:

    1. # Normalize EOL for all files that Git considers text files.
    2. * text=auto eol=lf
    3. # Ignore some files when exporting to a ZIP.
    4. /.gitattributes export-ignore
    5. /.gitignore export-ignore
    6. /LICENSE export-ignore
    7. /LICENSE.md export-ignore
    8. /README.md export-ignore
    9. /project.godot export-ignore
    10. /icon.png export-ignore
    11. /icon.svg export-ignore

    其他类型的资产可能需要不同的配置(例如,项目模板需要 project.godot)。

  • 如果你要提交一个插件,请将你的许可证和readme的 copy 添加到插件文件夹本身。这是保证用户与他们的项目一起保留的文件夹,副本确保他们始终可以方便地使用这些文件,并帮助他们履行你的许可条款。

  • icon 应为正方形,其纵横比应为 1:1。它的最低分辨率最好是64x64像素。

  • 虽然素材库允许的不仅仅是 GitHub,但考虑将资产的源代码托管在 GitHub。其他服务可能无法可靠地工作,而且不熟悉可能会成为贡献者的障碍。

提交

一旦您登录, 您将能够转到AssetLib的 提交资源 页面, 该页面如下所示:

image0

虽然它可能看起来很多(并且向下滚动时会显示更多), 每个字段都是根据您应该放入的内容进行描述的. 但是, 我们仍坚持在这里将提交表单中所需的内容详细阐述一遍.

  • 资源的名称 :

    您的资源名称. 应该是您资源的特有描述性标题.

  • 分类 :

    您的资源所属的类别, 并将显示在搜索结果中. 该类别分为 插件项目 . 在编辑器中, 项目类型(模板, 演示, 项目)的资源将显示在项目管理器的AssetLib中, 而插件类型的资源仅显示在项目内部中.

  • Godot 版本 :

    该资产适用的引擎版本. 目前, 不可能让一个资产条目包含多个引擎版本的下载, 所以你可能需要多次提交资产, 为其支持的每个Godot版本添加一个条目. 在处理主要的引擎版本时, 这一点尤其重要, 如Godot 2.x和Godot 3.x.

  • 版本 :

    资源的版本号. 虽然您可以自由选择和使用您喜欢的任何版本控制方案, 但如果您希望资源的版本控制方案清晰且一致, 您可能需要查看诸如 SemVer 之类的内容. 请注意, 系统内还有一个内部版本号, 每次更改或更新资源下载地址时都会增加.

  • 存储库主机 :

    上传到AssetLib的资产并不直接托管在它上面. 而是, 它们指向托管在第三方Git提供商, 如GitHub, GitLab或Bitbucket上的仓库. 在这里你可以选择你的资产使用哪个提供商, 这样网站就可以计算出最终的下载链接.

  • 存储库地址 :

    资源文件/网页的地址. 这将根据您选择的提供商而有所不同, 但它的结构类似于 https://github.com/<user>/<project&gt;.

  • 问题地址 :

    资源问题跟踪器的地址. 同样, 这将不同于存储库主机, 但结构类似于 https://github.com/<user>/<project>/issues. 如果您使用提供商的问题跟踪器, 则可以将此字段留空, 因为它是资源存储库的一部分.

  • 下载提交 :

    该资产的提交. 例如, b1d3172f89b86e52465a74f63a74ac84c491d3e1 . 网站以此计算出实际的下载URL.

  • 图标地址 :

    资源图标的地址(将在AssetLib搜索结果和资源页面中用作缩略图). 应该是PNG或JPG格式的图像.

  • 许可证 :

    您分发资源的许可证. 该列表包括各种免费和开源软件许可证, 例如GPL(v2和v3),MIT,BSD和Boost软件许可证. 您可以访问 OpenSource.org 获取每个列出的许可证的详细说明.

  • 描述 :

    最后, 您可以使用Description字段来查看资源, 其功能和行为, 更改日志等文本概述. 将来, 将支持使用Markdown格式, 但目前只支持纯文本.

您还可以包含最多三个视频和/或图像预览, 这些预览将显示在资源页面的底部. 请使用每个预览提交框上的 启用 复选框从而启用它们.

  • 类型 :

    图像或视频.

  • 图片/ YouTube的网址 :

    YouTube上托管的图片或视频链接.

  • 缩略图地址 :

    一个图片的URL, 它将被用作预览的缩略图. 这个选项最终将被删除, 而缩略图将被自动计算出来.

完成后, 点击提交. 你的资产将进入待定队列, 你可以在AssetLib here 上访问. 审批流程是手动的, 可能需要几天的时间来接受(或拒绝)你的附加组件, 所以请耐心等待, 当你的资产被审查时, 你会被告知. 如果它被拒绝了, 你会被告知为什么会这样, 并且你将能够在做了适当的修改后再次提交它. 你可以在IRC(Freenode上的 #godotengine-atelier 频道)或官方Discord服务器上给版主/assetlib审查员发消息, 从而加快审批流程.