SkeletonProfile¶
继承: Resource < RefCounted < Object
用作重定向目标的虚拟骨架配置文件的基类。
描述¶
此资源用于EditorScenePostImport中,一些参数在引用SkeletonMesh、Skin、Animation中的骨骼,还有一些节点是基于SkeletonProfile的参数重写的。
注意:这些参数只有在创建自定义配置文件时才需要设置,在SkeletonProfileHumanoid中,它们在内部被定义为只读值。
属性¶
|
||
|
||
|
||
|
方法¶
find_bone(bone_name: StringName) const |
|
get_bone_name(bone_idx: int) const |
|
get_bone_parent(bone_idx: int) const |
|
get_bone_tail(bone_idx: int) const |
|
get_group_name(group_idx: int) const |
|
get_handle_offset(bone_idx: int) const |
|
get_reference_pose(bone_idx: int) const |
|
get_tail_direction(bone_idx: int) const |
|
get_texture(group_idx: int) const |
|
is_required(bone_idx: int) const |
|
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() 🔗
此信号在更改配置文件中的值时发出。这用于更新BoneMap中的键名并重新绘制BoneMap编辑器。
注意:此信号不直接连接到编辑器以简化参考,而是通过BoneMap传递给编辑器。
枚举¶
enum TailDirection: 🔗
TailDirection TAIL_DIRECTION_AVERAGE_CHILDREN = 0
方向到骨子的平均坐标。
TailDirection TAIL_DIRECTION_SPECIFIC_CHILD = 1
指向指定骨子坐标的方向。
TailDirection TAIL_DIRECTION_END = 2
不计算方向。
属性说明¶
重定向部分的BoneMap编辑器中的骨骼数量。例如,SkeletonProfileHumanoid有56个骨骼。
BoneMap中元素的大小在更改其分配的SkeletonProfile中的属性时更新。
重新定位部分的BoneMap编辑器中的骨骼组数量。例如,SkeletonProfileHumanoid有4个组。
此属性的存在是为了在编辑器中将骨列表分成几个部分。
StringName root_bone = &"" 🔗
void set_root_bone(value: StringName)
StringName get_root_bone()
将在AnimationTree中用作根骨的骨名。这应该是世界起源时存在的臀部父骨的骨。
StringName scale_base_bone = &"" 🔗
void set_scale_base_bone(value: StringName)
StringName get_scale_base_bone()
使用模型高度作为归一化系数的骨骼名称。例如,SkeletonProfileHumanoid将其定义为Hips。
方法说明¶
int find_bone(bone_name: StringName) const 🔗
返回与bone_name匹配的骨索引作为其名称。
StringName get_bone_name(bone_idx: int) const 🔗
返回bone_idx处的骨骼名称,该名称将成为BoneMap中的键名。
在重定向过程中,返回的骨名是目标骨架的骨名。
StringName get_bone_parent(bone_idx: int) const 🔗
返回bone_idx处骨的父骨的名称。如果骨没有父骨,则结果为空。
StringName get_bone_tail(bone_idx: int) const 🔗
返回骨头的名称,它是bone_idx处骨头的尾部。
StringName get_group(bone_idx: int) const 🔗
返回bone_idx处的骨组。
StringName get_group_name(group_idx: int) const 🔗
返回group_idx处的组的名称,该组将成为BoneMap编辑器中的绘图组。
Vector2 get_handle_offset(bone_idx: int) const 🔗
返回bone_idx处的骨骼偏移量,该位置将是BoneMap编辑器中的按钮位置。
这是原点在正方形左上角的偏移量。
Transform3D get_reference_pose(bone_idx: int) const 🔗
返回骨bone_idx的参考姿势变换。
TailDirection get_tail_direction(bone_idx: int) const 🔗
返回bone_idx处骨骼的尾部方向。
Texture2D get_texture(group_idx: int) const 🔗
返回group_idx处的组的纹理,该组将成为BoneMap编辑器中的绘图组背景图像。
bool is_required(bone_idx: int) const 🔗
返回重定向是否需要bone_idx处的骨。
此值由骨图编辑器使用。如果此方法返回true,并且没有分配骨,则骨图编辑器上的句柄颜色将为红色。
void set_bone_name(bone_idx: int, bone_name: StringName) 🔗
在bone_idx处设置骨的名称,该名称将成为BoneMap中的键名。
在重定向过程中,设置骨骼名称是目标骨骼的骨骼名称。
void set_bone_parent(bone_idx: int, bone_parent: StringName) 🔗
将名称为bone_parent的骨设置为bone_idx处骨的父级。如果传递了空字符串,则骨没有父级。
void set_bone_tail(bone_idx: int, bone_tail: StringName) 🔗
将名称为bone_tail的骨设置为bone_idx处的骨的尾部。
void set_group(bone_idx: int, group: StringName) 🔗
将骨的组设置为bone_idx。
void set_group_name(group_idx: int, group_name: StringName) 🔗
在group_idx处设置组的名称,该组将成为BoneMap编辑器中的绘图组。
void set_handle_offset(bone_idx: int, handle_offset: Vector2) 🔗
在bone_idx处设置骨骼的偏移量,该位置将是BoneMap编辑器中的按钮位置。
这是原点在正方形左上角的偏移量。
void set_reference_pose(bone_idx: int, bone_name: Transform3D) 🔗
设置骨bone_idx的参考姿势变换。
void set_required(bone_idx: int, required: bool) 🔗
将骨bone_idx的所需状态设置为required。
void set_tail_direction(bone_idx: int, tail_direction: TailDirection) 🔗
将骨骼的尾部方向设置为bone_idx。
注意:这只指定了计算的方法。所需的实际坐标应存储在外部骨架中,因此计算本身需要在外部进行。
void set_texture(group_idx: int, texture: Texture2D) 🔗
在group_idx处设置组的纹理,该组将成为BoneMap编辑器中的绘图组背景图像。