命令行教程
一些开发人员喜欢广泛使用命令行.Godot被设计为对他们友好, 所以这里是完全用命令行工作的步骤. 由于引擎几乎不依赖外部库, 因此初始化时间非常快, 使其适合此工作流程.
备注
在 Windows 和 Linux 上,你可以通过指定其相对或绝对路径在终端中运行 Godot 可执行文件。
在 macOS 上,由于 Godot 包含在 .app 包中(这是一个 文件夹 ,而不是文件),因此运行过程有所不同。要从 macOS 的终端运行 Godot 可执行文件,你必须 cd 到 Godot 应用程序包所在的文件夹,然后运行 Godot.app/Contents/MacOS/Godot ,并在后面加上相关命令行参数。如果你把应用包从 Godot 改名为其他名称,则需相应地编辑这个命令行。
命令行参考
图例解释
仅适用于编辑器构建、调试导出模板和发布导出模板中。
仅适用于编辑器构建和调试导出模板。
Only available in editor builds, and export templates compiled with
disable_path_overrides=false.仅适用于编辑器构建。
请注意,未知的命令行参数没有任何作用。当使用给定构建类型不存在的命令行参数时,引擎不会警告你。
常规选项
命令 |
描述 |
|
|
|
|
|
|
|
|
|
|
运行选项
命令 |
描述 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
第一次迭代后退出. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
视频驱动。使用 |
|
|
|
|
|
视频驱动。使用 |
|
|
|
|
|
|
|
|
|
|
|
|
显示选项
命令 |
描述 |
|
尝试使用全屏模式. |
|
尝试最大化窗口。 |
|
使用窗口模式。 |
|
请求一个置顶窗口. |
|
窗口分辨率。 |
|
指定屏幕位置. |
|
请求窗口分辨率。 |
|
|
|
|
|
|
|
|
调试选项
命令 |
描述 |
|
调试(本地 stdout 调试器)。 |
|
|
|
|
|
在脚本调试器中启用分析。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
运行场景时显示碰撞框形状。 |
|
运行场景时显示路径。 |
|
运行场景时显示多边形导航。 |
|
当运行场景时显示多边形导航. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
每秒强制固定数量的帧。此设置禁用实时同步。 |
|
|
|
|
|
|
单独的工具
命令 |
描述 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
路径
建议将 Godot 编辑器的二进制文件放在 PATH 环境变量中,这样就可以通过在任何地方键入 godot 来轻松地执行。在 Linux 上,就可以将 Godot 二进制文件放在 /usr/local/bin 中,请确保文件名为 godot(注意大小写)。
要在 Windows 或 macOS 上轻松实现这一目标,可以使用 Scoop(在 Windows 上)或 Homebrew(在 macOS 上)安装 Godot。这将自动在 PATH 中提供已安装的 Godot 副本:
# Add "Extras" bucket
scoop bucket add extras
# Standard editor:
scoop install godot
# Editor with C# support (will be available as `godot-mono` in `PATH`):
scoop install godot-mono
# Standard editor:
brew install godot
# Editor with C# support (will be available as `godot-mono` in `PATH`):
brew install godot-mono
设置项目路径
根据Godot二进制文件的位置以及当前的工作目录, 你可能需要设置项目的路径, 以下任何命令才能正常工作.
在运行编辑器时,这可以通过将项目的 project.godot 文件路径作为第一个参数来完成, 如下所示:
godot path_to_your_project/project.godot [other] [commands] [and] [args]
对于所有的指令,这可以通过使用 --path 参数来完成:
godot --path path_to_your_project [other] [commands] [and] [args]
例如, 用于导出游戏的完整命令(如下所述)可能如下所示:
godot --headless --path path_to_your_project --export-release my_export_preset_name game.exe
当从你的项目都子目录启动时,使用 --upwards 参数使 Godot 可以通过递归搜索父目录来自动地找到 project.godot 文件。
举个例子,当你的工作目录在相同的路径下时,运行一个嵌套在子目录中场景(如下所述)的命令可能看起来像这样:
godot --upwards nested_scene.tscn
创建项目
要通过命令行创建项目,可以将 shell 导航至所需位置并创建 project.godot 文件。
mkdir newgame
cd newgame
touch project.godot
现在可以使用Godot打开该项目.
运行编辑器
通过使用 -e 参数启动 Godot 来运行编辑器。必须在项目目录内,或按照前文所述的方法设置项目路径,才能完成此操作,否则该命令将被忽略并显示项目管理器。
godot -e
在传入 project.godot 文件的完整路径时,参数 -e 可以被省略。
如果已经创建并保存了场景, 则可以稍后以该场景作为参数运行相同的代码来对其进行编辑.
godot -e scene.tscn
删除场景
Godot对你的文件系统非常友好,不会创建额外的元数据文件。你可以使用 rm 来删除场景文件,但是在这之前需要确定该场景被引用的情况,否则再打开该项目时会抛出错误。
rm scene.tscn
运行游戏
要运行游戏,只需按前述方法在项目目录中或带项目路径执行 Godot 即可。
godot
请注意,传入 project.godot 文件将总是运行编辑器,而不会运行游戏。
当需要测试特定场景时, 将该场景传递给命令行.
godot scene.tscn
调试
捕获命令行中的错误可能是一项艰巨的任务,因为它们滚动得很快。为此,使用 -d 来启动命令行调试器。它适用于运行游戏或单个场景。
godot -d
godot -d scene.tscn
导出
也支持从命令行导出项目。这对持续集成设置特别有用。
备注
在没有 GPU 访问权限的平台(例如持续集成)上,需要使用 --headless 命令行参数。在具有 GPU 访问权限的平台上,--headless 可防止在项目导出时生成窗口。
# `godot` must be a Godot editor binary, not an export template.
# Also, export templates must be installed for the editor
# (or a valid custom export template must be defined in the export preset).
godot --headless --export-release "Linux/X11" /var/builds/project
godot --headless --export-release Android /var/builds/project.apk
预设名称必须与项目的 export_presets.cfg 文件中定义的导出预设名称一致. 如果预设名称包含空格或特殊字符(如 "Windows Desktop"), 必须用引号引起来.
要导出游戏的调试版本,请使用 --export-debug 开关而不是 --export-release。它们的参数和用法相同。
要仅导出 PCK 文件,请使用 --export-pack 选项,后跟预设名称和输出路径以及文件扩展名,而不是 --export-release 或 --export-debug。输出路径扩展名决定了包的格式,PCK 或 ZIP。
警告
当指定相对路径作为 --export-release、--export-debug 或 --export-pack 的路径时,该路径将相对于包含 project.godot 文件的目录,而不是相对于当前工作目录。
运行脚本
可以从命令行运行 .gd 脚本。此功能在大型项目中特别有用,例如,用于资产的批量转换或自定义导入/导出。
该脚本必须继承自 SceneTree 或 MainLoop。
下面的 sayhello.gd 是一个简单的用法示例:
#!/usr/bin/env -S godot -s
extends SceneTree
func _init():
print("Hello!")
quit()
以及如何运行它:
# Prints "Hello!" to standard output.
godot -s sayhello.gd
如果路径中不存在 project.godot,则假定当前路径为当前工作目录(除非指定了 --path)。
脚本路径将被解释为相对于项目的资源路径,这里是 res://sayhello.gd 。你也可以使用绝对文件系统路径,这在脚本位于项目目录之外时很有用。
以上 sayhello.gd 的第一行通常被称为 shebang。如果 Godot 二进制文件在你的 PATH 中,名为 godot,则它允许你在现代 Linux 发行版以及 macOS 中按以下方式运行脚本:
# Mark script as executable.
chmod +x sayhello.gd
# Prints "Hello!" to standard output.
./sayhello.gd
如果上述方法在你当前版本的 Linux 或 macOS 中不起作用,你可以随时让 shebang 直接从它所在的位置运行 Godot:
#!/usr/bin/godot -s