<?xml version="1.0" encoding="UTF-8" ?> <class name="XRBodyModifier3D" inherits="Node3D" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd"> <brief_description> A node for driving body meshes from [XRBodyTracker] data. </brief_description> <description> This node uses body tracking data from a [XRBodyTracker] to animate the skeleton of a body mesh. </description> <tutorials> <link title="XR documentation index">$DOCS_URL/tutorials/xr/index.html</link> </tutorials> <members> <member name="body_tracker" type="StringName" setter="set_body_tracker" getter="get_body_tracker" default="&"/user/body""> The name of the [XRBodyTracker] registered with [XRServer] to obtain the body tracking data from. </member> <member name="body_update" type="int" setter="set_body_update" getter="get_body_update" enum="XRBodyModifier3D.BodyUpdate" is_bitfield="true" default="7"> Specifies the body parts to update. </member> <member name="bone_update" type="int" setter="set_bone_update" getter="get_bone_update" enum="XRBodyModifier3D.BoneUpdate" default="0"> Specifies the type of updates to perform on the bones. </member> <member name="show_when_tracked" type="bool" setter="set_show_when_tracked" getter="get_show_when_tracked" default="true"> If true then the nodes visibility is determined by whether tracking data is available. </member> <member name="target" type="NodePath" setter="set_target" getter="get_target" default="NodePath("")"> A [NodePath] to a [Skeleton3D] to animate. </member> </members> <constants> <constant name="BODY_UPDATE_UPPER_BODY" value="1" enum="BodyUpdate" is_bitfield="true"> The skeleton's upper body joints are updated. </constant> <constant name="BODY_UPDATE_LOWER_BODY" value="2" enum="BodyUpdate" is_bitfield="true"> The skeleton's lower body joints are updated. </constant> <constant name="BODY_UPDATE_HANDS" value="4" enum="BodyUpdate" is_bitfield="true"> The skeleton's hand joints are updated. </constant> <constant name="BONE_UPDATE_FULL" value="0" enum="BoneUpdate"> The skeleton's bones are fully updated (both position and rotation) to match the tracked bones. </constant> <constant name="BONE_UPDATE_ROTATION_ONLY" value="1" enum="BoneUpdate"> The skeleton's bones are only rotated to align with the tracked bones, preserving bone length. </constant> <constant name="BONE_UPDATE_MAX" value="2" enum="BoneUpdate"> Represents the size of the [enum BoneUpdate] enum. </constant> </constants> </class>