最新要闻

广告

手机

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

家电

【Oculus Interaction SDK】(十一)关于手势识别中手势设置的详细信息

来源:博客园

前言

前段时间 Oculus 的 SDK 频繁更新,很多已有的教程都不再适用于现在的版本了。本系列文章的主要目的是记录现版本常见功能的实现方法,便于自己后续开发。当然,不排除我文章刚写完 SDK 又变了的可能性,所以如果有人发现文章的内容已经不适用于新版本了,也可以留评论或者私信我,我会持续更新文章内容。

当前适用版本:

  • Unity 版本:2021.3.7f1c1
  • Oculus Interaction SDK 版本:47.0

文章最近更新日期:2023.02.20


(资料图片仅供参考)

在上一篇文章中,我们实现了手势识别的功能。碍于篇幅的原因,有关手势制作的部分没有详细展开。

【Oculus Interaction SDK】(十)在 VR 中使用手势识别 - 千叶Christa - 博客园 (cnblogs.com)

本篇文章是对上一篇文章的补充,教你如何制作一个手势,并且对手势的识别方向进行限制

手势的组成

设置手势的本质就是设置手指与手掌的状态。

只要了解每一根手指的状态,就可以做出不同的手的姿态。不过,仅有手指的状态是不够的,手掌与手腕的状态也是确定一个手势的重要一环

例如:

  • 比“耶”的手势,手掌向着身体内侧就是“剪刀”;手掌背对面部就是“兔子”
  • 四指弯曲深处大拇指的手势,大拇指向上就是“鼓励”,大拇指向下就是“嘲讽”

因此,只要了解手指与手掌的设置方式,我们就可以唯一地确定一个手势了

手指的设置

手指的设置主要在 Shape Recognizer 文件中完成

该文件可以通过 Assets > Create > Oculus > Interaction > SDK > Pose Detection > Shape 来创建

在文件中,可以针对每一根手指进行设置

关于手指的弯曲程度可以参考下图:

手指状态如下表:

Curl

卷曲

范围:所有手指

含义:手指顶部两个关节的弯曲程度

Open手指完全伸直
Neutral手指微微向内卷曲
Closed手指几乎接触手掌(如右图)

Flexion

弯曲

范围:除拇指外的四个手指

含义:指根关节的弯曲程度

Open指根与手掌平行
Neutral指根微微弯曲
Closed指根完全弯曲(如右图)

Abduction

外展

范围:除小指外的四个手指

含义:当前手指与下一手指间的角度

Open打开
Closed闭合
None不使用

opposition

相对

范围:除拇指外的四个手指

含义:当前手指指尖与拇指指尖的距离

Touching指尖接触(0-1.5cm)
Near指尖距离较近(1.5-15cm)
None不接触(大于15cm)

举个例子,前文中“兔子”手势的手指状态如下表:

拇指

指尖两关节弯曲(Curl:Is Neutral / Closed = Is Not Open)

指根弯曲(Flexion:Is Neutral / Closed = Is Not Open)

食指

指尖两关节伸直(Curl:Is Open)

指根伸直(Flexion:Is Open)

与下一手指(中指)之间张开(Abduction:Is Open)

中指

指尖两关节伸直(Curl:Is Open)

指根伸直(Flexion:Is Open)

无名指

指尖两关节弯曲(Curl:Is Neutral / Closed = Is Not Open)

指根弯曲(Flexion:Is Neutral / Closed = Is Not Open)

小指

指尖两关节弯曲(Curl:Is Neutral / Closed = Is Not Open)

指根弯曲(Flexion:Is Neutral / Closed = Is Not Open)

手腕与手掌的设置

手腕与手掌的设置在 Transform Recognizer Active State 组件中完成

手腕与手掌的方向可以参考下图:

手腕、手掌状态如下表:

Wrist Up

手腕向身体内侧

True
False

Wrist Down

手腕向身体外侧

True
Flase

Palm Up

手掌向上

True
False

Palm Down

手掌向下

True
False

Palm Towards Face

手掌面向脸部

True
False

Palm Away From Face

手掌远离脸部

True
False

Fingers Up

手指向上

True
False

Fingers Down

手指向下

True
False

参考资料

Hand Pose Detection | Oculus Developers

关键词: 手势识别 教你如何