返回案例页
XRI 交互流程复演

跨平台空间交互层(Quest + Vision Pro)

从 SpatialXR Unity 视频课程整理的研究型案例:底层 OpenXR,设备层分叉(Meta XR SDK vs PolySpatial/Metal),上面的 XR Interaction Toolkit 保持一致。手骨架 → 捏合 → 射线 → 抓取 → 戳 World-Space UI 一条链。配套可运行 Unity 工程已开源。

复演课程文档里的 XRI 交互链(手骨架 → 捏合 → 射线 → 抓取 → 戳 World-Space UI),带 Quest ⟷ Vision Pro 切换:设备/渲染层分叉(Meta XR SDK vs PolySpatial/Metal),但 XR Interaction Toolkit 交互层保持一致。

OpenXRXR Interaction ToolkitMeta XR SDKPolySpatialVision Pro
跨平台空间交互层(Quest + Vision Pro)

本地版本说明

这个网页 Demo 复演文档化的交互流程;可运行的是配套 Unity 6 工程(spatial-xr-interaction/,OpenXR + XRI)。分层思路来自 SpatialXR 视频课程(纯视频 + 加密 RAR,3 份可读 PDF),组件名原样取自 PDF。Unity 代码基于公开 Unity XR 文档 + 该词汇编写,尚未在本机编译——以打开后为准。

交互流程复演

跨平台空间交互:手 → 捏合 → 射线 → 抓取 → 戳 UI

复演课程文档里的 XRI 交互链。切换 Quest ⟷ Vision Pro:设备/渲染层分叉(Meta XR SDK vs PolySpatial/Metal),但上面的 XR Interaction Toolkit 交互层保持不变——这就是跨平台可移植性的来源。

交互流程(手骨架 → 抓取 → 戳 UI)

当前平台 Quest:抓取 Movement Type 演示为 Kinematic(稳跟手);World-Space UI 经 Tracked Device Graphic Raycaster + InputSystemUIInputModule。

1. 手骨架追踪:26 个关节点驱动虚拟手

2. 手势识别:拇指 + 食指捏合 → 视为 button

3. 射线命中:interactor 选中远处的 XRGrabInteractable

4. 抓取:Kinematic 稳跟手 vs Velocity-Tracking 可投掷

5. World-Space UI:XR Poke Interactor 戳按钮

分层架构(绿色 = 跨平台一致)

基座标准
OpenXR
设备/渲染层(分叉点)
Meta XR SDK(v72→v76+)
交互层(保持一致)
XR Interaction Toolkit(XRI)

建议体验

运行交互链:原始手关节 → 捏合 → 射线命中 → 抓取 → 戳 World-Space UI 按钮。

切换 Quest ⟷ Vision Pro,只有设备/渲染层换 SDK——OpenXR 和 XRI 保持绿色(一致)。

注意抓取 Movement Type:Kinematic(稳跟手)vs Velocity-Tracking(Throw On Detach 可投掷)。

这个试玩能说明什么

你有跨平台 XR 架构思维:在 OpenXR + XRI 上收敛,接受设备层必然分叉。

你懂 Apple 侧:PolySpatial(RealityKit)vs Metal 两种渲染模式,以及 Volume Camera / VisionOS 悬停 + 接地阴影组件。

你诚实界定范围——从纯视频课程整理的研究复演,不冒充已上线应用。

分层

OpenXR → Meta XR SDK · PolySpatial/Metal → XRI(一致)

XRI 组件

XRGrabInteractable · XR Poke Interactor · Tracked Device Graphic Raycaster

最强信号

跨平台 XR 可移植性 + Apple PolySpatial/Metal 之分的深度