导出项目
为什么要导出?
起初,Godot 没有任何导出项目的方法.开发人员将编译适当的二进制文件并手动为每个平台构建软件包.
当更多的开发人员(甚至是非编程人员)开始使用它,而当我们的公司同时开始进行更多的项目时,很明显这是一个瓶颈.
在 PC 上
使用Godot在PC上分发游戏项目非常容易.将Godot二进制文件拖放到与 project.godot
文件相同的目录中,然后压缩项目目录即可.
这听起来很简单,但开发人员可能不想这样做的原因可能有几个.第一个原因是可能不希望分发大量文件.一些开发人员可能不喜欢好奇的用户偷看游戏的制作方式,其他开发人员可能会发现它不雅致,等等.另一个原因是,开发人员可能更喜欢特殊编译的二进制文件,该二进制文件的大小较小、更优化、并且不包含编辑器和调试器之类的工具.
最后,Godot有一个简单但有效的系统,用于 将DLC创建为额外的包文件 .
警告
Godot目前尚不支持加载大于2 GB的PCK文件.如果导出的项目数据大于2 GB,则需要通过 :ref:`导出额外的 PCK <doc_exporting_pcks>`将其分割成多个PCK文件,并在运行时加载它们.
在移动端
移动设备中的相同情况会更糟糕.要在这些设备上分发项目,需要为每个平台构建一个二进制文件,然后将其与游戏数据一起添加到本地项目中.
这可能很麻烦,因为这意味着开发人员必须熟悉每个平台的SDK,才能进行导出.虽然总是鼓励学习每个SDK,但在不希望的时间被迫这样做可能会令人沮丧.
这种方法还有另一个问题:不同的设备偏好一些不同格式的数据来运行.这个主要的示例是纹理压缩.所有PC硬件都使用S3TC(BC)压缩,并且已经标准化了十多年,但是移动设备使用不同的格式进行纹理压缩,例如PVRTC(iOS)或ETC(Android).
导出菜单
经过多次尝试不同的导出工作流程后,目前的工作流程已被证明是最好的.在撰写本文时,并不是所有平台都支持,但受支持的平台仍在继续增长.
要打开导出菜单,请单击 导出 按钮:
导出菜单将打开,但它完全是空的.这是因为我们需要添加导出预设.
要创建导出预设,请点击导出菜单顶部的 添加...
按钮.这将打开一个平台下拉列表,以从中选择导出预设.
默认选项通常足以导出,因此通常无需对其进行调整.但是,许多平台都需要安装其他工具(SDK)才能导出.此外,Godot需要安装导出模板来创建软件包.缺少某些内容时,导出菜单将发出提示,并且在解决该问题之前,用户将无法导出该平台:
那时,用户需要回到文档并按照有关如何正确设置该平台的说明进行操作.
导出模板
除了设置平台之外,还必须安装导出模板才能导出项目.可以从 该网站的下载页面 中以TPZ文件(是一个重命名的ZIP存档)的形式获取它们.
一旦下载后,就可以使用编辑器中的 安装导出模板 选项进行安装:
导出模式
导出时,Godot会创建一个所有要导出的文件的列表,然后创建包.有3种不同的导出模式:
导出项目中的所有资源
导出选中的场景(包括依赖项)
导出选中的资源(包括依赖资源)
Export all resources in the project 将会导出项目中的每一个资源.**Export selected scenes** 和 Export selected resources 给予你一张项目中的场景或资源的清单,并且需要选取每个想导出的场景或资源.
从命令行导出
在生产中,自动化构建很有用,Godot使用 --export
和 --export-debug
命令行参数来支持它.从命令行导出仍需要导出预设来定义导出参数.该命令的基本调用将是:
godot --export "Windows Desktop" some_name
假设有一个名为 Windows Desktop
的预设,并且可以找到该模板,它将导出为 some_name.exe
.输出路径相对于项目路径或绝对路径;它不遵命令被调用时的目录.
您还可以将其配置为仅导出PCK或ZIP文件,从而允许单个导出可以被多个Godot可执行文件使用.如果目标名称以 .pck
或 .zip
结尾,才会发生这种情况.
将 --export
标志与 --path
标志组合起来通常很有用,可为自动导出创建专用的导出预设:
godot --path path/to/project --export "pck" game_name.pck
PCK 与 ZIP 打包文件格式对比
各个格式有它的优势与劣势.PCK 对大多数用例来说是默认和推荐格式,但取决于您的需要,您可能希望使用 ZIP.
PCK格式:
未压缩的格式.文件尺寸更大,但读写更快.
尽管有 `第三方工具<https://github.com/hhyyrylainen/GodotPckTool>`__ 来提取和创建PCK文件,但使用用户操作系统上通常存在的工具是不可读和不可写的.
ZIP格式:
经过压缩,尺寸更小,但读写较慢.
可以使用用户操作系统中的常见工具读取或写入.这对简化制作mod很有用.(另请参阅 导出包、补丁、和mod).
警告
由于存在一个 已知错误 ,当 ZIP 文件用作打包文件时,导出的二进制文件不会尝试自动使用它.因此,你需要创建一个 启动脚本 ,玩家可以双击它或从终端启动项目:
:: launch.bat (Windows)
@echo off
my_project.exe --main-pack my_project.zip
# launch.sh (Linux)
./my_project.x86_64 --main-pack my_project.zip
保存启动脚本,并将它与导出的二进制文件放在同一文件夹中.在Linux上,请确保使用 chmod +x launch.sh
命令给予启动脚本可执行权限.