2017-09-12 22:42:36 +02:00
<?xml version="1.0" encoding="UTF-8" ?>
2019-04-01 12:33:56 +02:00
<class name= "Skeleton" inherits= "Spatial" category= "Core" version= "3.2" >
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 >
2019-06-22 01:04:47 +02:00
Adds a bone, with name [code]name[/code]. [method get_bone_count] will become the bone index.
2017-09-12 22:42:36 +02:00
</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 >
2019-06-22 01:04:47 +02:00
[i]Deprecated soon.[/i]
2017-09-12 22:42:36 +02:00
</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-06-22 01:04:47 +02:00
Returns the bone index that matches [code]name[/code] as its name.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "get_bone_count" qualifiers= "const" >
<return type= "int" >
</return>
<description >
2019-05-24 04:15:43 +02:00
Returns the amount of bones in the skeleton.
2017-09-12 22:42:36 +02: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 04:15:43 +02:00
Returns 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 >
2019-05-24 04:15:43 +02: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 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 >
2019-06-22 01:04:47 +02:00
Returns the name of the bone at index [code]index[/code].
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 >
2019-06-22 01:04:47 +02:00
Returns the bone index which is the parent of the bone at [code]bone_idx[/code]. If -1, then bone has no parent.
[b]Note:[/b] The parent bone returned will always be less than [code]bone_idx[/code].
2017-09-12 22:42:36 +02: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 04:15:43 +02: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 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 >
2019-06-22 01:04:47 +02:00
Returns the rest transform for a bone [code]bone_idx[/code].
2017-09-12 22:42:36 +02: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 04:15:43 +02:00
Returns 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 >
2019-06-22 01:04:47 +02:00
[i]Deprecated soon.[/i]
2017-09-12 22:42:36 +02:00
</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 21:39:09 +02:00
<method name= "localize_rests" >
<return type= "void" >
</return>
<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 >
2019-06-22 01:04:47 +02:00
Sets the bone index [code]parent_idx[/code] as the parent of the bone at [code]bone_idx[/code]. If -1, then bone has no parent.
[b]Note:[/b] [code]parent_idx[/code] must be less than [code]bone_idx[/code].
2017-09-12 22:42:36 +02:00
</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-06-22 01:04:47 +02:00
Returns the pose transform for bone [code]bone_idx[/code].
2017-09-12 22:42:36 +02: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 >
2019-06-22 01:04:47 +02:00
Sets the rest transform for bone [code]bone_idx[/code].
2017-09-12 22:42:36 +02:00
</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 >
2019-06-22 01:04:47 +02:00
[i]Deprecated soon.[/i]
2017-09-12 22:42:36 +02:00
</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 >
2019-06-29 12:38:01 +02:00
<member name= "bones_in_world_transform" type= "bool" setter= "set_use_bones_in_world_transform" getter= "is_using_bones_in_world_transform" default= "false" >
2019-03-07 10:54:42 +01:00
</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>