XRBodyTracker¶
实验性: This class may be changed or removed in future versions.
继承: XRPositionalTracker < XRTracker < RefCounted < Object
XR中的跟踪车身。
描述¶
身体跟踪系统将创建此对象的实例并将其添加到XRServer。然后,该跟踪系统将获取骨骼数据,将其转换为i3D人形骨骼并将此数据存储在XRBodyTracker对象上。
使用XRBulkRevamp使用身体跟踪数据为身体网格设置动画。
属性¶
方法¶
BitField[JointFlags] |
get_joint_flags(joint: Joint) const |
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 🔗
如果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) 🔗
设置给定身体关节的变换。