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 设备上运行,体验效果



















