Пресет зв'язує всі три. Поля, які ви лишите порожніми, повертаються до типових значень.
| Шар | Вирішує | Як його змінити |
|---|---|---|
Theme |
Кольори, розміри, масштаб тексту й форму всього, що малює рушій — панелі кнопок, поля вводу, вкладки, графіку перемикачів | Напишіть .tres або згенеруйте його через tools/make_theme.py |
GoSkin |
Форму всього, що малює код — стик, лицьові боки швидких слотів, кільце коуч-мітки, чипи, скелетони, роздільники, заголовки секцій | Успадкуйте його й перевизначте лише ті методи, які вам потрібні |
GoIconSet |
Іконки на ім'я — 84 стандартні малюнки або 16 гравійованих із середньовічного набору поверх них. Пакет текстур чи шрифт іконок; код виклику однаковий в обох випадках | Подайте набір або перевизначте лише кілька імен |
StyleBoxFlat:
поставте радіус у нуль — і отримаєте прямий кут; проміжного нічого немає. Зрізані по діагоналі кути,
один потовщений край, зовнішнє сяйво — рушій не малює нічого з цього. А стик і коуч-мітка малюються
в _draw(), куди темі не дістатися взагалі.
Як вибрати
GoUi.use_preset(GoThemePresets.SCIFI_DARK)
Цей один рядок міняє тему, скін та іконки. З редактора скористайтеся
Параметрами проєкту → 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 гравійованих іконок поверх стандартних |
material_light · material_dark Нове | Material 3 Expressive для екранів застосунків — кнопки-пігулки 40dp у зоні дотику 48dp, діалоги 28dp, заповнені картки, поля з контуром, повзунок Expressive; компоненти застосунків (панель навігації, верхня панель, FAB, рядок пошуку, чипи, прогрес, вибір дати) дотримуються токенів компонентів M3 | GoSkinMaterial · стандартні іконки |
kids_light · kids_dark Нове | Для дітей — коробка з іграшками: товсті контури й щільний бортик під кожною клавішею, яка просідає під час натискання; заглиблені поля введення, вкладки-бульбашки, желейні смуги; кожен вид елементів має свій колір олівця, слоти-цукерки, значки-наліпки, райдужний джойстик і різнокольорові діаграми. Розміри й шрифт проєкту не змінюються. | GoSkinKids · стандартні іконки |
arcade_light · arcade_dark Нове | Ігровий автомат, який малює GoStyleBoxArcade: кожна клавіша розфарбована градієнтом згори донизу, має білий відблиск і бортик, що западає від натискання, у темно-синьому чорнильному контурі, а підпис на ній білий із чорнильним контуром — зелений основний колір, сині клавіші, червона небезпека, лавандові малі клавіші. Товсті дошки з кольоровою рамкою навколо світлої заглибини; золотий банер заголовка й кругла червона клавіша закриття на вікнах. | GoSkinArcade · стандартні іконки |
comic_light · comic_dark Нове | Кадри коміксу, які малює GoStyleBoxComic: жирний чорнильний контур і жорстка тінь на кожній панелі, яка зникає від натискання; обведені чорнилом перемикачі, прапорці й ручки повзунків, жовта плашка заголовка у вікон. Товщина контуру, розмір тіні й те, чи видно тіні взагалі, — налаштування GoConfig. | GoSkinComic · стандартні іконки |
Усі чотирнадцять поруч
Той самий екран галереї, де змінилася лише назва пресету, — код віджетів не відрізняється жодним рядком. Кожен знімок — телефон, який тримають вертикально, 390×844.

default_dark
default_light
scifi_dark
scifi_light
medieval_dark
medieval_light
material_light
material_dark
kids_light
kids_dark
comic_light
comic_dark
arcade_light
arcade_darkСередньовіччя: залізо, шкіра й пергамент
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; що справжній швидкий слот користується скіном; що зміна регуляторів
у копії скіна доходить до слота, не чіпаючи пресету; і що перемикання назад відновлює стандартну та сай-фай геометрію.
Створіть власне королівство
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 | Радіус швидкого слота, видимість заклепок, зернистість і відблиск. Повна таблиця нижче перелічує кожен регулятор. |
Material 3: образ для екранів застосунків Нове
material_light і material_dark приносять у gohud Material 3 Expressive — форми, розміри та
типографіку компонентів M3, де кожне число взято з офіційного набору токенів M3 (material-web,
tokens/versions/latest). Беріть їх там, де екран має відчуватися як застосунок, а не як ігрове меню:
крамниці, пошта, сторінки облікового запису й налаштувань, таблиці лідерів, застосунок-компаньйон.
GoUi.use_preset(GoThemePresets.MATERIAL_LIGHT)
# Або: GoUi.use_preset(GoThemePresets.MATERIAL_DARK)

material_light
material_dark
GoDialogs · material_light
GoDialogs · material_darkЩо змінюється
| Частина | У Material 3 |
|---|---|
| Кнопки | Пігулки (повне заокруглення кутів). Плашка заввишки 40dp стоїть по центру зони дотику 48dp, тож область натискання не зменшується; у компактної кнопки плашка 32dp. Написи набрано Roboto з насиченістю 500. |
| Діалоги й аркуші | Кути 28dp (extra-large), відступи 24dp і заголовок 24sp — GoDialogs, GoSurface, GoSheet і всі спливні вікна, побудовані на них. |
| Картки | Заповнені картки з кутами 12dp і відступами 16dp. |
| Поля й повзунки | Текстові поля з контуром; повзунок Expressive із високою ручкою. |
| Чипи й сегменти | Кути 8dp (small). |
| Компоненти застосунків | GoNavBar, GoAppBar, GoFab, GoSearchBar, чипи, GoProgress і GoDatePicker дотримуються токенів компонентів M3. |
| Шрифт | Вбудований Roboto — для заголовків, підзаголовків, підписів і кнопок. Основний текст лишає шрифт вашого проєкту, тож корейський, японський, китайський чи арабський текст і далі відображається. |
| Непрозорість | Усі панелі непрозорі — поверхні M3 суцільні. (Панелі стандартного, сай-фай і середньовічного образів непрозорі на 80%, тож гра просвічує.) |
| Скін | GoSkinMaterial: бічна панель — модальний бічний аркуш M3, лицьова панель консолі — плаваюча панель інструментів M3, банери лежать на surface_container_low. |
tools/check_contrast.py вимірює обидва образи, як і всі інші.
Roboto поширюється за SIL Open Font License 1.1 (assets/fonts/roboto/OFL.txt) і використовується лише
пресетами Material.
Дитячий образ: коробка з іграшками Нове
kids_light (кремовий і персиковий із виноградним основним кольором) і kids_dark (чорничне тло,
сонячно-жовтий основний колір, м'ятні пігулки) — образ для дитячих ігор і навчальних застосунків: пухкий, яскравий і м'який,
з тих, які маленькому пальцю так і кортить натиснути.
GoUi.use_preset(&"kids_light")
# Або: GoUi.use_preset(&"kids_dark")

kids_light
kids_dark
GoDialogs · kids_light
GoDialogs · kids_darkЩо змінюється
| Частина | У дитячих образах |
|---|---|
| Кожна лицьова панель | Желейна цукерка, яку малює GoStyleBoxJelly: товстий контур, щільний бортик під усім, що натискається, тіло, світліше згори й темніше знизу, і білий відблиск ліворуч угорі. Її носять клавіші, рядки списків, згортані заголовки, поля, смуги, повзунки й панелі. |
| Натискання | Бортик зникає, і лицьова панель опускається на його місце, потім желейне сплющення — на мить широке й пласке, а тоді пружний відскок назад. Працює на кожній кнопці, яку створює gohud; reduce_motion його вимикає. |
| Поля, вкладки, смуги | Текстове поле — те саме желе, вивернуте всередину: заглиблена лунка. Вкладки — бульбашки, смуги мають желейний відблиск. |
| Колір | Кожен вид елементів має свій колір олівця, дібраний тим самим генератором, що й у кожному образі, тож усі пороги контрасту й далі дотримуються. |
| Вікна | Сонячна стрічка (вночі м'ятна) за заголовком вікна — заголовок зменшується, аж до 15, щоб лишитися в один рядок, — і кругла кнопка закриття-цукерка «небезпечного» кольору олівця з білим хрестиком. |
| Частини скіна | GoSkinKids: швидкі слоти — цукеркові кубики, що просідають під час перезаряджання, значки — наліпки, чипи й пігулка навігації — маленькі желейки, аватари — круглі цукерки, стик — веселка, діаграми розфарбовано олівцями, сповіщення й повідомлення — записки-наліпки з щільним обідком. |
| Непрозорість | Панелі, картки, сповіщення та спливні вікна непрозорі. |

Створіть власну коробку з іграшками
python3 addons/gohud/tools/new_theme.py candy --from kids_light
# Відредагуйте themes/palettes/candy.json, а тоді:
python3 addons/gohud/tools/make_theme.py candy
GoUi.use_preset(&"candy")
Комікс: жирне чорнило Нове
comic_light (білі панелі на сторінці кольору кремового паперу, кобальтовий основний колір) і comic_dark (сланцеві панелі
на нічній сторінці, кремові контури, жовтий основний колір) малюють кожну панель як кадр коміксу — жирний чорнильний контур
із жорсткою тінню позаду.
GoUi.use_preset(&"comic_light")
# Або: GoUi.use_preset(&"comic_dark")

comic_light
comic_dark
GoDialogs · comic_light
GoDialogs · comic_darkЩо змінюється
| Частина | У коміксових образах |
|---|---|
| Кожна лицьова панель | Її малює GoStyleBoxComic: колір поверхні всередині жирного контуру кольору чорнила й жорстка тінь униз і праворуч. Її носять клавіші, рядки списків, поля, вкладки, смуги, повзунки, панелі й спливні вікна. |
| Натискання | Тінь зникає, і лицьова панель опускається на її місце. |
| Елементи керування | Перемикачі, прапорці, радіокнопки й ручки повзунків теж обведені чорнилом, і кожен має власну маленьку тінь. |
| Вікна | Жовта плашка за заголовком вікна й кругла кнопка закриття, обведена чорнилом. |
| Частини скіна | GoSkinComic: швидкі слоти, чипи, значки, аватари, сповіщення, панель навігації, FAB і клітинки дат обведено чорнилом; ручка стика відкидає тінь; діаграми розфарбовано яскравими основними кольорами. |
| Непрозорість | Панелі, картки, сповіщення та спливні вікна непрозорі; картки HUD непрозорі на 92%. |
Налаштування чорнила й тіні
Три налаштування GoConfig змінюють усі коміксові панелі разом. Нічого не перебудовується — екран перемальовується, щойно ви їх задаєте.
GoUi.config.comic_border_width = 2.0 # контур (dp) — типово 3
GoUi.config.comic_shadow_size = 6.0 # тінь (dp) — типово 4
GoUi.config.comic_shadow = false # ніде жодних тіней
Окремий віджет може піти власним шляхом, хоч би що казало налаштування:
GoStyle.comic_shadow(skip_button, false) # ця кнопка лежить пласко
GoStyle.comic_shadow(card, true, true) # ця картка й усе в ній зберігають тінь
GoStyle.comic_border(title, 5.0) # у цього елемента контур товщий

Створіть власний комікс
python3 addons/gohud/tools/new_theme.py inked --from comic_light
# Відредагуйте themes/palettes/inked.json, а тоді:
python3 addons/gohud/tools/make_theme.py inked
GoUi.use_preset(&"inked")
Аркада: розфарбовані клавіші й товсті дошки Нове
arcade_light (білі дошки на небесно-блакитній сторінці) і arcade_dark (темно-сині дошки на нічній сторінці)
оформлюють кожен екран як ігровий автомат: кожна клавіша розфарбована — градієнт від світлого верху до глибшого низу,
білий мазок відблиску й бортик, що западає від натискання, у темно-синьому чорнильному контурі, — а кожна дошка товста:
кольорова рамка навколо світлої заглибини.
GoUi.use_preset(&"arcade_light")
# Або: GoUi.use_preset(&"arcade_dark")

arcade_light
arcade_dark
GoDialogs · arcade_light
GoDialogs · arcade_darkЩо змінюється
| Частина | В аркадних образах |
|---|---|
| Клавіші | Їх малює GoStyleBoxArcade: тіло з градієнтом, білий відблиск біля верхнього лівого кута, глибший бортик і темно-синій чорнильний контур. Основна клавіша зелена, звичайні клавіші й вибрана вкладка сині, клавіші небезпеки коралові й червоні, малі клавіші та решта вкладок лавандові. |
| Підписи | Білі з чорнильним контуром на кожній розфарбованій клавіші. Кожну фарбу зсувають, доки цей підпис не читатиметься на будь-якій висоті її градієнта, — 4.6:1 або більше, причому контур зараховується до літери, як це робить WCAG. |
| Натискання | Бортик зникає, клавіша втискається на своє місце й вискакує назад. |
| Дошки | Панелі, картки, картки HUD і спливні вікна товсті: кольорова рамка (6dp навколо вікна, 4 навколо картки чи картки HUD, 3 навколо меню чи сповіщення) з власним відблиском і бортиком навколо світлої заглибини з чорнильною лінією. Відступи трохи зростають, щоб її вмістити, тож текст ніколи не торкається рамки. |
| Поля й смуги | Поля введення й жолоби смуг — заглиблені; заповнення смуги — глянцева розфарбована трубка яскравого кольору заповнення. |
| Вікна | Золотий банер із білим заголовком у чорнильному контурі й кругла червона клавіша закриття з білим хрестиком. |
| Частини скіна | GoSkinArcade: швидкі слоти й чипи — ковпачки клавіш, слот на перезарядці світиться золотою облямівкою, значки — світлі плашки, сповіщення обрамлені власним кольором, вибрана картка світиться золотою облямівкою, FAB — золота клавіша, а стик — глянцевий майданчик із чотирма стрілками. |
| Непрозорість | Панелі, картки, сповіщення та спливні вікна непрозорі; картки HUD непрозорі на 94%. |
Розфарбуйте одну клавішу власним кольором
Тема розфарбовує клавіші за їхнім видом. Меню, у якому кожна клавіша хоче свого кольору, розфарбовує їх по одній — лицьовий бік під час наведення трохи світліший, натиснутий трохи глибший, а вимкнений лишається тьмяним:
menu.add_child(GoStyle.arcade_paint(GoStyle.button("Resume", _resume, GoStyle.Tone.PRIMARY), Color("#4ACB3E")))
menu.add_child(GoStyle.arcade_paint(GoStyle.button("Shop", _shop), Color("#FF8A1E")))
GoStyle.arcade_paint(stage_card, Color("#E3343D"), true) # рамка дошки й кожна клавіша в ній
arcade_paint() нічого не робить.

Створіть власну аркаду
python3 addons/gohud/tools/new_theme.py cabinet --from arcade_light
# Відредагуйте themes/palettes/cabinet.json — кольори *_vivid і є фарбами, — а тоді:
python3 addons/gohud/tools/make_theme.py cabinet
GoUi.use_preset(&"cabinet")