프리셋 하나가 이 셋을 묶는다. 비워 둔 칸은 기본값으로 떨어진다.
| 층 | 무엇을 정하나 | 바꾸는 법 |
|---|---|---|
Theme |
색·치수·글자 크기, 그리고 엔진이 그려 주는 것의 모양 — 버튼 패널, 입력 칸, 탭, 토글 그림 | .tres 를 만들거나 tools/make_theme.py 로 생성 |
GoSkin |
코드가 직접 그리는 것의 모양 — 조이스틱, 퀵슬롯 패널, 코치마크 링, 칩, 스켈레톤, 구분선 | 상속해서 바꾸고 싶은 메서드만 덮어쓴다 |
GoIconSet |
이름으로 부르는 아이콘 — 기본 84종, 또는 그 위에 각인풍 16종을 얹은 중세 세트. 텍스처 세트든 아이콘 폰트든 같은 이름으로 부른다 | 세트를 꽂거나 몇 개만 덮어쓴다 |
StyleBoxFlat 의 모서리는 둥근 것뿐이다. 반경을
0 으로 두면 직각이고 그 사이는 없다. 사선으로 잘린 모서리도, 한쪽만 굵은 강조선도, 바깥으로 번지는 발광도
엔진이 그려 주지 않는다. 게다가 조이스틱과 코치마크는 _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종 |
중세: 철·가죽·양피지
medieval_dark는 어두운 철·가죽·고금색, medieval_light는 양피지·잉크 색상이다.
기존 위젯에 GoSkinMedieval을 적용하며, 16종의 각인풍 아이콘과 기존 탐색 아이콘을 함께 쓴다.
GoUi.use_preset(GoThemePresets.MEDIEVAL_DARK)
# 또는: GoUi.use_preset(GoThemePresets.MEDIEVAL_LIGHT)
UI를 만들기 전에 선택한다. GoConfig.theme, skin, icons의 직접 설정은 우선한다.
res://addons/gohud/examples/medieval/medieval.tscn을 열고 F6을 누르면 캐릭터·인벤토리·퀘스트 예제를 실행한다.
버튼으로 두 프리셋을 전환하거나 아이템 설명을 열 수 있다.


메뉴는 모서리 리벳과 작은 장식으로 꾸미고, 상시 HUD는 테두리를 절제한다.
HP·마나·스태미나에는 빨강·파랑·올리브색 채움을 쓴다. Cinzel은 제목·부제에만 적용하고 본문은 기존 글꼴을 유지한다.
글꼴 라이선스는 assets/fonts/cinzel/OFL.txt에 포함되어 있다.
각인풍 세트는 bag·book·box·coin·crown·flag·
heart·key·map·potion·shield·star·
sword·user 14종을 다시 그리고 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 테마를 부모로 상속할 수 있다. 생략한 값과 아이콘 세트는 부모를 따르며 순환 상속은 오류로 알려 준다.
| 설정 | 효과 |
|---|---|
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 | 퀵슬롯 반경·리벳·질감·빛 반사. 아래 표에 모든 이름과 기본값이 있다. |