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...
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()
指定要在骨骼上执行的更新类型。