コマンドラインチュートリアル

一部の開発者は、コマンドラインを広範囲に使用することを好みます。Godotは使いやすく設計されているので、ここでは完全にコマンドラインから作業するための手順を説明します。エンジンが外部ライブラリーにほとんど依存しないことを考えると、初期化時間は非常に速く、このワークフローに適しています。

注釈

WindowsやLinuxでは、ターミナルでGodot binaryの相対パスまたは絶対パスを指定して実行することができます。

macOSでは、Godotが .app バンドル (ファイルではなく、 フォルダ です) に含まれているため、プロセスが異なります。macOSのターミナルからGodotのバイナリを実行するには、Godotのアプリケーションバンドルがあるフォルダに cd して、 Godot.app/Contents/MacOS/Godot を実行し、その後にコマンドライン引数を入力します。アプリケーションバンドルの名前を Godot から別の名前に変更している場合は、このコマンドラインを適宜編集してください。

コマンドライン リファレンス

一般的なオプション

Command

説明

-h, --help, /?

コマンド ライン オプションの一覧を表示します。

--version

バージョン文字列を表示します。

-v, --verbose

詳細な標準出力モードを使用します。

--quiet

静かなモード、標準出力メッセージを出力しません。エラーは引き続き表示されます。

実行オプション

Command

説明

-e, --editor

シーンを実行する代わりにエディタを起動します(tools を有効にする必要があります)。

-p, --project-manager

プロジェクトが自動検出された場合でも、プロジェクトマネージャを起動します(tools を有効にする必要があります)。

-q, --quit

最初のイテレーションの後に終了します。

-l <locale>, --language <locale>

特定のロケールを使用します(<locale>は2文字のコードです)。詳細については、 ロケール を参照してください。

--path <directory>

プロジェクトへのパス (<directory>には 'project.godot' ファイルが含まれている必要があります)。

-u, --upwards

'project.godot' ファイルのフォルダを上方向にスキャンします。

--main-pack <file>

読み込むパック (.pck) ファイルへのパス。

--render-thread <mode>

レンダー スレッド モード ('unsafe', 'safe', 'separate')。詳細については、 Thread Model を参照してください。

--remote-fs <address>

リモート ファイルシステム (<host/IP>[:<port>] アドレス)。

--audio-driver <driver>

オーディオ ドライバー。最初に --help を使用して、使用可能なドライバーの一覧を表示します。

--video-driver <driver>

ビデオドライバー。最初に --help を使用して、使用可能なドライバーの一覧を表示します。

表示オプション

Command

説明

-f, --fullscreen

全画面表示モードを指定します。

-m, --maximized

ウィンドウの最大化を指定します。

-w, --windowed

ウィンドウ モードを指定します。

-t, --always-on-top

常時最前面 ウィンドウを指定します。

--resolution <W>x<H>

ウィンドウの解像度を指定します。

--position <X>,<Y>

ウィンドウの位置を指定します。

--low-dpi

低DPIモードを強制します (macOS および Windows のみ)。

--no-window

非表示ウィンドウで実行してください。``--script``を使うと便利です。

デバッグオプション

注釈

デバッグ オプションは、エディタおよびデバッグ エクスポート テンプレートでのみ使用できます (これらには debug または release_debug ビルド ターゲットが必要です、詳細については、 ターゲット を参照してください)。

Command

説明

-d, --debug

デバッグ (ローカル stdout デバッガー)。

-b, --breakpoints

ブレークポイントとしてソースの行番号をカンマで区切って列挙します。スペースは使えません(代わりに%%20を使用できます)。

--profiling

スクリプト デバッガーでプロファイリングを有効にします。

--remote-debug <address>

リモート・デバッグ (addressは<ホスト/IP>:<ポート>).

--debug-collisions

シーンを実行する際にコリジョン形状を表示する。

--debug-navigation

シーンを実行する際にナビゲーション・ポリゴンを表示する。

--frame-delay <ms>

高CPU負荷の再現 (毎フレームごとに <ms> ミリ秒遅らせる)。

--time-scale <scale>

タイムスケールの強制 (値が大きいほど早く、1.0が標準)。

--disable-render-loop

レンダリングのループの無効化。スクリプトにて明示的に呼び出した時にのみレンダーする。

--disable-crash-handler

プラットフォーム・コードが対応している場合もクラッシュ・ハンドラを無効にする。

--fixed-fps <fps>

フレーム毎秒の固定。この設定によりリアルタイム同期は無効化。

--print-fps

stdoutにフレーム毎秒を出力。

スタンドアロンツール

Command

説明

-s <script>--script <script>

スクリプトの実行。

--check-only

エラー分析のみ行って終了(--scriptと同時に使用)。

--export <target>

指定されたエクスポート・ターゲットに向けてプロジェクトをエクスポートする。パスが .pck あるいは .zip で終わっている場合、メインのパックのみエクスポートする (toolsを有効にする必要あり)。

--export-debug <target>

--exportと同じだが、デバッグ・テンプレートを使用する。(toolsを有効にする必要あり)。

--doctool <path>

指定した <path> にエンジンのAPIリファレンスをXML形式で出力する。すでにファイルが存在する場合は、それに結合する。(toolsを有効にする必要あり)。

--no-docbase

基本タイプのダンプをしない (--doctoolと共に使用。toolsを有効にする必要あり)。

--build-solutions

スクリプトのソリューションをビルドする (例えばC#プロジェクトのために。toolsを有効にする必要あり)。

--gdnative-generate-json-api

GDNativeバインディング用のGodot APIのJSONダンプを生成します (tools を有効にする必要があります)。

--test <test>

単体テストを実行します。最初に --help を使用して、テストの一覧を表示します。(tools を有効にする必要があります)。

--export-pack <preset> <path>

--exportと似ていますが、指定したプリセットにのみゲームをエクスポートします。<path>の拡張子によって、PCK形式かZIP形式のどちらでエクスポートするかを決定します。(ツールを有効にする必要があります)。

パス

godot と入力すればどこからでも簡単に実行できるように、godotバイナリをPATH環境変数に含めることをお勧めします。Linuxでは、 /usr/local/bin にgodotバイナリを配置し、それが godot と呼ばれていることを確認することで、これを行うことができます。

プロジェクトパスの設定

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 --path path_to_your_project --export my_export_preset_name game.exe

プロジェクトの作成

コマンドラインからプロジェクトを作成するには、シェルを目的の場所に移動してproject.godotファイルを作成します。

mkdir newgame
cd newgame
touch project.godot

これで、Godotでプロジェクトを開くことができます。

エディタの実行

エディタを実行するには、Godotに -e フラグを付けて実行します。これは、プロジェクトディレクトリまたはサブディレクトリ内から実行する必要があります。それ以外の場合、コマンドは無視され、プロジェクトマネージャが表示されます。

godot -e

シーンが作成および保存されている場合は、そのシーンを引数として同じコードを実行することで、後で編集できます。

godot -e scene.tscn

シーンの削除

Godotはあなたのファイルシステムと友達であり、追加のメタデータファイルを作成することはありません。シーンファイルを削除するには、 rm を使用します。 そのシーンを参照するものが何もないことを確認してください。

rm scene.tscn

ゲームの実行

ゲームを実行するには、プロジェクトディレクトリまたはサブディレクトリ内でGodotを実行します。

godot

特定のシーンをテストする必要がある場合は、そのシーンをコマンドラインに渡します。

godot scene.tscn

デバッグ

コマンドラインでエラーを検出するのは非常に困難な作業です。 -d を追加することでコマンドラインデバッガが利用できます。これは、ゲームまたは単一のシーンを実行するために機能します。

godot -d
godot -d scene.tscn

エクスポート

コマンドラインからプロジェクトをエクスポートすることもサポートされています。これは継続的インテグレーション設定に特に役立ちます。これには、ヘッドレスのGodotバージョン(サーバービルド、ビデオなし)が理想的です。

godot --export "Linux/X11" /var/builds/project
godot --export Android /var/builds/project.apk

プリセット名はプロジェクトの export_presets.cfg ファイルで定義されたエクスポートプリセットの名前と一致しなければなりません。もし、プリセット名がスペースや特殊文字を含んでいる場合 ("Windows Desktop"のような)、クォート ("や') で囲まれている必要があります。

ゲームのデバッグバージョンをエクスポートするには、 --export の代わりに --export-debug スイッチを使用します。パラメーターと使用方法は同じです。

PCKファイルのみをエクスポートしたい場合、 --export の代わりに --export-pack を用い、後ろにプリセット名と拡張子付きの出力パスを付けてください。出力パスの拡張子がパッケージの形式をPCKかZIPに決定します。

警告

--export--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 が指定されている場合を除く)。

上記の``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