XRBodyTracker

实验性: This class may be changed or removed in future versions.

继承: XRPositionalTracker < XRTracker < RefCounted < Object

XR中的跟踪车身。

描述

身体跟踪系统将创建此对象的实例并将其添加到XRServer。然后,该跟踪系统将获取骨骼数据,将其转换为i3D人形骨骼并将此数据存储在XRBodyTracker对象上。

使用XRBulkRevamp使用身体跟踪数据为身体网格设置动画。

属性

BitField[BodyFlags]

body_flags

0

bool

has_tracking_data

false

TrackerType

type

32 (overrides XRTracker)

方法

BitField[JointFlags]

get_joint_flags(joint: Joint) const

Transform3D

get_joint_transform(joint: Joint) const

void

set_joint_flags(joint: Joint, flags: BitField[JointFlags])

void

set_joint_transform(joint: Joint, transform: Transform3D)


枚举

flags BodyFlags: 🔗

BodyFlags BODY_FLAG_UPPER_BODY_SUPPORTED = 1

支持上身跟踪。

BodyFlags BODY_FLAG_LOWER_BODY_SUPPORTED = 2

支持下半身跟踪。

BodyFlags BODY_FLAG_HANDS_SUPPORTED = 4

支持手部跟踪。


enum Joint: 🔗

Joint JOINT_ROOT = 0

根关节。

Joint JOINT_HIPS = 1

髋关节。

Joint JOINT_SPINE = 2

脊柱关节。

Joint JOINT_CHEST = 3

胸关节。

Joint JOINT_UPPER_CHEST = 4

上胸关节。

Joint JOINT_NECK = 5

颈部关节。

Joint JOINT_HEAD = 6

头部关节。

Joint JOINT_HEAD_TIP = 7

头部尖端接头。

Joint JOINT_LEFT_SHOULDER = 8

左肩关节。

Joint JOINT_LEFT_UPPER_ARM = 9

左上臂关节。

Joint JOINT_LEFT_LOWER_ARM = 10

左下臂关节。

Joint JOINT_RIGHT_SHOULDER = 11

右肩关节。

Joint JOINT_RIGHT_UPPER_ARM = 12

右上臂关节。

Joint JOINT_RIGHT_LOWER_ARM = 13

右下臂关节。

Joint JOINT_LEFT_UPPER_LEG = 14

左上腿关节。

Joint JOINT_LEFT_LOWER_LEG = 15

左小腿关节。

Joint JOINT_LEFT_FOOT = 16

左脚关节。

Joint JOINT_LEFT_TOES = 17

左脚趾关节。

Joint JOINT_RIGHT_UPPER_LEG = 18

右上腿关节。

Joint JOINT_RIGHT_LOWER_LEG = 19

右下腿关节。

Joint JOINT_RIGHT_FOOT = 20

右脚关节。

Joint JOINT_RIGHT_TOES = 21

右脚趾关节。

Joint JOINT_LEFT_HAND = 22

左手关节。

Joint JOINT_LEFT_PALM = 23

左手掌关节。

Joint JOINT_LEFT_WRIST = 24

左腕关节。

Joint JOINT_LEFT_THUMB_METACARPAL = 25

左手拇指掌骨关节。

Joint JOINT_LEFT_THUMB_PHALANX_PROXIMAL = 26

左拇指指骨近端关节。

Joint JOINT_LEFT_THUMB_PHALANX_DISTAL = 27

左拇指指骨远端关节。

Joint JOINT_LEFT_THUMB_TIP = 28

左拇指尖关节。

Joint JOINT_LEFT_INDEX_FINGER_METACARPAL = 29

左手食指掌骨关节。

Joint JOINT_LEFT_INDEX_FINGER_PHALANX_PROXIMAL = 30

左手食指指骨近端关节。

Joint JOINT_LEFT_INDEX_FINGER_PHALANX_INTERMEDIATE = 31

左手食指指骨中间关节。

Joint JOINT_LEFT_INDEX_FINGER_PHALANX_DISTAL = 32

左食指指骨远端关节。

Joint JOINT_LEFT_INDEX_FINGER_TIP = 33

左手食指尖关节。

Joint JOINT_LEFT_MIDDLE_FINGER_METACARPAL = 34

左中指掌骨关节。

Joint JOINT_LEFT_MIDDLE_FINGER_PHALANX_PROXIMAL = 35

左中指指骨近端关节。

Joint JOINT_LEFT_MIDDLE_FINGER_PHALANX_INTERMEDIATE = 36

左中指指骨中间关节。

Joint JOINT_LEFT_MIDDLE_FINGER_PHALANX_DISTAL = 37

左中指指骨远端关节。

Joint JOINT_LEFT_MIDDLE_FINGER_TIP = 38

左中指指尖关节。

Joint JOINT_LEFT_RING_FINGER_METACARPAL = 39

左无名指掌骨关节。

Joint JOINT_LEFT_RING_FINGER_PHALANX_PROXIMAL = 40

左无名指指骨近端关节。

Joint JOINT_LEFT_RING_FINGER_PHALANX_INTERMEDIATE = 41

左无名指指骨中间关节。

Joint JOINT_LEFT_RING_FINGER_PHALANX_DISTAL = 42

左无名指指骨远端关节。

Joint JOINT_LEFT_RING_FINGER_TIP = 43

左无名指指尖关节。

Joint JOINT_LEFT_PINKY_FINGER_METACARPAL = 44

左小指掌骨关节。

Joint JOINT_LEFT_PINKY_FINGER_PHALANX_PROXIMAL = 45

左小指指骨近端关节。

Joint JOINT_LEFT_PINKY_FINGER_PHALANX_INTERMEDIATE = 46

左小指指骨中间关节。

Joint JOINT_LEFT_PINKY_FINGER_PHALANX_DISTAL = 47

左小指指骨远端关节。

Joint JOINT_LEFT_PINKY_FINGER_TIP = 48

左小指指尖关节。

Joint JOINT_RIGHT_HAND = 49

右手关节。

Joint JOINT_RIGHT_PALM = 50

右手掌关节。

Joint JOINT_RIGHT_WRIST = 51

右腕关节。

Joint JOINT_RIGHT_THUMB_METACARPAL = 52

右拇指掌骨关节。

Joint JOINT_RIGHT_THUMB_PHALANX_PROXIMAL = 53

右拇指指骨近端关节。

Joint JOINT_RIGHT_THUMB_PHALANX_DISTAL = 54

右拇指指骨远端关节。

Joint JOINT_RIGHT_THUMB_TIP = 55

右拇指尖关节。

Joint JOINT_RIGHT_INDEX_FINGER_METACARPAL = 56

右食指掌骨关节。

Joint JOINT_RIGHT_INDEX_FINGER_PHALANX_PROXIMAL = 57

右食指指骨近端关节。

Joint JOINT_RIGHT_INDEX_FINGER_PHALANX_INTERMEDIATE = 58

右食指指骨中间关节。

Joint JOINT_RIGHT_INDEX_FINGER_PHALANX_DISTAL = 59

右食指指骨远端关节。

Joint JOINT_RIGHT_INDEX_FINGER_TIP = 60

右食指尖关节。

Joint JOINT_RIGHT_MIDDLE_FINGER_METACARPAL = 61

右中指掌骨关节。

Joint JOINT_RIGHT_MIDDLE_FINGER_PHALANX_PROXIMAL = 62

右中指指骨近端关节。

Joint JOINT_RIGHT_MIDDLE_FINGER_PHALANX_INTERMEDIATE = 63

右中指指骨中间关节。

Joint JOINT_RIGHT_MIDDLE_FINGER_PHALANX_DISTAL = 64

右中指指骨远端关节。

Joint JOINT_RIGHT_MIDDLE_FINGER_TIP = 65

右中指指尖关节。

Joint JOINT_RIGHT_RING_FINGER_METACARPAL = 66

右无名指掌骨关节。

Joint JOINT_RIGHT_RING_FINGER_PHALANX_PROXIMAL = 67

右无名指指骨近端关节。

Joint JOINT_RIGHT_RING_FINGER_PHALANX_INTERMEDIATE = 68

右无名指指骨中间关节。

Joint JOINT_RIGHT_RING_FINGER_PHALANX_DISTAL = 69

右无名指指骨远端关节。

Joint JOINT_RIGHT_RING_FINGER_TIP = 70

右无名指指尖关节。

Joint JOINT_RIGHT_PINKY_FINGER_METACARPAL = 71

右小指掌骨关节。

Joint JOINT_RIGHT_PINKY_FINGER_PHALANX_PROXIMAL = 72

右小指指骨近端关节。

Joint JOINT_RIGHT_PINKY_FINGER_PHALANX_INTERMEDIATE = 73

右小指指骨中间关节。

Joint JOINT_RIGHT_PINKY_FINGER_PHALANX_DISTAL = 74

右小指指骨远端关节。

Joint JOINT_RIGHT_PINKY_FINGER_TIP = 75

右小指指尖关节。

Joint JOINT_MAX = 76

表示Joint枚举的大小。


flags JointFlags: 🔗

JointFlags JOINT_FLAG_ORIENTATION_VALID = 1

关节的方位数据是有效的。

JointFlags JOINT_FLAG_ORIENTATION_TRACKED = 2

关节的方向被主动跟踪。如果跟踪暂时丢失,可能无法设置。

JointFlags JOINT_FLAG_POSITION_VALID = 4

关节的位置数据是有效的。

JointFlags JOINT_FLAG_POSITION_TRACKED = 8

关节的位置被主动跟踪。如果跟踪暂时丢失,可能无法设置。


属性说明

BitField[BodyFlags] body_flags = 0 🔗

捕获的身体跟踪数据的类型。


bool has_tracking_data = false 🔗

  • void set_has_tracking_data(value: bool)

  • bool get_has_tracking_data()

如果true,则身体跟踪数据有效。


方法说明

BitField[JointFlags] get_joint_flags(joint: Joint) const 🔗

返回有关给定身体关节的跟踪数据有效性的标志(参见JointFlags)。


Transform3D get_joint_transform(joint: Joint) const 🔗

返回给定身体关节的变换。


void set_joint_flags(joint: Joint, flags: BitField[JointFlags]) 🔗

设置有关给定身体关节跟踪数据有效性的标志。


void set_joint_transform(joint: Joint, transform: Transform3D) 🔗

设置给定身体关节的变换。