淘先锋技术网

首页 1 2 3 4 5 6 7

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