콘텐츠로 이동
GameDesign

UI / UX 작성완료구현밸런싱미완료

본 문서는 인게임 HUD와 팝업 UI 구조를 정리한다. 각 UI는 자체 시스템 문서가 있는 경우 거기로 위임하고, 본 문서는 어떤 UI가 존재하고 어떻게 조직되어 있는가를 다룬다.

flowchart LR
subgraph HUD [인게임 HUD]
  H1[HP · Stamina · Weight]
  H2[Hitted · Stun]
  H3[Hunger · Thirst]
  H4[Mental · Penalty]
  H5[MissionHUD · QuickSlot]
end
subgraph POPUP [팝업 트리거]
  K1[Tab/I → 인벤토리]
  K2[ESC → 게임 메뉴]
  K3[F → NPC]
  K4[F → 월드 오브젝트]
end
subgraph PANELS [팝업 패널]
  P1[InventoryPopup]
  P2[NPCPopup → Trade · Mission]
  P3[Storage · Anvil · Chest · Corpse]
  P4[GameMenu · GameResult]
end

HUD --> K1 & K2
K1 --> P1
K2 --> P4
K3 --> P2
K4 --> P3

classDef hud fill:#e0f2fe,stroke:#0284c7,stroke-width:2px,color:#075985
classDef trigger fill:#fef3c7,stroke:#d97706,stroke-width:2px,color:#78350f
classDef panel fill:#bbf7d0,stroke:#16a34a,stroke-width:2px,color:#14532d
class H1,H2,H3,H4,H5 hud
class K1,K2,K3,K4 trigger
class P1,P2,P3,P4 panel
원칙규칙의미
HUD = 상시 표시자원·상태 게이지·미션 진행은 항상 보인다전투 중 자원 판단이 즉각적으로 가능
팝업 = 컨텍스트 의존인벤토리·거래·미션·창고는 트리거 시 팝업 등장월드 흐름을 끊지 않고 정보 접근
PopupManager 단일 관리자모든 팝업 오픈/클로즈를 일원화중첩·상호 차단을 한 곳에서 처리
인벤토리 그리드 공용동일 InventoryInfo/InventoryUI를 여러 팝업이 재사용코드 중복 없이 일관된 조작감

런 중 화면에 상시 표시. 코드(UI/GameUI/) 기준 Bar 컴포넌트 12종.

HUD표시 자원RuntimeStat 매핑
HealthPointBarHPHP
StaminaPointBar스태미너Stamina
ShieldPointBar방패 게이지(방패 안정도 — 확인 필요)
HittedPointBar강인함 누적HittedGauge
StunPointBar스턴 누적StunGauge
WeightPointBar현재 무게 / 최대 중량Weight
HungerPointBar허기 게이지Hunger
ThirstPointBar갈증 게이지Thirst
MentalPointBar정신력 (멘탈)Mental 자원
PenaltyPointBar디버프 축적Penalty 자원
CooltimeBar액션 쿨다운(스킬/액션 단위)
Redial360Bar원형 게이지탈출 점유 + 상호작용 점유 시간 (다용도)
  • MissionHUD — 진행 중 미션의 아이템/킬 카운트 상시 표시 (미션·NPC·상인 §2).
  • QuickSlotContainer + QuickSlot — 단축 슬롯 (벨트 슬롯 수 연동).
  • MapIconMarker — 맵상 아이콘 (탈출 지점·미션 표적 등).

코드(UI/Popup/) 기준 주요 팝업 11종.

팝업트리거핵심 영역
InventoryPopupTab/I휴대 인벤토리 + 장착 슬롯 + 파츠 슬롯
PlayerInventoryPopup거점에서 자체휴대 인벤토리 단일 패널
StorageInventoryPopup창고 오브젝트 F휴대 + 창고 양측
AnvilInventoryPopup모루 F휴대 + 파츠 결합 패널
ChestInventoryPopup상자 F휴대 + 상자 내용물
CorpseInventoryPopup시체 F휴대 + 시체 인벤토리 (몹 루팅)
TradeInventoryPopup상인 거래4영역 (상인 보유·구매·판매·플레이어 보유)
MissionPopupNPC 미션 메뉴미션 리스트·상세·보상·수락/완료
NPCPopupNPC F대화·상인·미션·떠나기 메뉴
GameMenuPopupESC미션 패널·옵션·게임 종료
GameResultPopup세션 종료성공/실패 화면·사망 원인
NPC F
→ NPCPopup (대화/상인/미션/떠나기)
├─ TradeInventoryPopup (상인 선택)
└─ MissionPopup (미션 선택)
월드 F
→ StorageInventoryPopup (창고)
→ AnvilInventoryPopup (모루)
→ ChestInventoryPopup (상자)
→ CorpseInventoryPopup (시체)
Tab/I → InventoryPopup
ESC → GameMenuPopup
세션 종료 → GameResultPopup

같은 InventoryInfo/InventoryUI 컴포넌트가 여러 팝업에 재사용된다.

패널역할
InventoryUI격자 표시 + 드래그 입력
EquipSlotGroupUI14종 장착 슬롯
PartsSlotGroupUI무기 파츠 슬롯
AnvilSlotGroupUI모루용 파츠 패널
StorageInventoryUI창고 격자 (19×10)
InventoryToolTipPanel아이템 hover 툴팁
InventoryDescriptionPanel선택 아이템 상세
입력동작
좌클릭 + 드래그아이템 이동
우클릭 (스팀덱 □)패널 간 이동 (보유→거래, 보유→창고 등)
R격자 위 아이템 90도 회전
ESC팝업 닫기 (변경사항 취소)
확인 버튼변경사항 저장
상태표시
미수령미션명 — 흰색
진행중미션명 (진행중) — 회색
완료미션명 (완료) — 강조

런 중 화면 우측 상시 표시.

  • Item 미션: 아이템 아이콘 + 보유/요구 수량.
  • Kill 미션: 몹 이름 + 처치/요구 수량.
  • 달성: 흰색 텍스트. 미달성: 회색.

레이아웃 (PDF 기준):

┌────────────────────────────────────────┐
│ ① 상인 이름 │
│ ② 상인 대사 │
├──────────────┬─────────────────────────┤
│ ③ 상인 보유 │ ④ 구매 칸 │
├──────────────┼─────────────────────────┤
│ ⑤ 캐릭터 보유 │ ⑥ 판매 칸 │
├──────────────┴─────────────────────────┤
│ ⑦ 종류 탭 ⑧ 보관함 탭 │
│ ⑨ 거래하기 (차액 표시) │
└────────────────────────────────────────┘

상세는 미션·NPC·상인 §3.5 참조.

결과표시
성공성공 이미지 + 획득 자산 요약
실패실패 이미지 + 사망 원인 (PlayerHpLossRecord)

사망 원인은 전투 — 피해 5종 중 마지막 원인이 표시된다.

시스템연결 지점
인벤토리·창고모든 인벤토리 팝업.
캐릭터 스테이터스HUD 게이지가 RuntimeStat 이벤트 구독.
전투HP·Stamina·Hitted·Stun·Weight 게이지.
미션·NPC·상인NPC·미션·거래 팝업.
파츠AnvilInventoryPopup.
아이템·루팅·드랍Chest·Corpse 팝업.
  • ShieldPointBar가 표시하는 정확한 자원 — 미정, 코드 확인 필요.
  • QuickSlot 단축키 매핑과 슬롯별 입력 방식.
  • 인벤토리 회전(R) 입력의 실제 코드 트리거 확인.
  • 미니맵 존재 여부와 표시 정보.
  • HUD 자원 순서·위치의 표준 레이아웃.
  • Mental·Penalty의 RuntimeStat 내 정식 위치 (추가 필드 / 별도 매니저) — 보류.