跨平台空间交互层(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 交互层保持一致。
本地版本说明
这个网页 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 戳按钮
分层架构(绿色 = 跨平台一致)
建议体验
运行交互链:原始手关节 → 捏合 → 射线命中 → 抓取 → 戳 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 之分的深度