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