命令行教程
一些开发人员喜欢广泛使用命令行.Godot被设计为对他们友好, 所以这里是完全用命令行工作的步骤. 由于引擎几乎不依赖外部库, 因此初始化时间非常快, 使其适合此工作流程.
备注
在 Windows 和 Linux 上,你可以通过指定其相对或绝对路径在终端中运行 Godot 可执行文件。
在 macOS 上,由于 Godot 包含在 .app
包中,它是一个 文件夹,而不是文件,因此运行过程有所不同。要从 macOS 的终端运行 Godot 可执行文件,你必须 cd
到 Godot 应用程序包所在的文件夹,然后运行 Godot.app/Contents/MacOS/Godot
,并在后面加上相关命令行参数。如果你把应用包从 Godot
改名为其他名称,则需相应地编辑这个命令行。
命令行参考
图例解释
仅适用于编辑器构建、调试导出模板和发布导出模板中。
仅适用于编辑器构建和调试导出模板。
仅适用于编辑器构建。
请注意,未知的命令行参数没有任何作用。当使用给定构建类型不存在的命令行参数时,引擎不会警告你。
常规选项
命令 |
描述 |
|
|
|
|
|
|
|
|
运行选项
命令 |
描述 |
|
|
|
|
|
|
|
|
|
第一次迭代后退出. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
视频驱动。使用 |
|
|
|
视频驱动。使用 |
|
|
|
|
|
|
|
|
|
|
显示选项
命令 |
描述 |
|
尝试使用全屏模式. |
|
尝试最大化窗口。 |
|
使用窗口模式。 |
|
请求一个置顶窗口. |
|
窗口分辨率。 |
|
指定屏幕位置. |
|
请求窗口分辨率。 |
|
|
|
|
调试选项
命令 |
描述 |
|
调试(本地 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
)。
The script path will be interpreted as a resource path relative to
the project, here res://sayhello.gd
. You can also use an absolute
filesystem path instead, which is useful if the script is located
outside of the project directory.
以上 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