导出项目

为什么要导出?

起初,Godot 没有任何导出项目的方法。开发人员将编译适当的二进制文件并手动为每个平台构建软件包。

当更多的开发人员(甚至是非编程人员)开始使用它,而当我们的公司同时开始进行更多的项目时,很明显这是一个瓶颈。

在 PC 上

使用Godot在PC上分发游戏项目非常容易。将Godot二进制文件拖放到与 project.godot 文件相同的目录中,然后压缩项目目录即可。

这听起来很简单,但开发人员可能不想这样做的原因可能有几个。第一个原因是可能不希望分发大量文件。一些开发人员可能不喜欢好奇的用户偷看游戏的制作方式,其他开发人员可能会发现它不雅致,等等。另一个原因是,开发人员可能更喜欢特殊编译的二进制文件,该二进制文件的大小较小、更优化、并且不包含编辑器和调试器之类的工具。

最后,Godot有一个简单但有效的系统,可将DLC创建为额外的程序包文件。

在移动端

移动设备中的相同情况会更糟糕。要在这些设备上分发项目,需要为每个平台构建一个二进制文件,然后将其与游戏数据一起添加到本地项目中。

这可能很麻烦,因为这意味着开发人员必须熟悉每个平台的SDK,才能进行导出。虽然总是鼓励学习每个SDK,但在不希望的时间被迫这样做可能会令人沮丧。

这种方法还有另一个问题:不同的设备偏好一些不同格式的数据来运行。这个主要的示例是纹理压缩。所有PC硬件都使用S3TC(BC)压缩,并且已经标准化了十多年,但是移动设备使用不同的格式进行纹理压缩,例如PVRTC(iOS)或ETC(Android)。

导出菜单

经过多次尝试不同的导出工作流程后,目前的工作流程已被证明是最好的。在撰写本文时,并不是所有平台都支持,但受支持的平台仍在继续增长。

要打开导出菜单,请单击 导出 按钮:

../../../_images/export.png

导出菜单将打开,但它完全是空的。这是因为我们需要添加导出预设。

../../../_images/export_dialog.png

要创建导出预设,请点击导出菜单顶部的 添加... 按钮。这将打开一个平台下拉列表,以从中选择导出预设。

../../../_images/export_preset.png

默认选项通常足以导出,因此通常无需对其进行调整。但是,许多平台都需要安装其他工具(SDK)才能导出。此外,Godot需要安装导出模板来创建软件包。缺少某些内容时,导出菜单将发出提示,并且在解决该问题之前,用户将无法导出该平台:

../../../_images/export_error.png

那时,用户需要回到文档并按照有关如何正确设置该平台的说明进行操作。

导出模板

除了设置平台之外,还必须安装导出模板才能导出项目。可以从 该网站的下载页面 中以TPZ文件(是一个重命名的ZIP存档)的形式获取它们。

一旦下载后,就可以使用编辑器中的 安装导出模板 选项进行安装:

../../../_images/exptemp.png

导出模式

导出时,Godot会创建一个所有要导出的文件的列表,然后创建包。有3种不同的导出模式:

  • 导出项目中的所有资源
  • 导出选中的场景(包括依赖项)
  • 导出选中的资源(包括依赖资源)

../../../_images/expres.png

Export all resources in the project will export every resource in the project. Export selected scenes and Export selected resources gives you a list of the scenes or resources in the project, and you have to select every scene or resource you want to export.

../../../_images/expselected.png

从命令行导出

在生产中,自动化构建很有用,Godot使用 --export--export-debug 命令行参数来支持它。从命令行导出仍需要导出预设来定义导出参数。该命令的基本调用将是:

  1. godot --export "Windows Desktop" some_name

假设有一个名为 Windows Desktop 的预设,并且可以找到该模板,它将导出为 some_name.exe。输出路径相对于项目路径或绝对路径;它不遵命令被调用时的目录。

您还可以将其配置为仅导出PCK或ZIP文件,从而允许单个导出可以被多个Godot可执行文件使用。如果目标名称以 .pck.zip 结尾,才会发生这种情况。

--export 标志与 --path 标志组合起来通常很有用,可为自动导出创建专用的导出预设:

  1. godot --path path/to/project --export "pck" game_name.pck

PCK versus ZIP pack file formats

Each format has its upsides and downsides. PCK is the default and recommended format for most use cases, but you may want to use a ZIP archive instead depending on your needs.

PCK format:

  • Uncompressed format. Larger file size, but faster to read/write.
  • Not readable and writable using tools normally present on the user’s operating system, even though there are third-party tools to extract and create PCK files.

ZIP format:

  • 压缩格式。尺寸更小,但读写更慢。
  • 可以使用用户操作系统中的常见工具读取或写入。这对简化制作mod很有用。(另请参阅:ref:doc_exporting_pcks)。