引言
Rokid 是国内 AR(增强现实)领域的成熟厂商,致力于让 AR 走进日常。其产品线包括 AR 眼镜、AR 主机等,旨在让用户摆脱手机、手柄束缚,直接用手与虚拟物体交互。
手势识别是 Rokid 给 AR 设备提供的自然交互方式,例如捏合手指调大虚拟屏幕、挥手翻页。不同设备和开发需求需搭配不同版本的 SDK(软件开发工具包)。
一、基础认知:先选对版本,避免开发走弯路
Rokid 手势识别技术随 SDK 版本迭代持续优化,不同版本适配的 Unity 版本、设备、功能均有所不同。
| UXR SDK 版本 | 支持 Unity 版本 | 核心功能差异 | 适配设备 | 适合人群 |
|---|---|---|---|---|
| UXR 2.0 | 2020/2021/2022 LTS | 基础 4 类手势(捏合/握拳/手掌/松开)、基础远近场切换 | Station 2、Max Pro、AR Lite | 新手入门、常规手势交互开发 |
| UXR 3.0 | 2022/2023.3 LTS | 新增图像识别(如扫二维码)、手势置信度过滤、模型轻量化 30% | Station Pro、Max 2、AR Studio | 高级交互、性能优化需求开发者 |
若电脑安装的是 Unity 2023,建议选 UXR 3.0;如果使用的是 2021 且只需要简单手势,UXR 2.0 更稳定。
二、技术拆解:Rokid 手势识别的三阶段逻辑
不管是 UXR 2.0 还是 3.0,手势识别的核心逻辑都是'看得到手→认得出手势→跟得上手',但 3.0 在每个阶段都做了优化。
2.1 看得到手——AR 专属视觉算法
要让设备'看见'手,需在算法和摄像头方面下足功夫。Rokid 的 3D 手势算法在领域内取得关键突破,仅依赖一颗普通的 RGB 摄像头,无需复杂的多摄像头或 ToF 传感器,降低了硬件成本,同时保持高精度和稳定性。
- 利用 AI 算法和深度学习模型,实时捕捉手部的 3D 姿态信息,包括手部的 6DoF(六自由度)位置、26 个关节点的自由度(26DoF)以及 Hand Mesh(手部网格)信息。
- 响应速度上,该算法在移动端实现了毫秒级的响应速度,单帧检测耗时低于 10 毫秒,识别准确率达到 99%,且深度估计误差小于 5 厘米。
- 算法可运行在多种硬件架构上,包括 CPU、GPU 和 NPU,适配高通、海思等主流平台。
2.2 认得出手势——骨骼点定位与判断
设备看清楚手后,下一步是'认出你在做什么手势',核心是'标骨骼点→看姿势',UXR 3.0 在分类精度上做了优化。
1. 26 个骨骼点:给手'标关键位置'
Rokid 会在手上标记 26 个关键点,每个点都有用:
- 腕部(WRIST):确定手的'根在哪',避免手移动判错位置;
- 掌心(PALM):判断手'面朝设备还是背对设备'——掌心朝设备就是想'直接摸';
- 指尖(食指尖、拇指尖):判断'捏合''点击'的关键,UXR 3.0 的骨骼点定位精度提升了 10%,指尖位置更准。
设备怎么找这些点?用'热力图回归'——给手画'热力图',哪个位置亮,哪个就是骨骼点。
26 个节点分别是手腕 WRIST,掌心 PALM,4 个掌骨(METACARPAL)节点,和 5 根手指关节节点,拇指从 CMC 指骨末节依次 MCP、IP、TIP 指尖,其他从 MCP 指骨末节依次 PIP、DIP、TIP 指尖。
2. 手势分类:看'骨架姿势'下判断
有了骨骼点,设备就像'看姿势猜动作',通过'点和点的关系'判断手势。
| 手势类型 | 核心判断条件(大白话) | 对应现实动作 | 版本优化(UXR3.0) |
|---|---|---|---|
| 捏合(Pinch) | 拇指尖 + 食指尖距离<2cm,其他手指弯 | 捏小物件(如豆子) | 新增'置信度过滤',<80% 不响应,误判少 30% |
| 握拳(Grip) | 所有指尖都靠近掌心 | 攥拳头 | 支持'半握拳'识别,不用完全攥紧 |
| 手掌(Palm) | 所有手指伸直,指尖离掌心远 | 张开手要东西 | 手掌倾斜 30°也能识别,更灵活 |
| 捏合松开(OpenPinch) | 之前是捏合,现在拇指 + 食指距离>4cm | 松开东西 | 响应速度快了 10ms,更跟手 |
比如戴戒指捏合,UXR 3.0 能忽略戒指干扰,只要指尖距离够近就认'捏合'。
2.3 近/远场手势:实现'距离一变,模式就换'
Rokid 将手势分为近场手势和远场手势:直接进行触碰互动的,称为近场手势;通过射线和锚点远距离操控的,是远场手势。近场手势和远场手势的切换,是通过手与互动物体的距离判定,这个值可以根据具体使用场景调节。默认设置是,手在距离互动物体 -0.02m ~ 0.04 m 范围内,是近场手势;超出则为远场。
在 UI 操作上 Rokid 通过'近→触→压→抬'四阶段交互反馈实现:默认时 UI 保持静止;手靠近进入 hover 状态,按钮向上抬动'预告交互';手指触摸时,按钮微变色、微缩放;按压到底,按钮高亮放大且触发'Down'音效;手抬起,按钮复原,'Up'音效响起,完成点击。
2.4 跟得上手——快反应 + 低门槛
技术再厉害,手一动、虚拟东西半天才动就很糟;开发者要写几百行代码也没人用。Rokid 在'跟手'和'开发门槛'上做了很多优化,3.0 更突出。
1. 快反应:手势和虚拟动作'同步'
你手一动,虚拟东西马上动,背后是两个关键优化:
- 轻量化模型:把识别算法'压缩'——UXR 3.0 的模型比 2.0 小 30%,像大文件压成小文件,不占内存还跑得快,识别延迟从 120ms 降到 100ms(人眼几乎感觉不到);
- 动态帧率调节:设备'看情况干活'——手不动时识别频率降为 20fps(省电量),手快速动时升为 30fps(不延迟),UXR 3.0 的帧率切换更平滑,不会卡顿。
2. 低门槛:开发者不用'从零造轮子'
Rokid 把复杂技术封装成'现成工具',不同版本的 SDK 导入和使用略有差异。
| 操作步骤 | UXR 2.0 实现方式 | UXR 3.0 实现方式(优化后) |
|---|---|---|
| 1. 导入 SDK | 从官网下载压缩包,手动拖进 Unity | 通过 Unity Package Manager(UPM)导入,输仓库地址 |
| 2. 开启手势模块 | 拖 |


