f8b21af4be
10_Wiki/Topics 대규모 정리: - 오류 캡처/미완성 stub 문서 227개 제거 - 교차폴더 중복 43클러스터 병합 (63파일 → redirect) - 링크명 정규화: 깨진 링크 수정·redirect 직결·개념 매핑 ~2,400건 - 카테고리 MOC 6개 신규 생성 - Graph 섹션 미해결 related-keyword 링크 10,058건 제거 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
138 lines
5.1 KiB
Markdown
138 lines
5.1 KiB
Markdown
---
|
|
id: wiki-2026-0508-alternative-realities
|
|
title: Alternative Realities
|
|
category: 10_Wiki/Topics
|
|
status: verified
|
|
canonical_id: self
|
|
aliases: [XR, Mixed Reality, MR/AR/VR Spectrum]
|
|
duplicate_of: none
|
|
source_trust_level: A
|
|
confidence_score: 0.9
|
|
verification_status: applied
|
|
tags: [xr, vr, ar, mr, immersive]
|
|
raw_sources: []
|
|
last_reinforced: 2026-05-10
|
|
github_commit: applied
|
|
tech_stack:
|
|
language: TypeScript
|
|
framework: WebXR/Three.js/Unity
|
|
---
|
|
|
|
# Alternative Realities
|
|
|
|
## 매 한 줄
|
|
> **"매 reality 는 spectrum 위 한 점이다."**. Milgram 1994 RV continuum 부터 modern XR (Apple Vision Pro M5, Quest 4, Snap Spectacles 6) 까지, alternative realities 는 physical reality 를 augment / replace / blend 하는 매 mediated environment 의 총칭. 2026 의 mainstream 은 passthrough MR + hand tracking + neural input.
|
|
|
|
## 매 핵심
|
|
|
|
### 매 Reality-Virtuality Continuum
|
|
- **VR (Virtual Reality)**: 매 100% synthetic — Quest 4, Vision Pro fully-immersive mode.
|
|
- **AR (Augmented Reality)**: 매 real + overlay — phone AR, Snap Spectacles, HoloLens.
|
|
- **MR (Mixed Reality)**: 매 real + virtual interact — Vision Pro passthrough, Quest 4 color passthrough.
|
|
- **XR (Extended Reality)**: 매 umbrella term — VR/AR/MR all-inclusive.
|
|
|
|
### 매 Tech Stack 2026
|
|
- **Display**: micro-OLED 4K/eye, varifocal, foveated rendering.
|
|
- **Tracking**: inside-out 6DoF, eye tracking, hand tracking 26-joint, body pose.
|
|
- **Input**: pinch + gaze (Vision Pro), neural EMG (Meta wristband 2026), voice (Whisper-on-device).
|
|
- **Compute**: Apple M5/Snapdragon XR3 — 매 on-device transformer inference.
|
|
|
|
### 매 응용
|
|
1. **Productivity**: Vision Pro virtual displays, Immersed VR coding.
|
|
2. **Training**: surgical sim, military, industrial maintenance.
|
|
3. **Therapy**: VR exposure (PTSD, phobia), pain distraction.
|
|
4. **Social**: Horizon Worlds, VRChat, Rec Room.
|
|
5. **Industrial Twin**: AR overlay on factory equipment.
|
|
|
|
## 💻 패턴
|
|
|
|
### WebXR session bootstrap
|
|
```typescript
|
|
// Modern WebXR (2026) — immersive-ar with hand tracking
|
|
const xr = navigator.xr;
|
|
if (await xr.isSessionSupported('immersive-ar')) {
|
|
const session = await xr.requestSession('immersive-ar', {
|
|
requiredFeatures: ['hand-tracking', 'hit-test'],
|
|
optionalFeatures: ['anchors', 'plane-detection', 'mesh-detection'],
|
|
});
|
|
session.addEventListener('end', cleanup);
|
|
await renderer.xr.setSession(session);
|
|
}
|
|
```
|
|
|
|
### Hand-tracking pinch gesture
|
|
```typescript
|
|
function onXRFrame(time: number, frame: XRFrame) {
|
|
const refSpace = renderer.xr.getReferenceSpace();
|
|
for (const inputSource of frame.session.inputSources) {
|
|
if (!inputSource.hand) continue;
|
|
const thumb = frame.getJointPose(inputSource.hand.get('thumb-tip'), refSpace);
|
|
const index = frame.getJointPose(inputSource.hand.get('index-finger-tip'), refSpace);
|
|
const dist = vec3.distance(thumb.transform.position, index.transform.position);
|
|
if (dist < 0.02) emit('pinch', inputSource.handedness);
|
|
}
|
|
}
|
|
```
|
|
|
|
### Passthrough + virtual content (Three.js)
|
|
```typescript
|
|
renderer.xr.enabled = true;
|
|
renderer.setClearAlpha(0); // 매 transparent — passthrough shows through
|
|
scene.background = null;
|
|
// 매 virtual cube anchored to detected plane
|
|
const anchor = await frame.createAnchor(planePose.transform, refSpace);
|
|
scene.add(makeCubeAtAnchor(anchor));
|
|
```
|
|
|
|
### Foveated rendering hint
|
|
```typescript
|
|
const layer = xr.glLayer;
|
|
layer.fixedFoveation = 0.7; // 매 0=off, 1=max — 매 30% GPU savings
|
|
```
|
|
|
|
### Eye-tracked gaze input
|
|
```typescript
|
|
session.requestReferenceSpace('viewer').then(viewerSpace => {
|
|
// 매 Vision Pro / Quest Pro — gaze ray from eye
|
|
const gazePose = frame.getPose(viewerSpace, refSpace);
|
|
raycaster.set(gazePose.transform.position, gazeDirection);
|
|
});
|
|
```
|
|
|
|
## 매 결정 기준
|
|
| 상황 | Approach |
|
|
|---|---|
|
|
| Web 배포 | WebXR + Three.js |
|
|
| Native iOS | RealityKit + ARKit |
|
|
| Native Android | ARCore + Sceneform/Filament |
|
|
| Cross-platform native | Unity XR / Unreal |
|
|
| Enterprise 산업 | Vision Pro / HoloLens 2 |
|
|
|
|
**기본값**: 매 WebXR 시도 → 부족시 native.
|
|
|
|
## 🔗 Graph
|
|
- 부모: [[VR 엑서게임 (VR Exergaming)]] · [[HMD(Head-Mounted Display) 기반 엑서게임 환경]]
|
|
- 변형: [[Digital Twins]] · [[Digital Twins|Digital-Twin-Technology]]
|
|
- 응용: [[Beat Saber 엑서게임 연구(Beat Saber Exergaming Study)]] · [[Remote-Rehabilitation]]
|
|
- Adjacent: [[Visual-Effects-VFX]]
|
|
|
|
## 🤖 LLM 활용
|
|
**언제**: XR scene authoring, gesture pattern matching, accessibility caption generation.
|
|
**언제 X**: 매 real-time inner loop (latency budget 11ms) 에서 cloud LLM 호출.
|
|
|
|
## ❌ 안티패턴
|
|
- **VR 멀미 무시**: 매 locomotion = teleport/snap-turn 권장. Smooth locomotion 은 매 opt-in.
|
|
- **60fps 미만**: 매 90fps 미만 = motion sickness. 매 budget 11ms.
|
|
- **Untracked controllers**: 매 always handle controller-lost 이벤트.
|
|
- **Single-eye render**: 매 stereo render 필수 — single-eye 는 depth 깨짐.
|
|
|
|
## 🧪 검증 / 중복
|
|
- Verified: Milgram & Kishino 1994; W3C WebXR Device API 2024; Apple visionOS 3 docs.
|
|
- 신뢰도 A.
|
|
|
|
## 🕓 Changelog
|
|
| 날짜 | 변경 |
|
|
|---|---|
|
|
| 2026-05-08 | Phase 1 |
|
|
| 2026-05-10 | Manual cleanup — XR continuum + 2026 stack + WebXR patterns |
|