本节摘要:头显解决了"看+听",剩下的"手/脚/眼"需要输入外设。当前 XR 的输入外设分三大流派:手柄(精准+振动反馈)、手势(自然+零设备)、触觉手套(高保真+贵)。本节对比三类外设的精度、延迟、反馈三个指标,再用一个跨平台 demo 演示"在 Quest 3 上用 XR Interaction Toolkit 接入手柄+手势+眼动三种输入"。
阅读完本节,你应当能够:
头显只解决"输出"(视觉、听觉),但"操作"还需要"输入"——手在虚拟里做什么、眼睛看哪里、身体怎么移动。XR 输入外设的工程取舍是**"精度-反馈-自然度"三角**:
一个具体 XR 应用选哪种外设,取决于"主交互"是什么——"瞄准+射击"用手柄、"调虚拟物体"用手势、"快速选择"用眼动、"模拟手术器械"用触觉手套。
手柄是 XR 历史最久、用户基数最大的输入外设。Quest 3 手柄、PSVR2 Sense、Valve Index Controller 各自代表不同的设计取向。
Quest 3 手柄的核心规格:
PSVR2 Sense 把"自适应扳机"做到位:拉弓时扳机阻力会从 0 渐变到 5N,模拟弓弦张力。这种"自适应阻力"是手柄向"力反馈"靠拢的关键演进。
Valve Index Controller 用"握把追踪"——手柄可以追踪单根手指的开合,让"自然握"成为可能。这是手柄向"手套"靠拢的另一种演进。
💡 关键直觉:手柄的"工业之选"地位短期内不会被替代。在要求 1cm 精度以上的场景(外科手术模拟、CAD 设计),手柄的精准度是手势跟不上的。
手势识别(Hand Tracking)分两类:
手势的优势是零设备、自然度最高;劣势是反馈弱、长时间抬手会疲劳。在 Vision Pro 上,UI 设计的核心思路是"轻抬手指 + 眼动选目标 + 捏合确认"——这是手势+眼动组合的典型范式。
眼动追踪(Eye Tracking)在 Quest Pro、PSVR2、Vision Pro、Pico 4 Pro 上是高端机型标配。它的工程关键是红外照明+红外摄像头:
眼动有两个核心应用:
眼动的劣势是完全没有"触觉反馈"——眼睛选中一个目标后必须配合手势/手柄才能确认。这是为什么眼动几乎不单独使用,而是和手势或手柄组合。
触觉手套是 XR 输入外设的"奢侈品"。主流有:
触觉手套的工业场景是"需要高保真操作"的任务——外科手术模拟、装配培训、虚拟实验室。消费场景目前还没有 PMF。
| 维度 | 手柄 | 手势 | 眼动 | 触觉手套 |
|---|---|---|---|---|
| 精度 | 1-2mm | 1-2cm | 0.5-1° | <1mm |
| 延迟 | <10ms | 30-50ms | 10-15ms | <20ms |
| 反馈 | LRA 振动 | 无 | 无 | 力反馈 |
| 自然度 | 中 | 高 | 高 | 中 |
| 重量 | 100-150g | 0 | 0 | 500-1100g |
| 价格 | 100-300 美元 | 含头显 | 含头显 | 5000+ 美元 |
| Killer 场景 | 射击、CAD | 调 UI | 注视渲染 | 手术、装配 |
下面这段代码在 Quest 3 上同时启用"手柄按键 + 手势捏合 + 眼动选择"三种输入,让一个虚拟按钮在三种方式下都能被点击:
// XR Interaction Toolkit 3.x:交互器配置 public class MultiInputButton : MonoBehaviour { [SerializeField] private XRSimpleInteractable button; // 按钮本身 void Start() { // 1. 接入手柄(XR Controller) // 2. 接入手势(XR Hand) // 3. 接入眼动(XR Eye Gaze) // 在 Unity 编辑器里,添加三种 Interactor 到场景: // - XR Ray Interactor(手柄射线) // - XR Hand Interactor(手势捏合) // - XR Gaze Interactor(眼动) // 它们都能 select 同一个 XRSimpleInteractable button.selectEntered.AddListener(args => { Debug.Log($"按钮被 {args.interactorObject} 选中"); // 触发按钮逻辑 }); } }
跑起来后你会看到:用手柄射线瞄准+扳机确认、用手势捏合确认、用眼动注视 1 秒+捏合确认——三种方式都能触发同一个按钮。这种"多模态输入"是 Vision Pro 的标志能力,但 Quest 3 + XR Interaction Toolkit 也能配出来。
下一章我们从硬件层走到算法层——SLAM、立体视觉、空间重建这些"看不见的引擎"是怎么把硬件能力变成"可信的虚拟"的。