X-Verse 경호처 시뮬레이터 개발(개발 진행 중)

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

녹화_2024_12_04_14_16_44_316 - frame at 1m5s.jpg

녹화_2024_12_04_14_16_44_781 - frame at 1m20s.jpg

프로젝트 시연 영상

https://drive.google.com/file/d/1SpRKRGqs3eWymK3gVHzc5hn6V6Hlfrg9/view?usp=drive_link

01. 프로젝트 구성 (리소스 개발 인력 제외)

팀 구성 : 2인 (팀장으로 참여)

02. 프로젝트 내 본인 작업 내용

  1. Unity 관련
    1. VIVE Focus Vision HMD 및 VIVE Tracker / Optirack 센서 연동
    2. Unity3D Addressable 기능을 이용한 리소스 관리 기능 개발
    3. Scene 동적 로드 및 훈련 시나리오 제작 기능 개발
    4. 위해범 및 시민 NPC FSM 초기 디자인
    5. CSV 파일 포맷 및 XML, Json 파일을 통한 훈련 리플레이 데이터 저장 기능 개발
    6. 훈련자간 음성 대화 기능 개발
    7. 상용 네트워크 모듈을 이용한 네트워크 객체 동기화
  2. 프로젝트 관리
    1. 팀원 업무 분장 및 일정 관리

03. 담당 기능 개발

Unity 관련

  1. VIVE Focus Vision HMD 및 VIVE Tracker / Optirack 센서 연동

    1. VR 장비 연동 및 Tracker 종류에 따른 센서 연동 선택 기능 개발
      • 개발 방안 : VIVE HMD와 VIVE Tracker, Optitrack 모션센서 연동을 통해 선택적 트래킹 방식 적용 기능 개발
      • 이슈 및 문제점 : Optrack과 VIVE HMD를 함께 사용할때 원점의 차이 및 장비의 차이로 인한 움직임 동기화 문제 발생
      • 해결방안 : Optitrack 사용시 HMD의 회전 데이터는 HMD 자체의 회전 데이터를 사용, 원점은 Optitrack의 원점 위치에 표시용 마커 하나를 추가하여, 해당 마커의 위치를 HMD 원점으로 지정하여 위치 동기화
      • 해결 가능 이유 : Optitrack은 마커 데이터를 개별적으로 사용할 수 있기 때문에 하나의 마커로 기준이 되는 원점 지정할 수 있음
  2. Unity3D Addressable 기능을 이용한 리소스 관리 기능 개발

    1. Unity3D Addressable 을 통한 리소스 관리
      • 개발 방안 : 프로젝트 리소스 업데이트의 용이성을 위해 Addressable 기능 및 외부 XML 파일을 이용하여 리소스 동적 로드 기능 개발
      • 이슈 및 문제점 : 상용 네트워크 모듈 (Fishnet)을 이용한 Addressable 기능 사용에 대한 문서 및 예제 부족
      • 해결방안 : Cursor AI를 통한 자료 확보 및 코드 서포팅을 통해 Addressable 기능 적용
      • 해결 가능 이유 : 기본적인 Addressable 기능 및 사용법을 확인하고 Cursor AI의 코드를 분석하여 적용 방향 확인 및 여러 차례의 코드 디버깅을 진행하여 처리