<?xml version="1.0" encoding="UTF-8" ?> <class name="Skeleton" inherits="Spatial" category="Core" version="3.2"> <brief_description> Skeleton for characters and animated objects. </brief_description> <description> Skeleton provides a hierarchical interface for managing bones, including pose, rest and animation (see [Animation]). Skeleton will support rag doll dynamics in the future. The overall transform of a bone with respect to the skeleton is determined by the following hierarchical order: rest pose, custom pose and pose. Note that "global pose" below refers to the overall transform of the bone with respect to skeleton, so it not the actual global/world transform of the bone. </description> <tutorials> </tutorials> <methods> <method name="add_bone"> <return type="void"> </return> <argument index="0" name="name" type="String"> </argument> <description> Add a bone, with name "name". [method get_bone_count] will become the bone index. </description> </method> <method name="bind_child_node_to_bone"> <return type="void"> </return> <argument index="0" name="bone_idx" type="int"> </argument> <argument index="1" name="node" type="Node"> </argument> <description> Deprecated soon. </description> </method> <method name="clear_bones"> <return type="void"> </return> <description> Clear all the bones in this skeleton. </description> </method> <method name="find_bone" qualifiers="const"> <return type="int"> </return> <argument index="0" name="name" type="String"> </argument> <description> Return the bone index that matches "name" as its name. </description> </method> <method name="get_bone_count" qualifiers="const"> <return type="int"> </return> <description> Return the amount of bones in the skeleton. </description> </method> <method name="get_bone_custom_pose" qualifiers="const"> <return type="Transform"> </return> <argument index="0" name="bone_idx" type="int"> </argument> <description> Return the custom pose of the specified bone. Custom pose is applied on top of the rest pose. </description> </method> <method name="get_bone_global_pose" qualifiers="const"> <return type="Transform"> </return> <argument index="0" name="bone_idx" type="int"> </argument> <description> Return the overall transform of the specified bone, with respect to the skeleton. Being relative to the skeleton frame, this is not the actual "global" transform of the bone. </description> </method> <method name="get_bone_name" qualifiers="const"> <return type="String"> </return> <argument index="0" name="bone_idx" type="int"> </argument> <description> Return the name of the bone at index "index". </description> </method> <method name="get_bone_parent" qualifiers="const"> <return type="int"> </return> <argument index="0" name="bone_idx" type="int"> </argument> <description> Return the bone index which is the parent of the bone at "bone_idx". If -1, then bone has no parent. Note that the parent bone returned will always be less than "bone_idx". </description> </method> <method name="get_bone_pose" qualifiers="const"> <return type="Transform"> </return> <argument index="0" name="bone_idx" type="int"> </argument> <description> Return the pose transform of the specified bone. Pose is applied on top of the custom pose, which is applied on top the rest pose. </description> </method> <method name="get_bone_rest" qualifiers="const"> <return type="Transform"> </return> <argument index="0" name="bone_idx" type="int"> </argument> <description> Return the rest transform for a bone "bone_idx". </description> </method> <method name="get_bone_transform" qualifiers="const"> <return type="Transform"> </return> <argument index="0" name="bone_idx" type="int"> </argument> <description> Return the combination of custom pose and pose. The returned transform is in skeleton's reference frame. </description> </method> <method name="get_bound_child_nodes_to_bone" qualifiers="const"> <return type="Array"> </return> <argument index="0" name="bone_idx" type="int"> </argument> <description> Deprecated soon. </description> </method> <method name="is_bone_rest_disabled" qualifiers="const"> <return type="bool"> </return> <argument index="0" name="bone_idx" type="int"> </argument> <description> </description> </method> <method name="localize_rests"> <return type="void"> </return> <description> </description> </method> <method name="physical_bones_add_collision_exception"> <return type="void"> </return> <argument index="0" name="exception" type="RID"> </argument> <description> </description> </method> <method name="physical_bones_remove_collision_exception"> <return type="void"> </return> <argument index="0" name="exception" type="RID"> </argument> <description> </description> </method> <method name="physical_bones_start_simulation"> <return type="void"> </return> <argument index="0" name="bones" type="Array" default="[ ]"> </argument> <description> </description> </method> <method name="physical_bones_stop_simulation"> <return type="void"> </return> <description> </description> </method> <method name="set_bone_custom_pose"> <return type="void"> </return> <argument index="0" name="bone_idx" type="int"> </argument> <argument index="1" name="custom_pose" type="Transform"> </argument> <description> </description> </method> <method name="set_bone_disable_rest"> <return type="void"> </return> <argument index="0" name="bone_idx" type="int"> </argument> <argument index="1" name="disable" type="bool"> </argument> <description> </description> </method> <method name="set_bone_global_pose"> <return type="void"> </return> <argument index="0" name="bone_idx" type="int"> </argument> <argument index="1" name="pose" type="Transform"> </argument> <description> </description> </method> <method name="set_bone_ignore_animation"> <return type="void"> </return> <argument index="0" name="bone" type="int"> </argument> <argument index="1" name="ignore" type="bool"> </argument> <description> </description> </method> <method name="set_bone_parent"> <return type="void"> </return> <argument index="0" name="bone_idx" type="int"> </argument> <argument index="1" name="parent_idx" type="int"> </argument> <description> Set the bone index "parent_idx" as the parent of the bone at "bone_idx". If -1, then bone has no parent. Note: "parent_idx" must be less than "bone_idx". </description> </method> <method name="set_bone_pose"> <return type="void"> </return> <argument index="0" name="bone_idx" type="int"> </argument> <argument index="1" name="pose" type="Transform"> </argument> <description> Return the pose transform for bone "bone_idx". </description> </method> <method name="set_bone_rest"> <return type="void"> </return> <argument index="0" name="bone_idx" type="int"> </argument> <argument index="1" name="rest" type="Transform"> </argument> <description> Set the rest transform for bone "bone_idx" </description> </method> <method name="unbind_child_node_from_bone"> <return type="void"> </return> <argument index="0" name="bone_idx" type="int"> </argument> <argument index="1" name="node" type="Node"> </argument> <description> Deprecated soon. </description> </method> <method name="unparent_bone_and_rest"> <return type="void"> </return> <argument index="0" name="bone_idx" type="int"> </argument> <description> </description> </method> </methods> <members> <member name="bones_in_world_transform" type="bool" setter="set_use_bones_in_world_transform" getter="is_using_bones_in_world_transform"> </member> </members> <constants> <constant name="NOTIFICATION_UPDATE_SKELETON" value="50"> </constant> </constants> </class>