gohud

Установка gohud

Два пути. Поручите ИИ-агенту или положите папку в проект — больше настраивать нечего.

Самый быстрый путь — поручите установку ИИ-агенту

Один блок текста, вставленный в Claude Code, Codex, Cursor или Gemini CLI, установит и навык, и дополнение, а потом объяснит вам gohud. На этом пути ничего ниже этой карточки не нужно.

Открыть страницу AI SKILL →

Установка

Положите папку аддона в проект. Больше настраивать нечего.

Из Asset Store или ZIP-архива релиза

Распакуйте в корень проекта так, чтобы получилось res://addons/gohud/. Это всё. По желанию включите Project → Project Settings → Plugins → 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, а затем коммитьте указатель подмодуля в своей игре.

Нужен Godot 4.6 или новее. gohud использует API, появившиеся в 4.5 (DPITexture, FoldableContainer, свойства доступности), поэтому на всём, что старше, он падает ещё при разборе. 4.6 — поддерживаемый минимум, записанный в GoUi.MIN_ENGINE.

Быстрый старт

Любой виджет — это .new() и add_child(): ни файлов сцен, ни автозагрузки.

Выберите образ до сборки интерфейса (по желанию)

GoUi.use_preset(GoThemePresets.SCIFI_DARK)   # если пропустить, используется default_dark

Подтверждение, которое можно await

var dialogs := GoDialogs.new()
add_child(dialogs)
if await dialogs.confirm("Удалить сохранение", "Это действие необратимо."):
    delete_save()

Передайте destructive = true (последний аргумент) — и кнопка подтверждения нарисуется как залитая кнопка опасного действия.

Нижний лист с закреплённым полем поиска и подвалом

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 обходит сам себя →

Примеры, которые можно запустить

Три способа посмотреть gohud, не написав ни строки, — и ни одному не нужны ни сервер, ни автозагрузка.

ПримерКак открытьЧто показывает
Галереяexamples/gallery/gallery.tscn · F6Все виджеты, переключатель всех установленных пресетов и полный набор иконок
Средневековьеexamples/medieval/medieval.tscn · F6Лист персонажа, сумка и журнал заданий; кнопки переключают железо и пергамент и открывают описание предмета
Демо-приложениеcd examples/demo && godotДомашний экран, открывающий галерею, обучающий тур из 15 глав, витрину и средневековый образ, с живыми виджетами и отдельной карточкой на каждый класс
cd examples/demo && godot                             # домашний экран; при первом запуске создаёт ссылку и импортирует
bash examples/demo/run.sh                               # то же приложение, из корня аддона
bash examples/demo/run.sh -- --open=gallery             # пропустить домашний экран
bash examples/demo/run.sh -- --explore=surfaces         # открыть сразу на одной главе тура
bash examples/demo/run.sh --record /tmp/gohud-demo.avi  # запись тура в 1080p / 60 кадров в секунду

Демо-приложению не нужна никакая подготовка: если ссылки на аддон или кэша импорта нет, оно сообщает об этом, чинит папку и открывается заново. Его домашний экран открывает каждый пример в том же окне — нажмите 14 или щёлкните по строке, а полоса сверху вернёт вас назад.

В туре C включает режим «кино», F11 — полный экран, Space ставит на паузу (или проигрывает текущий виджет в режиме просмотра), стрелки меняют главы, а Escape возвращает на стартовый экран.

Пользуетесь ИИ-агентом для кода? Откройте все три одной командой →