HolyOS 프로젝트 소개 및 영감: 교황청을 배경으로 한 가상의 운영체제 'HolyOS'는 Gran Turismo 4의 UI에서 영감을 받아 Godot 엔진으로 개발되었으며, 픽셀 아트와 반응형 UI 구현에 중점을 둡니다. ⛪
Godot UI의 반응형 디자인: 중첩된 컨테이너 노드(SplitContainer, VBoxContainer, HBoxContainer 등)를 활용하여 이메일 클라이언트와 같은 복잡한 UI를 다양한 화면 크기와 창 크기에 맞춰 동적으로 조절할 수 있도록 구현합니다. 📐
커스텀 테마 및 폰트 설정: 프로젝트 설정에서 기본 커스텀 테마를 지정하고, 픽셀 아트 폰트의 수직 오프셋 문제를 폰트 변형(Font Variation)을 통해 전역적으로 수정하여 UI 일관성을 확보합니다. 🎨
버튼 스타일링 및 변형: AtlasTexture를 사용하여 여러 UI 요소를 하나의 스프라이트 시트에 관리하고, 테마 리소스에서 버튼의 대체 스타일(예: button_alternate)을 정의하여 다양한 시각적 상태를 구현합니다. ✨
UI 사운드 효과 추가: ButtonSounds와 같은 커스텀 노드를 상속받아 버튼의 pressed 및 visibility_changed 신호에 연결하여 UI 상호작용에 청각적 피드백을 제공합니다. 🔊
커스텀 마우스 커서 구현: Godot의 기본 set_custom_mouse_cursor 함수 대신, CRT 셰이더와의 호환성 문제로 인해 awesome custom cursor 1.0 플러그인을 사용하여 숨겨진 네이티브 커서 위에 커스텀 스프라이트 프레임 기반 커서를 구현합니다. 🖱️
드래그 앤 드롭 기능: get_drag_data, can_drop_data, drop_data와 같은 가상 함수를 오버라이드하여 특정 데이터 타입만 허용하는 드래그 앤 드롭 기능을 구현하지만, 드래그 미리보기가 창 뒤에 가려지는 현재 Godot의 한계가 있습니다. ✋
Godot UI 개발 경험 요약: Godot의 UI 시스템은 강력하고 풍부하지만, 테마 에디터가 직관적이지 않고, 데이터 바인딩 부재, 스타일 조합의 한계, Tree 노드의 사용 어려움 등의 단점도 존재합니다. 🛠️