Unity3D Pico VR 手势识别_Cool-浩的博客-CSDN博客
此篇主要讲解怎么手势追踪,手势姿态自定义预制识别,不会导入SDK和配置环境的请看上一章节
环境要求
- SDK 版本:2.3.0 及以上
- PICO 设备型号:PICO Neo3 和 PICO 4 系列
- PICO 设备系统版本:5.7.0 及以上
手部关节定义
PICO SDK 的 “手势追踪” 功能遵循 OpenXR 标准所提出的手势定义规范并支持以下 26 个手部关节点。

值 | 关节名称 | 关节含义 | OpenXR 定义字段 |
| 0 | Palm | 手掌中心点 | XR_HAND_JOINT_PALM_EXT |
| 1 | Wrist | 手腕关节点 | XR_HAND_JOINT_WRIST_EXT |
| 2 | Thumb_metacarpal | 大拇指掌骨关节 | XR_HAND_JOINT_THUMB_METACARPAL_EXT |
| 3 | Thumb_proximal | 大拇指近端骨关节 | XR_HAND_JOINT_THUMB_PROXIMAL_EXT |
| 4 | Thumb_distal | 大拇指远端骨关节 | XR_HAND_JOINT_THUMB_DISTAL_EXT |
| 5 | Thumb_tip | 大拇指顶端骨关节 | XR_HAND_JOINT_THUMB_TIP_EXT |
| 6 | Index_metacarpal | 食指掌骨关节 | XR_HAND_JOINT_INDEX_METACARPAL_EXT |
| 7 | Index_proximal | 食指近端骨关节 | XR_HAND_JOINT_INDEX_PROXIMAL_EXT |
| 8 | Index_intermediate | 食指中端骨关节 | XR_HAND_JOINT_INDEX_INTERMEDIATE_EXT |
| 9 | Index_distal | 食指远端骨关节 | XR_HAND_JOINT_INDEX_DISTAL_EXT |
| 10 | Index_tip | 食指顶端骨关节 | XR_HAND_JOINT_INDEX_TIP_EXT |
| 11 | Middle_metacarpal | 中指掌骨关节 | XR_HAND_JOINT_MIDDLE_METACARPAL_EXT |
| 12 | Middle_proximal | 中指近端骨关节 | XR_HAND_JOINT_MIDDLE_PROXIMAL_EXT |
| 13 | Middle_intermediate | 中指中端骨关节 | XR_HAND_JOINT_MIDDLE_INTERMEDIATE_EXT |
| 14 | Middle_distal | 中指远端骨关节 | XR_HAND_JOINT_MIDDLE_DISTAL_EXT |
| 15 | Middle_tip | 中指顶端骨关节 | XR_HAND_JOINT_MIDDLE_TIP_EXT |
| 16 | Ring_metacarpal | 无名指掌骨关节 | XR_HAND_JOINT_RING_METACARPAL_EXT |
| 17 | Ring_proximal | 无名指近端骨关节 | XR_HAND_JOINT_RING_PROXIMAL_EXT |
| 18 | Ring_intermediate | 无名指中端骨关节 | XR_HAND_JOINT_RING_INTERMEDIATE_EXT |
| 19 | Ring_distal | 无名指远端骨关节 | XR_HAND_JOINT_RING_DISTAL_EXT |
| 20 | Ring_tip | 无名指顶端骨关节 | XR_HAND_JOINT_RING_TIP_EXT |
| 21 | Little_metacarpal | 小指掌骨关节 | XR_HAND_JOINT_LITTLE_METACARPAL_EXT |
| 22 | Little_proximal | 小指近端骨关节 | XR_HAND_JOINT_LITTLE_PROXIMAL_EXT |
| 23 | Little_intermediate | 小指中端骨关节 | XR_HAND_JOINT_LITTLE_INTERMEDIATE_EXT |
| 24 | Little_distal | 小指远端骨关节 | XR_HAND_JOINT_LITTLE_DISTAL_EXT |
| 25 | Little_tip | 小指顶端骨关节 | XR_HAND_JOINT_LITTLE_TIP_EXT |
PICO 手部模型
SDK 提供标准两个手部模型预制体:HandLeft 和 HandRight。单个手模预制体的顶点数为 1209,四边形面数为 1198,三角形面数为 2414

预制体位于 Packages > PICO Integration > Assets > Resources > Prefabs 目录下

自定义手势和事件
你可以自定义手势,然后为手势添加触发事件,丰富应用体验。
使用 HandPoseGenerator 预制体创建手势

点击PXR_Hand Pose Generator new 按钮 会自动创建配置文件,用于存放手势配置

Shapes :组件配置手指姿态。
Bones 组件配置手部关节点之间的关系
Transform 组件配置手部朝向。
具体操作步骤可参考《PICO 创建示例手势 文档》文档。
--------------------------------------------
我这里创建一个
的手势案例展示下
设置参数


下面还可看到创建手势预览
为预制体添加 PXR_Hand Pose 脚本。
在 Track Type 字段处,选择 “ThumbUp” 手势所应用的手。
在 Config 字段处,添加 “ThumbUp” 手势的 Hand Pose Config 文件。

添加手势事件触发函数,包括手势开始事件、手势持续时事件、手势结束事件。

打包 APK 文件至 PICO 设备上运行,体验效果