2017-09-12 22:42:36 +02:00
<?xml version="1.0" encoding="UTF-8" ?>
2018-02-27 13:40:43 +01:00
<class name= "Skeleton" inherits= "Spatial" category= "Core" version= "3.1" >
2017-09-12 22:42:36 +02: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-15 01:07:03 +02: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 22:42:36 +02: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 >
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 >
2018-06-15 01:07:03 +02:00
Return the custom pose of the specified bone. Custom pose is applied on top of the rest pose.
2017-09-12 22:42:36 +02: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 >
2018-06-15 01:07:03 +02:00
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.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "get_bone_name" qualifiers= "const" >
<return type= "String" >
</return>
<argument index= "0" name= "bone_idx" type= "int" >
</argument>
<description >
2018-06-15 01:07:03 +02:00
Return the name of the bone at index "index".
2017-09-12 22:42:36 +02:00
</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 >
2018-06-15 01:07:03 +02:00
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.
2017-09-12 22:42:36 +02:00
</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 >
2018-06-15 01:07:03 +02:00
Return the combination of custom pose and pose. The returned transform is in skeleton's reference frame.
2017-09-12 22:42:36 +02: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>
2018-05-12 09:38:00 +02: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 14:53:15 +02:00
<method name= "physical_bones_start_simulation" >
2018-05-12 09:38:00 +02:00
<return type= "void" >
</return>
2018-05-28 14:53:15 +02:00
<argument index= "0" name= "bones" type= "Array" default= "[ ]" >
2018-05-12 09:38:00 +02:00
</argument>
<description >
</description>
</method>
2018-05-28 14:53:15 +02:00
<method name= "physical_bones_stop_simulation" >
<return type= "void" >
</return>
<description >
</description>
</method>
2017-09-12 22:42:36 +02: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-21 00:35:30 +02: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 22:42:36 +02: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 >
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>
2019-03-07 10:54:42 +01: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 22:42:36 +02:00
<constants >
2017-11-24 23:16:30 +01:00
<constant name= "NOTIFICATION_UPDATE_SKELETON" value= "50" >
2017-09-12 22:42:36 +02:00
</constant>
</constants>
</class>