XRBodyTracker
实验性: This class may be changed or removed in future versions.
继承: XRPositionalTracker < XRTracker < RefCounted < Object
XR 中跟踪的身体。
描述
身体跟踪系统将创建该对象的实例并将其添加到 XRServer。然后,该跟踪系统将获取骨架数据,将其转换为 Godot 类人型骨架,并将该数据存储在 XRBodyTracker 对象上。
使用 XRBodyModifier3D 通过身体跟踪数据来动画化身体网格。
教程
属性
BitField[BodyFlags] |
| |
| ||
type |
|
方法
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) 🔗
设置给定身体关节的变换。