AR/VR技术架构
本章目标
学完本章,你应该能够:
- 解释 SLAM 与 Inside-Out / Outside-In 追踪的差异;
- 描述实时渲染图形管线,以及 VR 特有的注视点渲染、时间扭曲;
- 说明晕动(眩晕)的成因与缓解策略;
- 对比 VR / AR / MR 的显示与交互差异。
1. 空间感知与定位技术
SLAM(Simultaneous Localization and Mapping,同步定位与地图构建) 是 AR/VR 空间感知的基石:
- SLAM 变体:视觉 SLAM(摄像头)、IMU 融合 SLAM(提高鲁棒性)、激光 SLAM(LiDAR 高精度)。
- 追踪方式:
- Inside-Out:设备自带摄像头/传感器感知环境(如 Meta Quest、PICO),无需外部基站,部署简单。
- Outside-In:外部基站追踪(如 Valve Index、HTC Vive 灯塔),精度高但需布设。
- 混合追踪:多传感器融合,兼顾精度与遮挡鲁棒性。
2. 实时渲染与图形管线
- 引擎:Unity(组件化、跨平台)、Unreal(蓝图、Nanite 几何系统、Lumen 全局光照)。
- VR 特殊技术:
- 单帧渲染双眼 / Multi-View:一次绘制产出左右眼视图,省算力。
- 注视点渲染(Foveated Rendering):只在高清区域(注视点)全分辨率,周边降采样。
- 时间扭曲(Time Warp / Motion Reprojection):用最新头显姿态对历史帧做畸变补偿,缓解低帧率下的抖动。
3. 生理舒适度与眩晕问题
| 成因 | 机制 | 缓解策略 |
|---|---|---|
| 视觉-前庭冲突 | 眼睛看到运动、内耳未感知 | 提高帧率、降低 MTP 延迟 |
| 潜伏期眩晕 | 运动到显示的延迟导致预测错误 | 端到端延迟 < 20ms |
| 视觉疲劳 | 长时间近距注视 | 稳定参考点、休息提醒 |
| 个体差异 | 前庭敏感度不同 | 渐进适应、用户可控移动 |
硬指标
- 刷新率 ≥ 90Hz(部分设备 72/80Hz 起步,越高越舒适)。
- 运动到光子(MTP)延迟 < 20ms:从输入到像素上屏的总延迟。
- 移动避免突然加减速,快速转动时可用动态 FOV 收窄视野。
4. AR 与 VR 技术对比
| 维度 | VR | AR | MR |
|---|---|---|---|
| 显示 | 全沉浸封闭式 | 透视叠加、保留现实 | 虚拟与现实深度融合 |
| 交互 | 控制器/手势 | 手势/语音/眼动 | 融合多模态 |
| 适用 | 游戏、模拟训练 | 工业指导、导航 | 协同设计、远程协作 |
- 光学方案:VR 多为封闭式近眼显示;AR 有反射波导、衍射波导、BirdBath、激光扫描等。
- 标准:OpenXR 由 Khronos Group 维护,提供跨厂商、开源免版税的 VR/AR 设备接口,避免重复适配不同 SDK。
5. 校园实践案例
用 AR 做校园导览
- 用 Unity + AR Foundation(OpenXR) 在手机上叠加楼栋信息热点。
- 基于 视觉 SLAM / 平面检测 将导航箭头贴合地面。
- 舒适与功耗:控制每帧算力、避免强眩光文字,保证户外可读性。
课程总结 / 核心要点
关键结论
- SLAM 是空间感知核心;Inside-Out 部署简单、Outside-In 精度高,生产常多传感器融合。
- VR 渲染靠双目合成 + 注视点渲染 + 时间扭曲降本提效。
- 防眩晕三要素:高刷新率(≥90Hz)、低 MTP 延迟(<20ms)、避免突兀运动。
- OpenXR 统一设备接口,是跨平台 XR 开发的事实标准。
