Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
Skeleton2D¶
继承: Node2D < CanvasItem < Node < Object
Bone2D 层级结构的父节点,用于创建 2D 骨骼动画。
描述¶
Skeleton2D 是 Bone2D 节点层级结构的父节点,持有对每个 Bone2D 的放松姿势的引用,充当其骨骼的单一访问点。
要为给定的 Skeleton2D 设置不同类型的反向运动学机制,应当创建一个 SkeletonModificationStack2D。增加 SkeletonModificationStack2D.modification_count 并创建所需数量的修改器即可应用反向运动学机制。
教程¶
方法¶
void |
execute_modifications ( float delta, int execution_mode ) |
get_bone_count ( ) const |
|
get_bone_local_pose_override ( int bone_idx ) |
|
get_modification_stack ( ) const |
|
get_skeleton ( ) const |
|
void |
set_bone_local_pose_override ( int bone_idx, Transform2D override_pose, float strength, bool persistent ) |
void |
set_modification_stack ( SkeletonModificationStack2D modification_stack ) |
信号¶
bone_setup_changed ( )
当附加到该骨架的 Bone2D 设置更改时发出。这主要在骨架内部使用。
方法说明¶
void execute_modifications ( float delta, int execution_mode )
如果该 Skeleton2D 分配有 SkeletonModificationStack2D,则执行其中的所有修改。
从由 Skeleton2D 为父节点的节点层次结构中返回 Bone2D。要返回的对象由参数 idx
标识。骨骼通过从上到下降低节点层次结构来索引,在移动到下一个兄弟节点之前添加每个分支的子节点。
int get_bone_count ( ) const
返回由 Skeleton2D 为父节点的节点层次结构中 Bone2D 节点的数量。
Transform2D get_bone_local_pose_override ( int bone_idx )
返回骨骼 bone_idx
的局部姿势覆盖变换。
SkeletonModificationStack2D get_modification_stack ( ) const
如果存在,则返回附加到此骨架的 SkeletonModificationStack2D。
RID get_skeleton ( ) const
返回 Skeleton2D 实例的 RID。
void set_bone_local_pose_override ( int bone_idx, Transform2D override_pose, float strength, bool persistent )
为 bone_idx
处的骨骼设置局部姿势变换 override_pose
。
strength
是应用姿势时将使用的插值强度,persistent
决定是否会保持应用的姿势。
注意:姿势变换需要是相对于 bone_idx
处的 Bone2D 节点的局部变换!
void set_modification_stack ( SkeletonModificationStack2D modification_stack )
设置附加到此骨架的 SkeletonModificationStack2D。