コマンドラインチュートリアル
一部の開発者は、コマンドラインを広範囲に使用することを好みます。Godotは使いやすく設計されているので、ここでは完全にコマンドラインから作業するための手順を説明します。エンジンが外部ライブラリーにほとんど依存しないことを考えると、初期化時間は非常に速く、このワークフローに適しています。
注釈
WindowsやLinuxでは、ターミナルでGodot binaryの相対パスまたは絶対パスを指定して実行することができます。
macOSでは、Godotが .app バンドル (ファイルではなく、 フォルダ です) に含まれているため、プロセスが異なります。macOSのターミナルからGodotのバイナリを実行するには、Godotのアプリケーションバンドルがあるフォルダに cd して、 Godot.app/Contents/MacOS/Godot を実行し、その後にコマンドライン引数を入力します。アプリケーションバンドルの名前を Godot から別の名前に変更している場合は、このコマンドラインを適宜編集してください。
コマンドライン リファレンス
アイコン説明
エディタビルド、デバッグエクスポートテンプレート、そしてリリースエクスポートテンプレートで使用可能です。
エディタビルドとデバッグエクスポートテンプレートでのみ使用可能です。
エディタビルドでのみ利用可能です。
不明なコマンドライン引数は何の効果もないことに注意してください。 指定されたビルドタイプに存在しないコマンドライン引数を使用しても、エンジンは警告**しません**。
一般的なオプション
Command |
説明 |
|
|
|
|
|
|
|
|
実行オプション
Command |
説明 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
表示オプション
Command |
説明 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
デバッグオプション
Command |
説明 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
スタンドアロンツール
Command |
説明 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
パス
godot と入力すればどこからでも簡単に実行できるように、GodotエディタのバイナリをPATH環境変数に含めることをお勧めします。Linuxでこれを行うには、 /usr/local/bin にGodotバイナリを配置し、それが godot として呼び出されるようにします。
Windows または macOS でこれを簡単に実現するには、Scoop (Windows の場合) または Homebrew (macOS の場合) を使用して Godot をインストールします。これにより、インストールされた Godot のコピーが PATH で自動的に使用できるようになります。
# 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 ファイルへのパスを第1引数として指定してこれを実現できます:
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
プロジェクトのサブディレクトリから開始する場合は、Godot の --upwards 引数を使用して、親ディレクトリを再帰的に検索し、 project.godot ファイルを自動的に見つけます。
たとえば、作業ディレクトリが同じパスにある場合、サブディレクトリにネストされたシーン (以下で説明) を実行すると、次のようになります。
godot --upwards nested_scene.tscn
プロジェクトの作成
コマンドラインからプロジェクトを作成するには、シェルを目的の場所に移動して project.godot ファイルを作成します。
mkdir newgame
cd newgame
touch project.godot
これで、Godotでプロジェクトを開くことができます。
エディタの実行
エディタを実行するには、Godotに -e フラグを付けて実行します。これは、プロジェクトディレクトリ内から実行するか、上で説明したようにプロジェクトパスを設定する必要があります。そうしないとコマンドは無視され、プロジェクトマネージャーが表示されます。
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
エクスポート
コマンドラインからのプロジェクトのエクスポートもサポートされています。これは継続的インテグレーション(CI)のセットアップに特に便利です。
注釈
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-release の代わりに --export-debug スイッチを使用します。パラメーターと使用方法は同じです。
PCKファイルのみをエクスポートしたい場合、 --export-release または --export-debug の代わりに --export-pack を用い、後ろにプリセット名と拡張子付きの出力パスを付けてください。出力パスの拡張子によって、パッケージの形式 (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`` の最初の行は、一般に シェバング と呼ばれます。シェバングを書くことにより、最近のLinuxとmacOSでは、あなたの PATH にあるGodotのバイナリが godot であるとき、スクリプトを次のように実行できます:
# Mark script as executable.
chmod +x sayhello.gd
# Prints "Hello!" to standard output.
./sayhello.gd
もし上記の例があなたのLinuxかmacOSのバージョンで動かない場合、次のようにGodotの場所を直接指定することで、どんなときでもシェバングにGodotを実行させることができます:
#!/usr/bin/godot -s