2017-09-12 20:42:36 +00:00
<?xml version="1.0" encoding="UTF-8" ?>
2019-04-01 10:33:56 +00:00
<class name= "Skeleton" inherits= "Spatial" category= "Core" version= "3.2" >
2017-09-12 20:42:36 +00:00
<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.
2018-06-14 23:07:03 +00:00
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.
2017-09-12 20:42:36 +00:00
</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 >
2019-05-24 02:15:43 +00:00
Returns the bone index that matches "name" as its name.
2017-09-12 20:42:36 +00:00
</description>
</method>
<method name= "get_bone_count" qualifiers= "const" >
<return type= "int" >
</return>
<description >
2019-05-24 02:15:43 +00:00
Returns the amount of bones in the skeleton.
2017-09-12 20:42:36 +00:00
</description>
</method>
<method name= "get_bone_custom_pose" qualifiers= "const" >
<return type= "Transform" >
</return>
<argument index= "0" name= "bone_idx" type= "int" >
</argument>
<description >
2019-05-24 02:15:43 +00:00
Returns the custom pose of the specified bone. Custom pose is applied on top of the rest pose.
2017-09-12 20:42:36 +00:00
</description>
</method>
<method name= "get_bone_global_pose" qualifiers= "const" >
<return type= "Transform" >
</return>
<argument index= "0" name= "bone_idx" type= "int" >
</argument>
<description >
2019-05-24 02:15:43 +00:00
Returns 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.
2017-09-12 20:42:36 +00:00
</description>
</method>
<method name= "get_bone_name" qualifiers= "const" >
<return type= "String" >
</return>
<argument index= "0" name= "bone_idx" type= "int" >
</argument>
<description >
2019-05-24 02:15:43 +00:00
Returns the name of the bone at index "index".
2017-09-12 20:42:36 +00:00
</description>
</method>
<method name= "get_bone_parent" qualifiers= "const" >
<return type= "int" >
</return>
<argument index= "0" name= "bone_idx" type= "int" >
</argument>
<description >
2019-05-24 02:15:43 +00:00
Returns 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".
2017-09-12 20:42:36 +00:00
</description>
</method>
<method name= "get_bone_pose" qualifiers= "const" >
<return type= "Transform" >
</return>
<argument index= "0" name= "bone_idx" type= "int" >
</argument>
<description >
2019-05-24 02:15:43 +00:00
Returns the pose transform of the specified bone. Pose is applied on top of the custom pose, which is applied on top the rest pose.
2017-09-12 20:42:36 +00:00
</description>
</method>
<method name= "get_bone_rest" qualifiers= "const" >
<return type= "Transform" >
</return>
<argument index= "0" name= "bone_idx" type= "int" >
</argument>
<description >
2019-05-24 02:15:43 +00:00
Returns the rest transform for a bone "bone_idx".
2017-09-12 20:42:36 +00:00
</description>
</method>
<method name= "get_bone_transform" qualifiers= "const" >
<return type= "Transform" >
</return>
<argument index= "0" name= "bone_idx" type= "int" >
</argument>
<description >
2019-05-24 02:15:43 +00:00
Returns the combination of custom pose and pose. The returned transform is in skeleton's reference frame.
2017-09-12 20:42:36 +00:00
</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>
2019-04-23 19:39:09 +00:00
<method name= "localize_rests" >
<return type= "void" >
</return>
<description >
</description>
</method>
2018-05-12 07:38:00 +00:00
<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>
2018-05-28 12:53:15 +00:00
<method name= "physical_bones_start_simulation" >
2018-05-12 07:38:00 +00:00
<return type= "void" >
</return>
2018-05-28 12:53:15 +00:00
<argument index= "0" name= "bones" type= "Array" default= "[ ]" >
2018-05-12 07:38:00 +00:00
</argument>
<description >
</description>
</method>
2018-05-28 12:53:15 +00:00
<method name= "physical_bones_stop_simulation" >
<return type= "void" >
</return>
<description >
</description>
</method>
2017-09-12 20:42:36 +00:00
<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>
2018-08-20 22:35:30 +00:00
<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>
2017-09-12 20:42:36 +00:00
<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 >
2019-05-24 02:15:43 +00:00
Returns the pose transform for bone "bone_idx".
2017-09-12 20:42:36 +00:00
</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>
2019-03-07 09:54:42 +00:00
<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>
2017-09-12 20:42:36 +00:00
<constants >
2017-11-24 22:16:30 +00:00
<constant name= "NOTIFICATION_UPDATE_SKELETON" value= "50" >
2017-09-12 20:42:36 +00:00
</constant>
</constants>
</class>