XRBodyModifier3D
实验性: This class may be changed or removed in future versions.
继承: SkeletonModifier3D < Node3D < Node < Object
用于从 XRBodyTracker 数据驱动身体网格的节点。
描述
该节点使用来自 XRBodyTracker 的身体跟踪数据来设置身体网格的骨架。
身体的定位是通过创建由相同 XRBodyTracker 驱动的身体网格的 XRNode3D 祖先来执行的。
身体跟踪位置数据在应用于骨架时由 Skeleton3D.motion_scale 缩放,可用于调整跟踪的身体以匹配身体模型的缩放。
教程
属性
| ||
BitField[BodyUpdate] |
| |
|
枚举
flags BodyUpdate: 🔗
BodyUpdate BODY_UPDATE_UPPER_BODY = 1
骨架的上半身关节已更新。
BodyUpdate BODY_UPDATE_LOWER_BODY = 2
骨架的下半身关节已更新。
BodyUpdate BODY_UPDATE_HANDS = 4
骨架的手部关节已更新。
enum BoneUpdate: 🔗
BoneUpdate BONE_UPDATE_FULL = 0
骨架的骨骼完全更新(位置和旋转)以匹配跟踪的骨骼。
BoneUpdate BONE_UPDATE_ROTATION_ONLY = 1
骨架的骨骼仅旋转以与跟踪的骨骼对齐,从而保留骨骼长度。
BoneUpdate BONE_UPDATE_MAX = 2
代表 BoneUpdate 枚举的大小。
属性说明
StringName body_tracker = &"/user/body_tracker"
🔗
void set_body_tracker(value: StringName)
StringName get_body_tracker()
注册到 XRServer 的 XRBodyTracker 的名称,可从中获取身体跟踪数据。
BitField[BodyUpdate] body_update = 7
🔗
void set_body_update(value: BitField[BodyUpdate])
BitField[BodyUpdate] get_body_update()
指定要更新的身体部位。
BoneUpdate bone_update = 0
🔗
void set_bone_update(value: BoneUpdate)
BoneUpdate get_bone_update()
指定要在骨骼上执行的更新类型。