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