Пресет связывает все три. Поля, оставленные пустыми, откатываются к значениям по умолчанию.
| Слой | Решает | Как это менять |
|---|---|---|
Theme |
Цвета, размеры, масштаб текста и форму всего, что рисует движок, — панелей кнопок, полей ввода, вкладок, графики переключателей | Напишите .tres вручную или создайте его через tools/make_theme.py |
GoSkin |
Форму всего, что рисует код, — стика, лицевых панелей быстрых слотов, кольца обучающей подсказки, чипов, скелетонов, разделителей, заголовков секций | Наследуйте его и переопределяйте только нужные методы |
GoIconSet |
Иконки по имени — 84 рисунка по умолчанию либо 16 гравированных рисунков средневекового набора поверх них. Текстурный пак или иконочный шрифт; вызывающий код в обоих случаях одинаков | Подайте свой набор или переопределите лишь несколько имён |
StyleBoxFlat угол бывает только скруглённым:
поставьте радиус в ноль — получите прямой угол; промежуточного нет. Диагонально срезанные углы,
одна утолщённая грань, внешнее свечение — движок не рисует ничего из этого. А стик и обучающая подсказка
рисуются в _draw(), куда тема не дотягивается вовсе.
Как выбрать
GoUi.use_preset(GoThemePresets.SCIFI_DARK)
Эта одна строка меняет тему, скин и иконки. Из редактора это делается через
Project Settings → Gohud → Theme → Preset, из ресурса настроек — через GoConfig.preset.
Оставить одно поле своим
GoUi.use_preset(GoThemePresets.SCIFI_DARK)
GoUi.config.icons = my_icons # ваши иконки, всё остальное — из пресета
Явно заданные theme, skin или icons берут верх над пресетом.
Шесть встроенных пресетов
| Пресет | Панели | Скин · иконки |
|---|---|---|
default_dark · default_light | Скруглённые панели StyleBoxFlat на градуированной шкале теней; основные кнопки поднимаются и проседают при нажатии | GoSkin · 84 иконки по умолчанию |
scifi_dark · scifi_light | Панели GoStyleBoxCut со срезанными углами, неоновой гранью и свечением; фокусные метки GoStyleBoxBracket | GoSkinSciFi — шестиугольный стик · иконки по умолчанию |
medieval_dark · medieval_light | Кованые рамки GoStyleBoxMedieval — железо и кожа либо пергамент — с заклёпками и угловыми орнаментами на меню | GoSkinMedieval · 16 гравированных иконок поверх стандартных |
Средневековье: железо, кожа и пергамент
medieval_dark соединяет тёмное железо и кожу со старым золотом. medieval_light
берёт пергамент и чернила. Оба используют GoSkinMedieval, те же виджеты и 16 оригинальных
иконок с гравировкой; иконки навигации откатываются к исходному набору.
GoUi.use_preset(GoThemePresets.MEDIEVAL_DARK)
# Или: GoUi.use_preset(GoThemePresets.MEDIEVAL_LIGHT)
Выбирайте пресет до создания интерфейса. Явные переопределения GoConfig.theme,
skin или icons по-прежнему имеют приоритет. Откройте
res://addons/gohud/examples/medieval/medieval.tscn и нажмите F6 — увидите рабочий
лист персонажа, сумку и журнал заданий. Его кнопки переключают варианты и открывают описание предмета.


У рамок меню есть заклёпка и небольшой угловой орнамент; всегда видимый HUD сохраняет сдержанную грань.
Здоровье, мана и выносливость заливаются красным, синим и оливковым. Cinzel ограничен заголовками и подзаголовками;
основной текст сохраняет шрифт проекта или шрифт по умолчанию. Лицензия встроенного шрифта лежит в
assets/fonts/cinzel/OFL.txt.
Гравированный набор перерисовывает bag, book, box, coin, crown,
flag, heart, key, map, potion, shield,
star, sword и user, а также добавляет scroll и seal.
Любое другое имя откатывается к набору по умолчанию, поэтому close и settings сохраняют свои
стандартные рисунки в любом пресете. Cinzel покрывает латиницу; для локализованных заголовков задайте собственный шрифт
через shape.fonts.
DPITexture; что настоящий быстрый слот использует скин;
что изменение регуляторов у копии скина доходит до слота, не трогая пресет; и что обратное переключение
восстанавливает геометрию стандартного и sci-fi вариантов.
Сделайте собственное королевство
python3 addons/gohud/tools/new_theme.py kingdom --from medieval_dark
# Отредактируйте themes/palettes/kingdom.json, затем:
python3 addons/gohud/tools/make_theme.py kingdom
godot --headless --path . --import
# В GDScript, до создания виджетов:
GoUi.use_preset(&"kingdom")
JSON-темы могут наследовать другие JSON-темы. Пропущенные значения сохраняют настройки родителя; циклическое наследование отвергается. Сгенерированный пресет сохраняет набор иконок родителя.
| Настройка | Действие |
|---|---|
shape.material | 0: железо · 1: кожа · 2: пергамент. Управляет фактурой поверхности. |
shape.grain_alpha | Непрозрачность фактуры. Поставьте 0 для чистой поверхности. |
shape.ornament_scale · shape.bevel_strength | Размер углового орнамента меню и сила фасочного блика. |
shape.fonts | Сопоставляет роли title, subtitle, caption, body и button со шрифтами res:// внутри аддона. Пропущенные роли сохраняют унаследованный шрифт. |
skin.dials | Радиус быстрого слота, видимость заклёпок, фактура и блик. Полная таблица ниже перечисляет каждый регулятор. |