XRBodyModifier3D

实验性: This class may be changed or removed in future versions.

继承: SkeletonModifier3D < Node3D < Node < Object

用于从 XRBodyTracker 数据驱动身体网格的节点。

描述

该节点使用来自 XRBodyTracker 的身体跟踪数据来设置身体网格的骨架。

身体的定位是通过创建由相同 XRBodyTracker 驱动的身体网格的 XRNode3D 祖先来执行的。

身体跟踪位置数据在应用于骨架时由 Skeleton3D.motion_scale 缩放,可用于调整跟踪的身体以匹配身体模型的缩放。

教程

属性

StringName

body_tracker

&”/user/body_tracker”

BitField[BodyUpdate]

body_update

7

BoneUpdate

bone_update

0


枚举

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" 🔗

注册到 XRServerXRBodyTracker 的名称,可从中获取身体跟踪数据。


BitField[BodyUpdate] body_update = 7 🔗

指定要更新的身体部位。


BoneUpdate bone_update = 0 🔗

指定要在骨骼上执行的更新类型。