Preset spina wszystkie trzy. Pola, które zostawisz puste, wracają do wartości domyślnych.
| Warstwa | Decyduje o | Jak to zmieniasz |
|---|---|---|
Theme |
Kolory, rozmiary, skala tekstu i kształt wszystkiego, co rysuje silnik — panele przycisków, pola wprowadzania, zakładki, grafiki przełączników | Napisz własny .tres albo wygeneruj go przez tools/make_theme.py |
GoSkin |
Kształt wszystkiego, co rysuje kod — joysticka, lic szybkich slotów, pierścienia wskazówki instruktażowej, chipów, szkieletów, separatorów, nagłówków sekcji | Odziedzicz po niej i nadpisz tylko te metody, na których ci zależy |
GoIconSet |
Ikony po nazwie — 84 domyślne rysunki albo 16 grawerowanych rysunków zestawu średniowiecznego nałożonych na nie. Pakiet tekstur albo font ikon; kod wywołujący jest w obu przypadkach identyczny | Dostarcz zestaw albo nadpisz tylko kilka nazw |
StyleBoxFlat —
ustaw promień na zero, a dostaniesz kąt prosty; pomiędzy nie ma nic. Ukośnie ścięte narożniki, pojedyncza
pogrubiona krawędź, zewnętrzna poświata: silnik nie rysuje żadnej z tych rzeczy. A joystick i wskazówka
instruktażowa są rysowane w _draw(), gdzie motyw nie sięga w ogóle.
Wybór presetu
GoUi.use_preset(GoThemePresets.SCIFI_DARK)
Ta jedna linijka podmienia motyw, skórkę i ikony. Z poziomu edytora użyj
Ustawienia projektu → Gohud → Theme → Preset; z zasobu ustawień — GoConfig.preset.
Zostawić jedno pole po swojemu
GoUi.use_preset(GoThemePresets.SCIFI_DARK)
GoUi.config.icons = my_icons # twoje ikony, cała reszta z presetu
Jawne ustawienie theme, skin lub icons wygrywa z presetem.
Czternaście wbudowanych presetów
| Preset | Panele | Skórka · ikony |
|---|---|---|
default_dark · default_light | Zaokrąglone panele StyleBoxFlat na stopniowanej skali cieni; przyciski główne unoszą się i zapadają przy naciśnięciu | GoSkin · 84 domyślne ikony |
scifi_dark · scifi_light | Ścięte panele GoStyleBoxCut z neonową krawędzią i poświatą; znaczniki fokusu GoStyleBoxBracket | GoSkinSciFi — sześciokątny joystick · domyślne ikony |
medieval_dark · medieval_light | Kute ramy GoStyleBoxMedieval — żelazo i skóra albo pergamin — z nitami i ornamentami narożnymi w menu | GoSkinMedieval · 16 grawerowanych ikon nałożonych na domyślne |
material_light · material_dark Nowość | Material 3 Expressive dla ekranów aplikacji — przyciski-pigułki 40dp w polu dotyku 48dp, okna dialogowe 28dp, wypełnione karty, pola z obrysem, suwak Expressive; komponenty aplikacji (pasek nawigacji, górny pasek aplikacji, FAB, pasek wyszukiwania, chipy, postęp, wybór daty) idą za tokenami komponentów M3 | GoSkinMaterial · domyślne ikony |
kids_light · kids_dark Nowość | Dla dzieci — pudełko z zabawkami: grube obrysy i solidna krawędź pod każdym klawiszem, który zapada się po naciśnięciu; wklęsłe pola tekstowe, zakładki-bąbelki, galaretkowe paski; każdy rodzaj kontrolki w swoim kolorze kredki, cukierkowe szybkie sloty, odznaki-naklejki, tęczowy joystick i kolorowe wykresy. Rozmiary i czcionka projektu pozostają bez zmian. | GoSkinKids · domyślne ikony |
arcade_light · arcade_dark Nowość | Automat do gier rysowany przez GoStyleBoxArcade: każdy klawisz pomalowany gradientem z góry na dół, białym połyskiem i krawędzią, która zapada się po naciśnięciu, w granatowym obrysie tuszem, a jego etykieta jest biała z obrysem tuszem — zielony kolor główny, niebieskie klawisze, czerwone niebezpieczeństwo, lawendowe małe klawisze. Grube plansze z kolorową ramą wokół jasnego wnętrza; złota wstęga tytułu i okrągły czerwony klawisz zamknięcia na oknach. | GoSkinArcade · domyślne ikony |
comic_light · comic_dark Nowość | Kadry z komiksu rysowane przez GoStyleBoxComic: gruby obrys tuszem i twardy cień na każdej powierzchni, który znika po naciśnięciu; obrysowane tuszem przełączniki, pola wyboru i uchwyty suwaków, żółte pole tytułu na oknach. Grubość obrysu, rozmiar cienia i to, czy cienie w ogóle są widoczne, to ustawienia GoConfig. | GoSkinComic · domyślne ikony |
Wszystkie czternaście obok siebie
Ten sam ekran galerii, w którym zmieniono tylko nazwę presetu — nie różni się ani jedna linijka kodu widżetów. Każdy to telefon trzymany pionowo, 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Średniowiecze: żelazo, skóra i pergamin
medieval_dark łączy ciemne żelazo i skórę ze starym złotem. medieval_light
używa pergaminu i atramentu. Oba korzystają z GoSkinMedieval, istniejących widżetów i 16
oryginalnych ikon z detalami grawerunku; ikony nawigacyjne wracają do zestawu oryginalnego.
GoUi.use_preset(GoThemePresets.MEDIEVAL_DARK)
# Albo: GoUi.use_preset(GoThemePresets.MEDIEVAL_LIGHT)
Wybierz preset, zanim utworzysz swój interfejs. Jawne nadpisania GoConfig.theme,
skin czy icons nadal mają pierwszeństwo. Otwórz
res://addons/gohud/examples/medieval/medieval.tscn i naciśnij F6, by zobaczyć działającą
kartę postaci, sakwę i dziennik zadań. Jej przyciski przełączają warianty i otwierają szczegóły przedmiotów.


Ramy menu mają nit i mały ornament narożny; stale widoczny HUD zachowuje spokojną krawędź.
Zdrowie, mana i wytrzymałość używają wypełnień czerwonego, niebieskiego i oliwkowego. Cinzel jest
ograniczony do tytułów i podtytułów; tekst główny zachowuje czcionkę gospodarza lub domyślną.
Dołączona czcionka niesie swoją licencję w assets/fonts/cinzel/OFL.txt.
Zestaw grawerowany przerysowuje bag, book, box, coin, crown,
flag, heart, key, map, potion, shield,
star, sword i user, a dokłada scroll oraz seal.
Każda inna nazwa wraca do zestawu domyślnego, więc close i settings zachowują swoje
domyślne rysunki w każdym presecie. Cinzel pokrywa pismo łacińskie; nagłówkom w innych językach daj własną
czcionkę przez shape.fonts.
DPITexture; prawdziwy szybki slot używa skórki; zmiana pokręteł
skopiowanej skórki dociera do slotu bez ruszania presetu; a przełączenie z powrotem przywraca geometrię domyślną i sci-fi.
Zrób własne królestwo
python3 addons/gohud/tools/new_theme.py kingdom --from medieval_dark
# Edytuj themes/palettes/kingdom.json, a potem:
python3 addons/gohud/tools/make_theme.py kingdom
godot --headless --path . --import
# W GDScripcie, przed utworzeniem widżetów:
GoUi.use_preset(&"kingdom")
Motywy JSON mogą dziedziczyć po innych motywach JSON. Pominięte wartości zachowują ustawienia rodzica; dziedziczenie cykliczne jest odrzucane. Wygenerowany preset zachowuje zestaw ikon rodzica.
| Ustawienie | Efekt |
|---|---|
shape.material | 0: żelazo · 1: skóra · 2: pergamin. Decyduje o znakach na powierzchni. |
shape.grain_alpha | Krycie faktury. Użyj 0, by uzyskać czystą powierzchnię. |
shape.ornament_scale · shape.bevel_strength | Rozmiar ornamentu narożnego w menu i siła podświetlenia fazy. |
shape.fonts | Przypisuje role title, subtitle, caption, body i button do plików czcionek res:// wewnątrz dodatku. Pominięte role zachowują odziedziczoną czcionkę. |
skin.dials | Promień szybkiego slotu, widoczność nitów, faktura i podświetlenie. Pełna tabela niżej wymienia każde pokrętło. |
Material 3: wygląd dla ekranów aplikacji Nowość
material_light i material_dark wnoszą do gohud Material 3 Expressive — kształty, rozmiary i typografię
komponentów M3, z każdą liczbą odczytaną z oficjalnego zestawu tokenów M3 (material-web, tokens/versions/latest).
Sięgaj po nie tam, gdzie ekran ma sprawiać wrażenie aplikacji, a nie menu gry: sklepy, skrzynki odbiorcze, strony konta i
ustawień, tabele wyników, aplikacja towarzysząca.
GoUi.use_preset(GoThemePresets.MATERIAL_LIGHT)
# Albo: GoUi.use_preset(GoThemePresets.MATERIAL_DARK)

material_light
material_dark
GoDialogs · material_light
GoDialogs · material_darkCo się zmienia
| Część | W Material 3 |
|---|---|
| Przyciski | Pigułki (pełne zaokrąglenie). Płytka ma 40dp wysokości i jest wyśrodkowana w obszarze dotyku 48dp, więc obszar naciśnięcia się nie kurczy; płytka kompaktowego przycisku ma 32dp. Etykiety używają Roboto o grubości 500. |
| Okna dialogowe i arkusze | Narożniki 28dp (extra-large), margines 24dp i nagłówek 24sp — GoDialogs, GoSurface, GoSheet i każde okno zbudowane na nich. |
| Karty | Wypełnione karty z narożnikami 12dp i marginesem 16dp. |
| Pola i suwaki | Pola tekstowe z obrysem; suwak Expressive z wysokim uchwytem. |
| Chipy i segmenty | Narożniki 8dp (small). |
| Komponenty aplikacji | GoNavBar, GoAppBar, GoFab, GoSearchBar, chipy, GoProgress i GoDatePicker idą za tokenami komponentów M3. |
| Pismo | Dołączone Roboto dla tytułów, podtytułów, podpisów i przycisków. Tekst główny zachowuje czcionkę twojego projektu, więc koreański, japoński, chiński czy arabski nadal się wyświetlają. |
| Krycie | Każdy panel jest nieprzezroczysty — powierzchnie M3 są pełne. (Panele domyślne, sci-fi i średniowieczne mają 80% krycia, więc gra przez nie prześwituje.) |
| Skórka | GoSkinMaterial: panel boczny to modalny arkusz boczny M3, powierzchnia konsoli to pływający pasek narzędzi M3, banery leżą na surface_container_low. |
tools/check_contrast.py mierzy oba wyglądy tak jak każdy inny.
Roboto jest objęte licencją SIL Open Font License 1.1 (assets/fonts/roboto/OFL.txt) i używają go wyłącznie presety
Material.
Kids: pudełko z zabawkami Nowość
kids_light (krem i brzoskwinia z winogronowym kolorem głównym) i kids_dark (jagodowe tło, słonecznie żółty
kolor główny, miętowe pigułki) to wygląd dla gier dla dzieci i aplikacji edukacyjnych — pękaty, jaskrawy i miękki jak galaretka,
taki, który mały palec sam chce nacisnąć.
GoUi.use_preset(&"kids_light")
# Albo: GoUi.use_preset(&"kids_dark")

kids_light
kids_dark
GoDialogs · kids_light
GoDialogs · kids_darkCo się zmienia
| Część | W wyglądach Kids |
|---|---|
| Każda powierzchnia | Galaretkowy cukierek rysowany przez GoStyleBoxJelly: gruby obrys, solidna krawędź pod wszystkim, co naciskasz, korpus jaśniejszy u góry i ciemniejszy u dołu oraz biały połysk w lewym górnym rogu. Noszą go klawisze, wiersze list, zwijane nagłówki, pola, paski, suwaki i panele. |
| Naciśnięcie | Krawędź znika, a powierzchnia zapada się na jej miejsce, po czym następuje galaretkowe zgniecenie — przez chwilę szeroko i płasko, potem sprężyste odbicie. Działa na każdym przycisku, który tworzy gohud; reduce_motion je wyłącza. |
| Pola, zakładki, paski | Pole tekstowe to ta sama galaretka odwrócona do środka — wklęsła studzienka. Zakładki to bąbelki, paski mają galaretkowy połysk. |
| Kolor | Każdy rodzaj kontrolki we własnym kolorze kredki, dobranym przez ten sam generator co w każdym wyglądzie, więc każda bramka kontrastu nadal przechodzi. |
| Okna | Słoneczna wstęga (nocą miętowa) za tytułem okna — tytuł zmniejsza się, aż do 15, żeby zostać w jednej linii — i okrągły cukierkowy przycisk zamknięcia w kredce niebezpieczeństwa z białym krzyżykiem. |
| Części skórki | GoSkinKids: szybkie sloty to cukierkowe klocki, które zapadają się na czas odnowienia, plakietki to naklejki, chipy i pigułka nawigacji to małe galaretki, awatary to okrągłe cukierki, joystick to tęcza, wykresy używają kredek, a alerty i powiadomienia to naklejki-notatki z solidnym rantem. |
| Krycie | Panele, karty, powiadomienia i okna wyskakujące są nieprzezroczyste. |

Zrób własne pudełko z zabawkami
python3 addons/gohud/tools/new_theme.py candy --from kids_light
# Edytuj themes/palettes/candy.json, a potem:
python3 addons/gohud/tools/make_theme.py candy
GoUi.use_preset(&"candy")
Comic: gruby tusz Nowość
comic_light (białe panele na stronie w kolorze kremowego papieru, kobaltowy kolor główny) i comic_dark (łupkowe panele
na nocnej stronie, kremowe obrysy, żółty kolor główny) rysują każdą powierzchnię jak kadr z komiksu — gruby obrys tuszem
z twardym cieniem za nim.
GoUi.use_preset(&"comic_light")
# Albo: GoUi.use_preset(&"comic_dark")

comic_light
comic_dark
GoDialogs · comic_light
GoDialogs · comic_darkCo się zmienia
| Część | W wyglądach Comic |
|---|---|
| Każda powierzchnia | Rysowana przez GoStyleBoxComic: kolor powierzchni wewnątrz grubego obrysu w kolorze tuszu i twardy cień w dół i w prawo. Noszą ją klawisze, wiersze list, pola, zakładki, paski, suwaki, panele i okna wyskakujące. |
| Naciśnięcie | Cień znika, a powierzchnia zapada się na jego miejsce. |
| Kontrolki | Przełączniki, pola wyboru, przyciski opcji i uchwyty suwaków też są obrysowane tuszem, każdy z własnym małym cieniem. |
| Okna | Żółte pole za tytułem okna i okrągły przycisk zamknięcia obrysowany tuszem. |
| Części skórki | GoSkinComic: szybkie sloty, chipy, plakietki, awatary, powiadomienia, pasek nawigacji, FAB i komórki dat są obrysowane tuszem; gałka joysticka rzuca cień; wykresy używają wyrazistych kolorów podstawowych. |
| Krycie | Panele, karty, powiadomienia i okna wyskakujące są nieprzezroczyste; karty HUD mają krycie 92%. |
Ustawienia tuszu i cienia
Trzy ustawienia GoConfig zmieniają naraz każdą powierzchnię Comic. Nic nie jest przebudowywane — ekran przerysowuje się, gdy tylko je ustawisz.
GoUi.config.comic_border_width = 2.0 # obrys (dp) — domyślnie 3
GoUi.config.comic_shadow_size = 6.0 # cień (dp) — domyślnie 4
GoUi.config.comic_shadow = false # nigdzie żadnych cieni
Pojedynczy widżet może pójść własną drogą, cokolwiek mówi ustawienie:
GoStyle.comic_shadow(skip_button, false) # ten przycisk leży płasko
GoStyle.comic_shadow(card, true, true) # ta karta i wszystko w niej zachowują cień
GoStyle.comic_border(title, 5.0) # grubszy obrys na tym elemencie

Zrób własny komiks
python3 addons/gohud/tools/new_theme.py inked --from comic_light
# Edytuj themes/palettes/inked.json, a potem:
python3 addons/gohud/tools/make_theme.py inked
GoUi.use_preset(&"inked")
Arcade: malowane klawisze i grube plansze Nowość
arcade_light (białe plansze na błękitnej stronie) i arcade_dark (granatowe plansze na nocnej stronie)
ubierają każdy ekran jak automat do gier: każdy klawisz jest malowany — gradient od jasnej góry do głębszego dołu,
biała smuga połysku i krawędź, która zapada się po naciśnięciu, w granatowym obrysie tuszem — a każda plansza jest gruba,
to kolorowa rama wokół jasnego wnętrza.
GoUi.use_preset(&"arcade_light")
# Albo: GoUi.use_preset(&"arcade_dark")

arcade_light
arcade_dark
GoDialogs · arcade_light
GoDialogs · arcade_darkCo się zmienia
| Część | W wyglądach Arcade |
|---|---|
| Klawisze | Rysowane przez GoStyleBoxArcade: korpus z gradientem, biały połysk wokół lewego górnego rogu, głębsza krawędź i granatowy obrys tuszem. Klawisz główny jest zielony, zwykłe klawisze i wybrana zakładka niebieskie, klawisze niebezpieczne koralowe i czerwone, małe klawisze i pozostałe zakładki lawendowe. |
| Etykiety | Białe z obrysem tuszem na każdym malowanym klawiszu. Każda farba jest przesuwana, aż ta etykieta będzie czytelna na każdej wysokości gradientu — 4,6:1 lub więcej, z obrysem liczonym jako część litery, tak jak robi to WCAG. |
| Naciśnięcie | Krawędź znika, klawisz wsuwa się na swoje miejsce i wyskakuje z powrotem. |
| Plansze | Panele, karty, karty HUD i okna wyskakujące są grube: kolorowa rama (6dp wokół okna, 4 wokół karty lub karty HUD, 3 wokół menu lub powiadomienia) z własnym połyskiem i krawędzią, wokół jasnego wnętrza z linią tuszu. Ich margines trochę rośnie, by ją pomieścić, więc tekst nigdy nie dotyka ramy. |
| Pola i paski | Pola tekstowe i rowki pasków to wklęsłe wnętrza; wypełnienie paska to błyszcząca malowana rurka w jaskrawym odcieniu jego koloru. |
| Okna | Złota wstęga z białym tytułem obrysowanym tuszem i okrągły czerwony klawisz zamknięcia z białym krzyżykiem. |
| Części skórki | GoSkinArcade: szybkie sloty i chipy to nasadki klawiszy, odnawiający się slot zapala złotą obwódkę, plakietki to jasne płytki, alerty mają ramę w swoim kolorze, wybrana karta zapala złotą obwódkę, FAB to złoty klawisz, a joystick to błyszczący pad z czterema strzałkami. |
| Krycie | Panele, karty, powiadomienia i okna wyskakujące są nieprzezroczyste; karty HUD mają krycie 94%. |
Pomaluj jeden klawisz na własny kolor
Motyw maluje klawisze według ich rodzaju. Menu, w którym każdy klawisz chce mieć własny kolor, maluje je po kolei — powierzchnia po najechaniu wychodzi trochę jaśniejsza, naciśnięta trochę głębsza, a wyłączona pozostaje przygaszona:
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) # rama planszy i każdy klawisz w niej
arcade_paint() nic nie robi.

Zrób własny automat
python3 addons/gohud/tools/new_theme.py cabinet --from arcade_light
# Edytuj themes/palettes/cabinet.json — kolory *_vivid to farby — a potem:
python3 addons/gohud/tools/make_theme.py cabinet
GoUi.use_preset(&"cabinet")