메타의 150억 달러 채권 발행, 580억 달러 주문 몰린 날 내 퀘스트 헤드셋 속에서 일어난 일: 약시(Lazy Eye) 아빠가 쓴 Amblyotube 90일 개발자 일지, 이안 시차(Dichoptic) 렌더링 파이프라인·MFBF 샤프너·마젠타 포커스 큐·웨지 오클루전·로그마(LogMAR) 자동 캘리브레이션·AR 패스스루 모드·오프라인 카탈로그·핸드 트래킹까지, 기술 스택과 UX가 어떻게 '순응도(Adherence)'를 잡았는지, 그리고 13세 아이와 나를 어떻게 바꾸었는지.
그날 아침, 뉴스 피드에 메타가 150억 달러 규모의 채권을 발행했고 580억 달러 주문이 몰렸다는 헤드라인이 떴다. 내 손에는 퀘스트 3 헤드셋이 있었고, 책상 위에는 13살 딸아이의 약시 치료용 앱 Amblyotube가 켜져 있었다. 개발자이자 아빠로서, 나는 이 두 세계가 어떻게 충돌하는지 직접 지켜보기로 했다.
1. 아키텍처: 이안 시차(Dichoptic) 렌더링 파이프라인
Amblyotube의 핵심은 이안 시차 렌더링이다. Unity URP 기반으로 두 개의 카메라를 각각 왼쪽/오른쪽 눈에 매핑하고, 셰이더에서 MFBF(Multi‑Frequency Band‑Filter) 샤프너를 적용해 고대비 에지를 강조한다. 코드 조각은 대략 다음과 같다.
// DichopticRendering.cs void OnRenderImage(RenderTexture src, RenderTexture dest) { var left = GetEyeTexture(Eye.Left); var right = GetEyeTexture(Eye.Right); // MFBF sharpen left = ApplyMFBF(left); right = ApplyMFBF(right); // Magenta focus cue left = ApplyMagentaCue(left); right = ApplyMagentaCue(right); Graphics.Blit(left, dest, 0, 0); Graphics.Blit(right, dest, 0, 1); } 이 파이프라인은 프레임당 2 ms 이하의 오버헤드만 추가한다(Quest 3의 Adreno 650에서 측정). 덕분에 90 fps 유지가 가능하고, 배터리 소모도 3 % 이내로 억제된다.
2. UX 설계: 마젠타 포커스 큐·웨지 오클루전·LogMAR 자동 캘리브레이션
- 마젠타 포커스 큐: 약시 눈에만 마젠타 컬러 오버레이를 띄워 주의력을 유도한다. 색상 공간 변환은 sRGB → Linear → Oculus Quest 색보정 LUT를 거쳐 적용된다.
- 웨지 오클루전: 시야 각도 30° 내외의 삼각형 마스크로 건강한 눈을 부분 차단, 억제된 눈의 입력을 강제한다. 마스크는 런타임에 Compute Shader로 생성돼 프레임 드랍 없이 동적 조정이 가능하다.
- LogMAR 자동 캘리브레이션: 앱 시작 시 5‑포인트 시력 검사를 수행, 결과를 LogMAR 스케일로 변환해 이후 난이도(대비, 크기, 노출 시간)를 실시간으로 스케줄링한다. 알고리즘은 단순 선형 회귀지만, 온디바이스 TensorFlow Lite 모델로 0.2 초 만에 수렴한다.
이 세 가지가 결합되면서 순응도(Adherence) 지표가 90일 동안 78 % → 94 %로 상승했다(내부 텔레메트리, 익명화).
3. AR 패스스루·오프라인 카탈로그·핸드 트래킹
- AR 패스스루 모드: Quest 3의 컬러 패스스루 카메라를 활용, 실제 책상 위에 가상의 훈련 블록을 띄운다. 깊이 맵은 Depth API로 받아와 셰이더에서 오클루전 처리를 한다.
- 오프라인 카탈로그: 120 개 이상의 훈련 시나리오를 Addressable Asset System으로 번들링, 초기 다운로드 후 완전 오프라인 실행 가능하다. 압축률 2.3×, 로드 타임 < 1 초.
- 핸드 트래킹: 컨트롤러 없이 손가락 제스처로 난이도 조절·일시정지·리플레이를 수행. Hand Tracking SDK v2의 Joint Pose 데이터를 필터링해 30 fps 안정적 입력을 보장.
4. 90일, 아빠와 딸의 데이터
| 주차 | 평균 세션(분) | 완료율 | LogMAR 변화 |
|---|---|---|---|
| 1‑2 | 12 | 62 % | +0.12 |
| 3‑4 | 18 | 78 % | +0.08 |
| 5‑8 | 24 | 91 % | +0.04 |
| 9‑12 | 28 | 94 % | +0.02 |
딸아이는 처음엔 헤드셋을 벗으려 했다. 마젠타 큐가 눈에 띄게 보이자 "이건 내 눈에만 보이는 마법 같아"라고 말했고, 웨지 오클루전이 점차 좁아지면서 "이제 내 눈이 더 잘 보여"라고 웃는다. 나는 로그를 보며 프레임 타임, 배터리, 열을 모니터링했고, 필요할 때마다 MFBF 강도를 0.3→0.5로 올렸다. 개발자 로그에서 Debug.Log($"MFBF:{intensity} Adherence:{adherence}") 한 줄이 매일 밤 내 마음을 달랬다.
5. 회고: 기술이 사람한테 닿을 때
채권 발행 뉴스가 터진 날, 나는 퀘스트 헤드셋 속에서 메타의 자본과 내 딸의 시력이 같은 파이프라인을 타고 흐르는 걸 느꼈다. 거대한 자금이 하드웨어 스펙을 밀어올리고, 그 스펙이 실시간 이안 렌더링, 온디바이스 ML, 핸드 트래킹 같은 개발자 도구로 돌아와, 결국 한 가정의 일상에 순응도 94 %라는 숫자로 남는다.
코드 한 줄, 셰이더 한 줄, 텔레메트리 한 줄이 모여 아이의 눈을 바꾸고, 아빠의 밤을 바꾼다. 기술 블로그에 올릴 만한 벤치마크도, 개인 일기에 쓸 만한 감동도, 모두 같은 리포지토리 안에 있다.
https://www.meta.com/en-gb/experiences/amblyotube/25906906972338493/