用途:面向 WebXR 开发,指导构建沉浸式、高性能的 AR/VR/XR 应用,涵盖空间界面、多输入方式与跨设备兼容。涉及 WebXR、A-Frame、Three.js、Babylon.js。
主要能力:讲解会话生命周期(navigator.xr.requestSession('immersive-vr')、requestReferenceSpace、requestAnimationFrame、session.end()),并强调在 onend 事件中清理。提供支持沉浸式 VR 与 AR 会话类型的规范。跨设备方面列出不同设备对应的会话类型、主要输入(如 Meta Quest、Apple Vision Pro、HoloLens 2、移动 AR),建议通过特性检测而非 User-Agent 嗅探处理能力差异。性能方面给出帧预算目标(如 Quest 3 72fps、Quest Pro 90fps,90fps 下帧预算低于 11ms)及优化清单,包括在设备上分析 GPU/CPU、实例化与网格合并减少 draw call、LOD、纹理图集、渐进增强回退。
使用方式:按工作流定义范围(目标设备、交互模型、会话类型)、搭建渲染器与 XR 会话管理及输入处理、构建空间 UI 与物理/射线交互、在设备上优化、跨目标设备测试并实现回退。提供脚本:scripts/scaffold_webxr.sh 生成含 Three.js 与旋转立方体 hello-world 的最小 WebXR 项目结构,用法如 scripts/scaffold_webxr.sh --name my-vr-app;scripts/check_webxr_compat.py 检查已弃用 WebVR API、缺少特性检测与会话支持检查、厂商前缀扩展,并输出带行号与建议的 markdown 报告,用法如 scripts/check_webxr_compat.py main.js 或 --output report.md src/xr-scene.js。
适用场景:WebXR 应用开发、跨设备 AR/VR 交互实现及上线前的兼容性检查。
限制:资料未提供具体许可、价格、平台支持范围或效果保证;部分细节需参考对应指南文档。