X-Verse 경호처 시뮬레이터 개발(개발 진행 중)
Unity3D 기반 경호처 훈련 시뮬레이터로, Addressable을 통한 리소스 관리, VIVE HMD·Optitrack 실시간 모션 트래킹, TOD·아바타·Task·시나리오 편집, 위해범·시민 NPC FSM, CSV/XML 데이터 저장·리플레이 기능을 포함합니다.


프로젝트 시연 영상
https://drive.google.com/file/d/1SpRKRGqs3eWymK3gVHzc5hn6V6Hlfrg9/view?usp=drive_link
01. 프로젝트 구성 (리소스 개발 인력 제외)
팀 구성 : 2인 (팀장으로 참여)
02. 프로젝트 내 본인 작업 내용
- Unity 관련
- VIVE Focus Vision HMD 및 VIVE Tracker / Optirack 센서 연동
- Unity3D Addressable 기능을 이용한 리소스 관리 기능 개발
- Scene 동적 로드 및 훈련 시나리오 제작 기능 개발
- 위해범 및 시민 NPC FSM 초기 디자인
- CSV 파일 포맷 및 XML, Json 파일을 통한 훈련 리플레이 데이터 저장 기능 개발
- 훈련자간 음성 대화 기능 개발
- 상용 네트워크 모듈을 이용한 네트워크 객체 동기화
- 프로젝트 관리
- 팀원 업무 분장 및 일정 관리
03. 담당 기능 개발
Unity 관련
-
VIVE Focus Vision HMD 및 VIVE Tracker / Optirack 센서 연동
- VR 장비 연동 및 Tracker 종류에 따른 센서 연동 선택 기능 개발
- 개발 방안 : VIVE HMD와 VIVE Tracker, Optitrack 모션센서 연동을 통해 선택적 트래킹 방식 적용 기능 개발
- 이슈 및 문제점 : Optrack과 VIVE HMD를 함께 사용할때 원점의 차이 및 장비의 차이로 인한 움직임 동기화 문제 발생
- 해결방안 : Optitrack 사용시 HMD의 회전 데이터는 HMD 자체의 회전 데이터를 사용, 원점은 Optitrack의 원점 위치에 표시용 마커 하나를 추가하여, 해당 마커의 위치를 HMD 원점으로 지정하여 위치 동기화
- 해결 가능 이유 : Optitrack은 마커 데이터를 개별적으로 사용할 수 있기 때문에 하나의 마커로 기준이 되는 원점 지정할 수 있음
- 주요 코드
- 초기 카메라 설정 코드
- VR 카메라와 트래커 트래킹 설정 코드
- 클라이언트, 서버간 HMD Pivot 위치 동기화 코드
-
Unity3D Addressable 기능을 이용한 리소스 관리 기능 개발
- Unity3D Addressable 을 통한 리소스 관리
- 개발 방안 : 프로젝트 리소스 업데이트의 용이성을 위해 Addressable 기능 및 외부 XML 파일을 이용하여 리소스 동적 로드 기능 개발
- 이슈 및 문제점 : 상용 네트워크 모듈 (Fishnet)을 이용한 Addressable 기능 사용에 대한 문서 및 예제 부족
- 해결방안 : Cursor AI를 통한 자료 확보 및 코드 서포팅을 통해 Addressable 기능 적용
- 해결 가능 이유 : 기본적인 Addressable 기능 및 사용법을 확인하고 Cursor AI의 코드를 분석하여 적용 방향 확인 및 여러 차례의 코드 디버깅을 진행하여 처리
- 주요 코드
- 외부 XML 에셋 파일 포맷
- 외부 에셋 카탈로그 정리 및 키 배열 코드
- Fishnet + Addressable 에셋 동적 로드 코드