HandDriver手部模型关节和数据说明

1. HandDriver初始状态模型

自HandDriver2.1.2开始,手部模型初始状态如下。该模型可在左手坐标系或右手坐标系3D软件中查看,轴向依照3D软件坐标系而相应变化。该模型仅作参考样例使用。

下载地址(提取码: yebj):

circle-exclamation

2. 手部模型关节和轴向

上述初始状态手部模型关节命名和轴向如下图,该图为左手坐标系(本地)。该图中各关节轴向为示意图,其精确轴向请查看上述模型文件(fbx格式)。

3. HandDriver数据页角度值说明

3.1. HandDriver2.1.2之后版本

在HandDriver的数据页中,可以观察到各关节的俯仰、偏航和旋转角度值。各角度值的正负根据上图左手坐标系轴向而定,当坐标轴指向自己时,顺时针旋转定为“正”。因此目前在数据页中将会看到:

  • 俯仰:手指向手掌弯曲为负

  • 偏航:无名指、小指张开方向为正,食指张开为负,中指暂无偏航,拇指向手掌弯曲时偏航为负

  • 旋转:拇指向手掌弯曲为正,其他手指暂无旋转

3.1.1. 各关节角度最值

关节
最大值
最小值
PYR

Thumb IP

0

-60

Pitch

Thumb MP

0

-60

Pitch

Thumb CM

10

-70

Pitch

Thumb CM

20

-35

Yaw

Index DIP

0

-80

Pitch

Index PIP

0

-100

Pitch

Index MP

0

-80

Pitch

Index MP

0

-25

Yaw

Middle DIP

0

-80

Pitch

Middle PIP

0

-100

Pitch

Middle MP

0

-80

Pitch

Middle MP

4.5

-4.5

Yaw

Ring DIP

0

-80

Pitch

Ring PIP

0

-100

Pitch

Ring MP

0

-80

Pitch

Ring MP

15

0

Yaw

Pinky DIP

0

-80

Pitch

Pinky PIP

0

-100

Pitch

Pinky MP

0

-80

Pitch

Pinky MP

35

0

Yaw

Thumb CM

47

0

Roll

Index MP

0

0

Roll

Pinky MP

0

0

Roll

3.1.2. 右手坐标系角度正负说明

对于右手坐标系,该模型X轴与左手坐标系相反,Y、Z轴不变,故需将上述旋转角由“正”改为“负”,其他正负号不变。

右手坐标系-左手拇指CM关节轴向示意

右手坐标系-左手中指PIP关节轴向示意

右手坐标系-右手中指PIP关节轴向示意

右手坐标系-右手拇指CM关节轴向示意

3.2. HandDriver2.1.1之前版本

HandDriver2.1.1之前版本的数据页角度值参考右手坐标系:

  • 俯仰:手指向手掌弯曲为负

  • 偏航:无名指、小指张开设定为正,食指张开为正,中指暂无偏航,拇指向手掌弯曲时偏航设定为正

  • 旋转:拇指向手掌弯曲为负,其他手指暂无旋转

  • 各关节角度最值的绝对值与2.1.2版本相同,正负号根据上述规则

4. HandDriver数据广播、数据转发和四元数

在HandDriver设置-数据串流中,通过数据广播、数据转发和四元数三种方式对外传输数据。

4.1. 数据广播和数据转发

  • 传输各关节角度数据,其数值按左手坐标系标准,与HandDriver数据页中的值相同。

  • 对于右手坐标系使用时可将旋转角改为“负”。

  • 使用Unity/UE/MotionBuilder等插件时在插件中调整轴向即可,无需关心正负。

4.2. 四元数

传输各关节四元数数据,按右手坐标系标准。

5. 模型初始状态关节位置数据

模型初始状态关节位置数据基于右手坐标系计算。

关节名称
关节名称
关节序号

finger_index_0

MP

1

finger_index_1

PIP

2

finger_index_2

DIP

3

finger_thumb_0

CM

1

finger_thumb_1

MP

2

finger_thumb_2

IP

3

Last updated