





UI 컨트롤를 거의 다 만들었습니다.
가장 먼저 한것은 스티브 잡스가 폰트에 집착하듯.. 저도 폰트 렌더링 부터 구현했습니다.
TTF파일을 읽기 위해서 freetype보다 가벼운 stb를 이용해서 로드 하였습니다.
폰트는 기본 SDF로 일단 렌더링 했습니다. 가볍고 나름 깔끔히 렌더링합니다.
그후에 해당 폰트를 다국어로 입력할 수있는 Input Field를 만들었습니다.
Input Field는 윈도우, 맥, 리눅스, iOS, Android 다릅니다. 그래서 일단 윈도우용으로 개발했습니다. UIPlatformWin32.h 에 몰아 넣었습니다.
그다음 구현한게 1차로 버튼, 토글, 라디오버튼, 슬라이드, 등등 기본적인것은 뭐 어렵지 않으니까 후다닥 구현했습니다.
그 다음 파이메뉴, TimeLine, 그래프, 노드 Graph등을 구현했습니다.
그후 UI컨트롤을 3D상의 3D좌표로 띄울수 있도록 UI렌더링을 렌더타겟에 그릴수 있도록 구현했습니다. 이것은 API로도 외부에 뺐습니다.
이전 게시물에서 설명하듯 여기까지 대부분의 UI를 구현한후.. 이 게임UI엔진으로 엔진의 툴 역시 구현하고자 했습니다.
블렌더3D의 화면을 기초로 툴 UI 레이아웃을 샘플을 테스트로 만들어 봤습니다.
툴을 이제 본격적으로 만들기 전에.. 애셋 관리 시스템을 어떻게 할지 결정을 해야 합니다.
유니티와 언리얼 고도 방식이 각기 좀 다릅니다.
유니티는 빌드후 너무 많은 애셋db를 가지고 있는 단점이 있고.. 언리얼은 애셋의 위치가 바뀔때마다 이동경로가 저장되는데 이게 쌓이는 경우가 있습니다.
저는 고도방식에 64bit FNV 해싱을 이용해서 간단한 테이블을 이용해서 경로를 얻어오는 방식을 사용하고자 합니다.
이제 툴 설계를 해야 하는데 툴 제작시 기능 1개 => AI용 API 1개. 식으로 만들어야 나중에 MCP서버 만들어서 붙이기 편해집니다. 클로드 데스크탑이나 클로드 코드가 직접 TCP로 연결되서 AI API명세서를 일고 게임을 만들어주게 하려고 합니다.
이제 본격적인 툴 설계를 해야겠네요.. 여기까지 되면 오디오 엔진과 입력 모듈 그리고 게임 제작 스크립트 입력방식. 스크립트 언어 선택 등등을 결정후에 제작이 완료 되면
AI를 이용해서 제 엔진으로 직접 갤러그를 만들어 보고자 합니다. ^^
한 30~40% 왔습니다. 나머지는 모델 애니메이션등을 세팅한 후에 프레임 이벤트 주는 기능
파티클을 이용한 이펙트 엔진등을 만들면.. 게임 제작이 가능해질듯 합니다.
감사합니다.