--- id: wiki-2026-0508-시각-전정-충돌-visual-vestibular-confl title: 시각-전정 충돌 (Visual-vestibular conflict) category: 10_Wiki/Topics status: verified canonical_id: self aliases: [Visual-vestibular conflict, Sensory conflict, VR motion sickness] duplicate_of: none source_trust_level: A confidence_score: 0.9 verification_status: applied tags: [vr, perception, hci, motion-sickness] raw_sources: [] last_reinforced: 2026-05-10 github_commit: pending tech_stack: language: csharp framework: unity-vr --- # 시각-전정 충돌 (Visual-vestibular conflict) ## 매 한 줄 > **"매 눈은 매 움직임을 보지만 매 inner ear 는 매 정지 상태를 보고할 때 매 brain 의 매 mismatch → motion sickness"**. Reason & Brand 의 매 1975 sensory conflict theory. 매 2026 modern VR (Quest 4, Vision Pro 2) 은 매 90+ Hz refresh, foveated rendering, locomotion comfort options 으로 매 mitigation, but 매 root cause 매 미해결. ## 매 핵심 ### 매 vestibular system - **Semicircular canals**: 매 angular acceleration (회전). - **Otolith organs (utricle, saccule)**: 매 linear acceleration + 매 gravity. - **Brain integration**: 매 visual + vestibular + proprioception → 매 unified self-motion model. ### 매 conflict types in VR - **Visual motion + vestibular still**: 매 cockpit / vehicle simulator → 매 cybersickness. - **Visual still + vestibular motion**: 매 reading in moving car → 매 carsickness. - **Mismatched magnitude**: 매 head-locked HUD 의 lag. ### 매 응용 1. VR locomotion design (teleport vs smooth). 2. Motion-to-photon latency budget (<20ms). 3. Vestibular adaptation training. ## 💻 패턴 ### Comfort settings (Unity XR Toolkit) ```csharp public class ComfortLocomotion : MonoBehaviour { [SerializeField] LocomotionMode mode = LocomotionMode.Teleport; [SerializeField] bool vignetteOnTurn = true; [SerializeField] float snapTurnAngle = 30f; public void Move(Vector2 input) { if (mode == LocomotionMode.Teleport) { if (input.magnitude > 0.5f) ShowTeleportArc(); } else { if (vignetteOnTurn && Mathf.Abs(input.x) > 0.1f) vignette.intensity.value = 0.6f; transform.Translate(new Vector3(input.x, 0, input.y) * speed * Time.deltaTime); } } } ``` ### Foveated rendering hint (OpenXR) ```cpp XrFoveationLevelFB level = XR_FOVEATION_LEVEL_HIGH_FB; xrUpdateFoveationFB(session, &foveationProfile); // Reduces GPU load → enables 120Hz on mobile HMD → less conflict ``` ### Motion-to-photon measurement ```python # High-speed camera (1000fps) measuring HMD pixel response # vs IMU motion event timestamp def m2p_latency(imu_events, pixel_changes): paired = pair_nearest(imu_events, pixel_changes) return np.median([p.pixel_t - p.imu_t for p in paired]) ``` ### Snap turn (reduces conflict vs smooth turn) ```csharp void OnTurnInput(float x) { if (Mathf.Abs(x) > 0.7f && Time.time - lastTurn > 0.3f) { transform.Rotate(0, Mathf.Sign(x) * 30f, 0); lastTurn = Time.time; } } ``` ### Vignette during locomotion (tunneling) ```hlsl // Fragment shader float dist = distance(uv, float2(0.5, 0.5)); float v = smoothstep(0.3, 0.5, dist) * comfortIntensity; color.rgb *= 1.0 - v; ``` ## 매 결정 기준 | User profile | Recommended | |---|---| | 매 VR novice | Teleport + snap turn + tunneling | | 매 experienced | Smooth + optional comfort | | 매 cockpit (driving sim) | Fixed cockpit reference frame | | 매 spectator (seated) | Forced FoV reduction during motion | **기본값**: 매 teleport default + 매 snap-turn 30° + 매 tunneling on. ## 🔗 Graph - 부모: [[VR/AR]] · [[Perception]] - 변형: [[안구 운동 기능 Oculomotor functions]] - 응용: [[VR Locomotion]] · [[Cybersickness Mitigation]] - Adjacent: [[실재감 Presence]] · [[Motion-to-photon Latency]] ## 🤖 LLM 활용 **언제**: 매 comfort design 의 trade-off 설명 / 매 user instruction 작성. **언제 X**: 매 medical diagnosis of vestibular disorder — 매 clinician 필수. ## ❌ 안티패턴 - **Forced smooth locomotion**: 매 onboarding 에서 매 novice 의 매 nausea. - **Low refresh rate (<72Hz)**: 매 modern HMD 매 minimum 90Hz. - **High latency (>30ms M2P)**: 매 conflict 매 magnify. - **Camera control by game (cutscene with movement)**: 매 강한 sickness inducer. ## 🧪 검증 / 중복 - Verified (Reason & Brand 1975 *Motion Sickness*; LaViola et al. *3D User Interfaces 2e*; Meta XR Comfort Guidelines 2025). - 신뢰도 A. ## 🕓 Changelog | 날짜 | 변경 | |---|---| | 2026-05-08 | Phase 1 | | 2026-05-10 | Manual cleanup — sensory conflict theory + Unity XR comfort 패턴 추가 |