用途:在 Three.js 中通过 WebXR 构建 VR(immersive-vr)或 AR(immersive-ar)体验,也可用于非沉浸式 inline XR。
主要能力:通过 renderer.xr(WebXRManager)控制 XR 渲染、会话与参考空间;使用 three/addons/webxr/ 下的 VRButton、ARButton 创建进入按钮;通过 XRControllerModelFactory 与 XRHandModelFactory 加载控制器与手部模型;支持手部追踪(pinchstart/pinchend 等事件)、AR 命中测试放置物体、XREstimatedLight 环境光照估计、XRPlanes 平面检测,以及瞬移(teleportation)等交互模式。
必要用法:先设置 renderer.xr.enabled = true 再创建 VRButton/ARButton;用 renderer.xr.setReferenceSpaceType('local-floor') 设置参考空间;渲染必须使用 renderer.setAnimationLoop(...),不可用 requestAnimationFrame;控制器与手部对象需 scene.add() 到场景;使用 AR 时先 renderer.xr.setSessionInit({ requiredFeatures: ['hit-test'] }) 配置特性;移动时应移动包含摄像机的 rig 组,不能直接移动相机。性能上应瞄准 Quest 72fps、PC VR 90fps,可用 setFoveation、setFramebufferScaleFactor 调整,尽量避免重型后处理。
限制:资料仅覆盖 API 与用法说明,未提供收费、价格或平台支持范围等事实;实际设备兼容性与效果取决于运行环境。