gohud

gohud をインストール

入口は二つ。AI エージェントに任せるか、フォルダーをプロジェクトに入れるか — ほかに設定するものはない。

いちばん速い道 — AI にインストールを任せる

下の文をそのまま Claude Code・Codex・Cursor・Gemini CLI に貼れば、スキルとアドオンを一緒に入れ、gohud の説明までしてくれる。その道を行くなら、このカードから下は一つも要らない。

AI SKILL のページを開く →

インストール

アドオンのフォルダをプロジェクトに置くだけでよい。ほかに準備はない。

アセットストアまたは配布 ZIP から

プロジェクトのルートに展開して res://addons/gohud/ になるようにする。それだけだ。必要なら プロジェクト → プロジェクト設定 → プラグイン → gohud を有効にする。

git サブモジュールとして

git submodule add https://github.com/thruthesky/gohud.git addons/gohud
git submodule update --init
git -C addons/gohud checkout v1.0.0   # 任意: タグやコミットに固定する

リポジトリのルートがそのままアドオンのフォルダなので、Godot が期待する場所にぴったり収まる。その場で編集し、 addons/gohud の中でコミットして push したうえで、ゲーム側からサブモジュールのポインタをコミットする。

Godot 4.6 以降が必要だ。 gohud は 4.5 で入った API(DPITexture、FoldableContainer、 アクセシビリティ関連プロパティ)を使うため、それより古いエンジンではパース段階で落ちる。 下限の 4.6 は GoUi.MIN_ENGINE に記録してある。

クイックスタート

どのウィジェットも .new() して add_child() するだけだ — シーンファイルもオートロードもいらない。

UI を組む前に見た目を選ぶ(任意)

GoUi.use_preset(GoThemePresets.SCIFI_DARK)   # 指定しなければ default_dark が使われる

await で受け取る確認ダイアログ

var dialogs := GoDialogs.new()
add_child(dialogs)
if await dialogs.confirm("セーブデータの削除", "元に戻せません。"):
    delete_save()

最後の引数 destructivetrue にすると、確認ボタンが塗りつぶしの危険ボタンとして描かれる。

検索欄とフッターを固定したボトムシート

var sheet := GoSheet.new()
add_child(sheet)
sheet.open("インベントリ")
sheet.toolbar().add_child(GoStyle.line_edit("検索…"))
sheet.toolbar().visible = true
for item in items:
    sheet.body.add_child(GoStyle.list_button(GoIconSet.BOX, item.name, _use.bind(item),
        Color.TRANSPARENT, item.description, false))
sheet.footer().add_child(GoStyle.button("閉じる", sheet.close, GoStyle.Tone.PRIMARY))
sheet.footer().visible = true
固定行をスクロール本文と分ける理由。 決定とキャンセルを body に入れると、 リストが長いだけで画面の外へ押し出される。footer() は常に見えている。

HUD の隅に体力バーを置く

var corner := GoHudAnchor.new()
corner.spot = GoHudAnchor.Spot.TOP_LEFT
corner.landscape_spot = GoHudAnchor.Spot.TOP_RIGHT
add_child(corner)

var hp := GoBar.new()
hp.label_text = "HP"
hp.ink = GoUi.color(GoTheme.DANGER_FILL)
corner.add_child(hp)
hp.set_values(320, 500)

本文が HUD を避けるようにする

form.avoid_hud = true                  # 表示中の GoHudAnchor をすべて避ける
joystick_anchor.reserve_space = false  # …指が触れたときだけ現れるものは除く
notice_anchor.avoid_peers = true       # トーストは固定 HUD を覆わず、その下に落ち着く

失う面積がいちばん小さい方向へ避ける — 縦持ちのスマートフォンでは下へ、横持ちでは横へ。 HUD どうしが避け合うしくみ →

すぐ動かせるサンプル

コードを1行も書かずに gohud を見る3つの方法 — どれもサーバーもオートロードもいらない。

サンプル開き方見られるもの
ギャラリーexamples/gallery/gallery.tscn · F6すべてのウィジェット、導入済みプリセットの選択リスト、アイコン一式
中世examples/medieval/medieval.tscn · F6キャラクターシート、雑嚢、クエストジャーナル。ボタンで鉄と羊皮紙を切り替え、アイテムの詳細を開く
デモアプリcd examples/demo && godotギャラリー、15章のガイドツアー、ショーケース画面、中世の見た目を開くホーム画面。動くウィジェットと、クラスごとに1枚のカードが載る
cd examples/demo && godot                             # ホーム画面。初回はリンクとインポートを済ませる
bash examples/demo/run.sh                               # 同じアプリをアドオンのルートから
bash examples/demo/run.sh -- --open=gallery             # ホーム画面を飛ばす
bash examples/demo/run.sh -- --explore=surfaces         # ツアーの1章を直接開く
bash examples/demo/run.sh --record /tmp/gohud-demo.avi  # ツアーを 1080p / 60fps で録画

デモアプリに準備はいらない。アドオンのリンクやインポートキャッシュが欠けていればそう伝えたうえで、フォルダを直して 自分で開き直す。ホーム画面は、それぞれのサンプルを同じウィンドウの中で開く — 14 を押すか行をクリックし、 上端のバーで元へ戻る。

ツアーでは C でシネマモード、F11 で全画面、Space で一時停止(探索中は今のウィジェットを再生)、 矢印キーで章の移動、Escape で開始画面へ戻る。

AI コーディングエージェントを使っているなら 3つとも1コマンドで開ける →