SkeletonProfile
继承: Resource
< RefCounted
< Object
Base class for a profile of a virtual skeleton used as a target for retargeting.
描述
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.
Note: These parameters need to be set only when creating a custom profile. In SkeletonProfileHumanoid
, they are defined internally as read-only values.
属性
方法
int | find_bone ( bone_name: StringName ) const1 |
StringName | get_bone_name ( bone_idx: int ) const1 |
StringName | get_bone_parent ( bone_idx: int ) const1 |
StringName | get_bone_tail ( bone_idx: int ) const1 |
StringName | get_group ( bone_idx: int ) const1 |
StringName | get_group_name ( group_idx: int ) const1 |
Vector2 | get_handle_offset ( bone_idx: int ) const1 |
Transform3D | get_reference_pose ( bone_idx: int ) const1 |
TailDirection | get_tail_direction ( bone_idx: int ) const1 |
Texture2D | get_texture ( group_idx: int ) const1 |
bool | is_required ( bone_idx: int ) const1 |
void | set_bone_name ( bone_idx: int , bone_name: StringName ) |
void | set_bone_parent ( bone_idx: int , bone_parent: StringName ) |
void | set_bone_tail ( bone_idx: int , bone_tail: StringName ) |
void | set_group ( bone_idx: int , group: StringName ) |
void | set_group_name ( group_idx: int , group_name: StringName ) |
void | set_handle_offset ( bone_idx: int , handle_offset: Vector2 ) |
void | set_reference_pose ( bone_idx: int , bone_name: Transform3D ) |
void | set_required ( bone_idx: int , required: bool ) |
void | set_tail_direction ( bone_idx: int , tail_direction: TailDirection ) |
void | set_texture ( group_idx: int , texture: Texture2D ) |
信号
profile_updated ( )
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.
Note: This signal is not connected directly to editor to simplify the reference, instead it is passed on to editor through the BoneMap
.
枚举
enum TailDirection:
TailDirection TAIL_DIRECTION_AVERAGE_CHILDREN = 0
Direction to the average coordinates of bone children.
TailDirection TAIL_DIRECTION_SPECIFIC_CHILD = 1
Direction to the coordinates of specified bone child.
TailDirection TAIL_DIRECTION_END = 2
Direction is not calculated.
属性说明
int
bone_size = 0
The amount of bones in retargeting section's BoneMap
editor. For example, SkeletonProfileHumanoid
has 56 bones.
The size of elements in BoneMap
updates when changing this property in it's assigned SkeletonProfile.
int
group_size = 0
The amount of groups of bones in retargeting section's BoneMap
editor. For example, SkeletonProfileHumanoid
has 4 groups.
This property exists to separate the bone list into several sections in the editor.
StringName
root_bone = &""
void
set_root_bone ( value:StringName
)StringName
get_root_bone ( )
A bone name that will be used as the root bone in AnimationTree
. This should be the bone of the parent of hips that exists at the world origin.
StringName
scale_base_bone = &""
void
set_scale_base_bone ( value:StringName
)StringName
get_scale_base_bone ( )
A bone name which will use model's height as the coefficient for normalization. For example, SkeletonProfileHumanoid
defines it as Hips
.
方法说明
int
find_bone ( bone_name: StringName
) const1
Returns the bone index that matches bone_name
as its name.
StringName
get_bone_name ( bone_idx: int
) const1
Returns the name of the bone at bone_idx
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.
StringName
get_bone_parent ( bone_idx: int
) const1
Returns the name of the bone which is the parent to the bone at bone_idx
. The result is empty if the bone has no parent.
StringName
get_bone_tail ( bone_idx: int
) const1
Returns the name of the bone which is the tail of the bone at bone_idx
.
StringName
get_group ( bone_idx: int
) const1
Returns the group of the bone at bone_idx
.
StringName
get_group_name ( group_idx: int
) const1
Returns the name of the group at group_idx
that will be the drawing group in the BoneMap
editor.
Vector2
get_handle_offset ( bone_idx: int
) const1
Returns the offset of the bone at bone_idx
that will be the button position in the BoneMap
editor.
This is the offset with origin at the top left corner of the square.
Transform3D
get_reference_pose ( bone_idx: int
) const1
Returns the reference pose transform for bone bone_idx
.
TailDirection get_tail_direction ( bone_idx: int
) const1
Returns the tail direction of the bone at bone_idx
.
Texture2D
get_texture ( group_idx: int
) const1
Returns the texture of the group at group_idx
that will be the drawing group background image in the BoneMap
editor.
bool
is_required ( bone_idx: int
) const1
Returns whether the bone at bone_idx
is required for retargeting.
This value is used by the bone map editor. If this method returns true
, and no bone is assigned, the handle color will be red on the bone map editor.
void
set_bone_name ( bone_idx: int
, bone_name: StringName
)
Sets the name of the bone at bone_idx
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.
void
set_bone_parent ( bone_idx: int
, bone_parent: StringName
)
Sets the bone with name bone_parent
as the parent of the bone at bone_idx
. If an empty string is passed, then the bone has no parent.
void
set_bone_tail ( bone_idx: int
, bone_tail: StringName
)
Sets the bone with name bone_tail
as the tail of the bone at bone_idx
.
void
set_group ( bone_idx: int
, group: StringName
)
Sets the group of the bone at bone_idx
.
void
set_group_name ( group_idx: int
, group_name: StringName
)
Sets the name of the group at group_idx
that will be the drawing group in the BoneMap
editor.
void
set_handle_offset ( bone_idx: int
, handle_offset: Vector2
)
Sets the offset of the bone at bone_idx
that will be the button position in the BoneMap
editor.
This is the offset with origin at the top left corner of the square.
void
set_reference_pose ( bone_idx: int
, bone_name: Transform3D
)
Sets the reference pose transform for bone bone_idx
.
void
set_required ( bone_idx: int
, required: bool
)
Sets the required status for bone bone_idx
to required
.
void
set_tail_direction ( bone_idx: int
, tail_direction: TailDirection )
Sets the tail direction of the bone at bone_idx
.
Note: 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.
void
set_texture ( group_idx: int
, texture: Texture2D
)
Sets the texture of the group at group_idx
that will be the drawing group background image in the BoneMap
editor.
本方法通常需要用户覆盖才能生效。
本方法无副作用,不会修改该实例的任何成员变量。
本方法除了能接受在此处描述的参数外,还能够继续接受任意数量的参数。
本方法用于构造某个类型。
调用本方法无需实例,可直接使用类名进行调用。
本方法描述的是使用本类型作为左操作数的有效运算符。
这个值是由下列位标志构成位掩码的整数。
无返回值。