ed61fb2a8b
Add position track normalization to importer retarget
193 lines
8.4 KiB
XML
193 lines
8.4 KiB
XML
<?xml version="1.0" encoding="UTF-8" ?>
|
|
<class name="SkeletonProfile" inherits="Resource" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
|
|
<brief_description>
|
|
Profile of a virtual skeleton used as a target for retargeting.
|
|
</brief_description>
|
|
<description>
|
|
This resource is used in [EditorScenePostImport]. Some parameters are referring to bones in [Skeleton3D], [Skin], [Animation], and some other nodes are rewritten based on the parameters of [SkeletonProfile].
|
|
</description>
|
|
<tutorials>
|
|
</tutorials>
|
|
<methods>
|
|
<method name="find_bone" qualifiers="const">
|
|
<return type="int" />
|
|
<argument index="0" name="bone_name" type="StringName" />
|
|
<description>
|
|
Returns the bone index that matches [code]bone_name[/code] as its name.
|
|
</description>
|
|
</method>
|
|
<method name="get_bone_name" qualifiers="const">
|
|
<return type="StringName" />
|
|
<argument index="0" name="bone_idx" type="int" />
|
|
<description>
|
|
Returns the name of the bone at [code]bone_idx[/code] that will be the key name in the [BoneMap].
|
|
In the retargeting process, the returned bone name is the bone name of the target skeleton.
|
|
</description>
|
|
</method>
|
|
<method name="get_bone_parent" qualifiers="const">
|
|
<return type="StringName" />
|
|
<argument index="0" name="bone_idx" type="int" />
|
|
<description>
|
|
Returns the name of the bone which is the parent to the bone at [code]bone_idx[/code]. The result is empty if the bone has no parent.
|
|
</description>
|
|
</method>
|
|
<method name="get_bone_tail" qualifiers="const">
|
|
<return type="StringName" />
|
|
<argument index="0" name="bone_idx" type="int" />
|
|
<description>
|
|
Returns the name of the bone which is the tail of the bone at [code]bone_idx[/code].
|
|
</description>
|
|
</method>
|
|
<method name="get_group" qualifiers="const">
|
|
<return type="StringName" />
|
|
<argument index="0" name="bone_idx" type="int" />
|
|
<description>
|
|
Returns the group of the bone at [code]bone_idx[/code].
|
|
</description>
|
|
</method>
|
|
<method name="get_group_name" qualifiers="const">
|
|
<return type="StringName" />
|
|
<argument index="0" name="group_idx" type="int" />
|
|
<description>
|
|
Returns the name of the group at [code]group_idx[/code] that will be the drawing group in the [BoneMap] editor.
|
|
</description>
|
|
</method>
|
|
<method name="get_handle_offset" qualifiers="const">
|
|
<return type="Vector2" />
|
|
<argument index="0" name="bone_idx" type="int" />
|
|
<description>
|
|
Returns the offset of the bone at [code]bone_idx[/code] that will be the button position in the [BoneMap] editor.
|
|
This is the offset with origin at the top left corner of the square.
|
|
</description>
|
|
</method>
|
|
<method name="get_reference_pose" qualifiers="const">
|
|
<return type="Transform3D" />
|
|
<argument index="0" name="bone_idx" type="int" />
|
|
<description>
|
|
Returns the reference pose transform for bone [code]bone_idx[/code].
|
|
</description>
|
|
</method>
|
|
<method name="get_tail_direction" qualifiers="const">
|
|
<return type="int" enum="SkeletonProfile.TailDirection" />
|
|
<argument index="0" name="bone_idx" type="int" />
|
|
<description>
|
|
Returns the tail direction of the bone at [code]bone_idx[/code].
|
|
</description>
|
|
</method>
|
|
<method name="get_texture" qualifiers="const">
|
|
<return type="Texture2D" />
|
|
<argument index="0" name="group_idx" type="int" />
|
|
<description>
|
|
Returns the texture of the group at [code]group_idx[/code] that will be the drawing group background image in the [BoneMap] editor.
|
|
</description>
|
|
</method>
|
|
<method name="set_bone_name">
|
|
<return type="void" />
|
|
<argument index="0" name="bone_idx" type="int" />
|
|
<argument index="1" name="bone_name" type="StringName" />
|
|
<description>
|
|
Sets the name of the bone at [code]bone_idx[/code] that will be the key name in the [BoneMap].
|
|
In the retargeting process, the setting bone name is the bone name of the target skeleton.
|
|
</description>
|
|
</method>
|
|
<method name="set_bone_parent">
|
|
<return type="void" />
|
|
<argument index="0" name="bone_idx" type="int" />
|
|
<argument index="1" name="bone_parent" type="StringName" />
|
|
<description>
|
|
Sets the bone with name [code]bone_parent[/code] as the parent of the bone at [code]bone_idx[/code]. If an empty string is passed, then the bone has no parent.
|
|
</description>
|
|
</method>
|
|
<method name="set_bone_tail">
|
|
<return type="void" />
|
|
<argument index="0" name="bone_idx" type="int" />
|
|
<argument index="1" name="bone_tail" type="StringName" />
|
|
<description>
|
|
Sets the bone with name [code]bone_tail[/code] as the tail of the bone at [code]bone_idx[/code].
|
|
</description>
|
|
</method>
|
|
<method name="set_group">
|
|
<return type="void" />
|
|
<argument index="0" name="bone_idx" type="int" />
|
|
<argument index="1" name="group" type="StringName" />
|
|
<description>
|
|
Sets the group of the bone at [code]bone_idx[/code].
|
|
</description>
|
|
</method>
|
|
<method name="set_group_name">
|
|
<return type="void" />
|
|
<argument index="0" name="group_idx" type="int" />
|
|
<argument index="1" name="group_name" type="StringName" />
|
|
<description>
|
|
Sets the name of the group at [code]group_idx[/code] that will be the drawing group in the [BoneMap] editor.
|
|
</description>
|
|
</method>
|
|
<method name="set_handle_offset">
|
|
<return type="void" />
|
|
<argument index="0" name="bone_idx" type="int" />
|
|
<argument index="1" name="handle_offset" type="Vector2" />
|
|
<description>
|
|
Sets the offset of the bone at [code]bone_idx[/code] that will be the button position in the [BoneMap] editor.
|
|
This is the offset with origin at the top left corner of the square.
|
|
</description>
|
|
</method>
|
|
<method name="set_reference_pose">
|
|
<return type="void" />
|
|
<argument index="0" name="bone_idx" type="int" />
|
|
<argument index="1" name="bone_name" type="Transform3D" />
|
|
<description>
|
|
Sets the reference pose transform for bone [code]bone_idx[/code].
|
|
</description>
|
|
</method>
|
|
<method name="set_tail_direction">
|
|
<return type="void" />
|
|
<argument index="0" name="bone_idx" type="int" />
|
|
<argument index="1" name="tail_direction" type="int" enum="SkeletonProfile.TailDirection" />
|
|
<description>
|
|
Sets the tail direction of the bone at [code]bone_idx[/code].
|
|
[b]Note:[/b] This only specifies the method of calculation. The actual coordinates required should be stored in an external skeleton, so the calculation itself needs to be done externally.
|
|
</description>
|
|
</method>
|
|
<method name="set_texture">
|
|
<return type="void" />
|
|
<argument index="0" name="group_idx" type="int" />
|
|
<argument index="1" name="texture" type="Texture2D" />
|
|
<description>
|
|
Sets the texture of the group at [code]group_idx[/code] that will be the drawing group background image in the [BoneMap] editor.
|
|
</description>
|
|
</method>
|
|
</methods>
|
|
<members>
|
|
<member name="bone_size" type="int" setter="set_bone_size" getter="get_bone_size" default="0">
|
|
</member>
|
|
<member name="group_size" type="int" setter="set_group_size" getter="get_group_size" default="0">
|
|
</member>
|
|
<member name="root_bone" type="StringName" setter="set_root_bone" getter="get_root_bone" default="&""">
|
|
A name of bone that will be used as the root bone in [AnimationTree].
|
|
[b]Note:[/b] In most cases, it is the bone of the parent of the hips that exists at the world origin in the humanoid model.
|
|
</member>
|
|
<member name="scale_base_bone" type="StringName" setter="set_scale_base_bone" getter="get_scale_base_bone" default="&""">
|
|
A name of bone which height will be used as the coefficient for normalization.
|
|
[b]Note:[/b] In most cases, it is hips in the humanoid model.
|
|
</member>
|
|
</members>
|
|
<signals>
|
|
<signal name="profile_updated">
|
|
<description>
|
|
This signal is emitted when change the value in profile. This is used to update key name in the [BoneMap] and to redraw the [BoneMap] editor.
|
|
[b]Note:[/b] This signal is not connected directly to editor to simplify the reference, instead it is passed on to editor through the [BoneMap].
|
|
</description>
|
|
</signal>
|
|
</signals>
|
|
<constants>
|
|
<constant name="TAIL_DIRECTION_AVERAGE_CHILDREN" value="0" enum="TailDirection">
|
|
Direction to the average coordinates of bone children.
|
|
</constant>
|
|
<constant name="TAIL_DIRECTION_SPECIFIC_CHILD" value="1" enum="TailDirection">
|
|
Direction to the coordinates of specified bone child.
|
|
</constant>
|
|
<constant name="TAIL_DIRECTION_END" value="2" enum="TailDirection">
|
|
Direction is not calculated.
|
|
</constant>
|
|
</constants>
|
|
</class>
|