"매 vestibular (전정) 와 visual (시각) input 의 mismatch 로 발생하는 nausea / disorientation". 매 motion sickness 의 inverse — 매 눈은 움직임을 보지만 몸은 정지. 매 90+ FPS, low-latency tracking, comfort locomotion 으로 완화. 매 Quest 3 / Vision Pro 시대에도 여전히 핵심 UX 문제.
매 핵심
매 원인 (sensory conflict theory)
Vection: 매 visual self-motion 의 인지 (정지한 vestibular 와 conflict).
Latency: motion-to-photon >20ms — 매 멀미 유발.
Frame rate dip: 90Hz → 60Hz drop 의 즉시 swimming sensation.
Field of view + speed: 매 wide FOV + fast translation = 매 worst.
Postural instability: 매 head tracking error / drift.
매 완화 기법
High refresh rate: 90/120Hz 표준 (Quest 3 = 120Hz, Vision Pro = 90/96Hz).
Low motion-to-photon latency: <20ms target.
Vignette / Tunneling: 매 turn / locomotion 시 peripheral 차단.
Teleport locomotion: 매 smooth movement 의 회피.
Snap turning: 30/45° discrete rotation.
Stable horizon / cockpit: 매 reference frame 의 제공.
Comfort rating: Comfortable / Moderate / Intense — 매 store labeling.
매 응용
VR game design (Half-Life: Alyx, Beat Saber).
Training sim (medical, military, flight).
VR therapy 의 조정 (exposure therapy, PTSD).
Industrial design review.
💻 패턴
Unity 의 vignette on locomotion (URP)
usingUnityEngine;usingUnityEngine.Rendering.Universal;publicclassComfortVignette:MonoBehaviour{ [SerializeField]Volumevolume;Vignettevignette;publicCharacterControllerplayer;voidStart(){volume.profile.TryGet(outvignette);}voidUpdate(){floatspeed=player.velocity.magnitude;// 매 빠를수록 매 강한 vignettevignette.intensity.value=Mathf.Clamp01(speed/5f)*0.6f;}}
// 매 driver 시점 — 매 cockpit 매 항상 보이도록.// 매 strong reference frame 으로 vection 감소.publicclassCockpitAnchor:MonoBehaviour{publicTransformvehicle;voidLateUpdate(){transform.position=vehicle.position;transform.rotation=vehicle.rotation;}}
Async time warp / reprojection (built-in to Quest, Vision Pro)
// 매 platform 자동 — frame miss 시 last frame 의 reproject.// 매 dev 작업: 매 frame budget 안정 유지로 reproject 발동 X 가 best.