Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
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) 🔗
设置给定身体关节的变换。