[DevLog] Unity와 Meta Quest SDK로 구현하는 양안 시각 훈련 게임: AmblyoPunch
Apple의 iPad mini 8 루머로 새로운 인터페이스에 대한 관심이 높습니다. 하지만 개발자로서 저는 '인터페이스'의 개념을 확장해, 뇌와 눈의 연결 방식을 재설계하는 프로젝트에 관심을 갖게 되었습니다. 바로 Meta Quest SDK와 Unity를 활용해 개발된 AmblyoPunch입니다.
이 프로젝트의 핵심 챌린지는 '약시(Lazy Eye)' 사용자를 위해 두 눈에 서로 다른 시각 정보를 전달하는 '이질성 훈련(Dichoptic Training)'을 어떻게 게임플레이로 녹여내느냐 하는 것이었습니다.
기술적 구현 포인트
1. 스테레오 렌더링 제어 및 시각 분리
일반적인 Unity의 단일 렌더링 파이프라인은 양안에 동일한 씬을 렌더링하는 것에 최적화되어 있습니다. 하지만 약시 훈련을 위해서는 좌우 눈에 서로 다른 픽셀 데이터를 전송하는 정교한 제어가 필요합니다. AmblyoPunch는 Meta Quest의 스테레오 렌더링 기능을 확장하여, 특정 레이어의 오브젝트(예: 가보 패턴 동전)가 어느 쪽 눈에만 렌더링될지, 혹은 어느 쪽 눈에 더 낮은 대비로 보일지를 동적으로 결정하는 셰이더 및 렌더링 설정을 구현했습니다. 이를 통해 뇌가 무시하던 약시안의 신호를 강제로 인식하게 만드는 환경을 조성합니다.
2. 4단계 시각 재활 알고리즘의 시스템 설계
단순한 반복 학습이 아니라, 시각 과학의 단계적 회복 모델을 상태 머신(State Machine) 형태로 구현했습니다. 훈련은 다음의 파이프라인을 따릅니다:
- Warm-up: 시스템 적응 및 기본 시각 인지 단계.
- Suppression Breaking: 우세안의 신호를 억제하고 약시안의 신호를 활성화하는 단계.
- Rebalancing: 양안의 밝기나 대비 차이를 조정하여 시각적 균형을 찾는 단계.
- Fusion: 최종적으로 두 영상을 하나로 합치는 '입체 병합' 단계.
특히 4단계 융합 훈련에서는 '파눔의 융합 영역(Panum's Fusional Area)' 이론을 적용했습니다. 렌더링 시 미세한 시차(Disparity) 파라미터를 조정하여, 뇌가 두 영상을 하나의 입체적 이미지로 통합하도록 유도하는 정밀한 좌표 계산이 포함되었습니다.
3. 데이터 기반 난이도 조절 (Performance Gating)
사용자의 숙련도를 정량적으로 측정하기 위해 퍼포먼스 게이팅 시스템을 도입했습니다. 단순히 시간이 지나면 레벨이 오르는 것이 아니라, 최근 10회의 펀치 및 회피 동작에 대한 성공률을 실시간으로 트래킹합니다.
- 일반 약시 환자: 성공률 70% 이상 달성 시 다음 단계 진입.
- 사시(Strabismus) 환자: 더 높은 정밀도가 요구되므로 성공률 80% 이상 달성 시 진입. 이러한 데이터 기반의 조건부 전이 구조는 사용자가 자신의 실제 시각 능력이 향상됨에 따라 자연스럽게 난이도 상승을 경험하게 하며, 오버트레이닝이나 좌절감을 방지합니다.
4. 런타임 개인화 설정 및 파라미터 매핑
사용자의 신체적 조건은 모두 다르기에, 고정된 값 대신 유연한 설정 UI를 제공합니다. VR 환경 내 손목 메뉴를 통해 다음 변수를 설정할 수 있으며, 이는 즉시 게임 엔진의 전역 변수로 매핑됩니다.
- 약시 방향(L/R): 렌더링 마스크의 좌우 반전 결정.
- 심각도(Mild/Moderate/Severe): 타겟의 생성 빈도 및 이동 속도 가중치 조절.
- 사시 유형(Eso/Exo): 융합 단계에서 타겟의 초기 배치 시차(Offset) 값 결정.
마치며
개발자로서 가장 보람찬 순간은 내가 짠 코드가 단순한 엔터테인먼트를 넘어 누군가의 신체적 제약을 극복하는 도구가 될 때라고 생각합니다. AmblyoPunch는 OpenXR 플러그인과 C# 스크립트를 통해 복잡한 임상 연구 결과를 인터랙티브한 VR 경험으로 변환한 사례입니다. 하드웨어의 제약을 소프트웨어 아키텍처로 해결하고, 이를 통해 사용자에게 실질적인 가치를 제공하는 과정은 엔지니어로서 매우 도전적인 경험이었습니다.
이러한 시각 훈련 시스템의 구현 방식이나 VR 기반의 재활 솔루션에 관심 있는 개발자분들은 Meta Quest 스토어에서 직접 플레이해보시며 그 구조를 분석해보시길 추천합니다.
상세 내용은 여기서 확인하세요:
https://www.meta.com/en-gb/experiences/amblyopunch/1239507485902689/
Top comments (0)