Inheritance #

XRBodyModifier3D
Table of contents

XRBodyModifier3D #

is_instantiable, Node3D, Node, core, not_builtin_classes

A node for driving body meshes from XRBodyTracker data.

This node uses body tracking data from an XRBodyTracker to pose the skeleton of a body mesh.

Positioning of the body is performed by creating an XRNode3D ancestor of the body mesh driven by the same XRBodyTracker.

The body tracking position-data is scaled by Skeleton3D.motion_scale when applied to the skeleton, which can be used to adjust the tracked body to match the scale of the body model.

Members #

var body_tracker: StringName = &"/user/body_tracker"#

The name of the XRBodyTracker registered with XRServer to obtain the body tracking data from.

var body_update: int = 7#

Specifies the body parts to update.

var bone_update = BONE_UPDATE_FULL#

Specifies the type of updates to perform on the bones.

Methods #

Annotations #

Constants #

const BODY_UPDATE_UPPER_BODY = 1 enum BodyUpdate
Bitfield
#

The skeleton's upper body joints are updated.

const BODY_UPDATE_LOWER_BODY = 2 enum BodyUpdate
Bitfield
#

The skeleton's lower body joints are updated.

const BODY_UPDATE_HANDS = 4 enum BodyUpdate
Bitfield
#

The skeleton's hand joints are updated.

const BONE_UPDATE_FULL = 0 enum BoneUpdate#

The skeleton's bones are fully updated (both position and rotation) to match the tracked bones.

const BONE_UPDATE_ROTATION_ONLY = 1 enum BoneUpdate#

The skeleton's bones are only rotated to align with the tracked bones, preserving bone length.

const BONE_UPDATE_MAX = 2 enum BoneUpdate#

Represents the size of the BoneUpdate enum.

Constructors #

Enums #

BodyUpdate#

enum BodyUpdate { BODY_UPDATE_UPPER_BODY = 1, BODY_UPDATE_LOWER_BODY = 2, BODY_UPDATE_HANDS = 4, }

BoneUpdate#

enum BoneUpdate { BONE_UPDATE_FULL = 0, BONE_UPDATE_ROTATION_ONLY = 1, BONE_UPDATE_MAX = 2, }

Operators #

Signals #

Theme Items #

Tutorials #