Skeleton2D

继承: Node2D < CanvasItem < Node < Object

Bone2D 层级结构的父节点,用于创建 2D 骨骼动画。

描述

Skeleton2DBone2D 节点层级结构的父节点,持有对每个 Bone2D 的放松姿势的引用,充当其骨骼的单一访问点。

要为给定的 Skeleton2D 设置不同类型的反向运动学机制,应当创建一个 SkeletonModificationStack2D。增加 SkeletonModificationStack2D.modification_count 并创建所需数量的修改器即可应用反向运动学机制。

教程

方法

void

execute_modifications(delta: float, execution_mode: int)

Bone2D

get_bone(idx: int)

int

get_bone_count() const

Transform2D

get_bone_local_pose_override(bone_idx: int)

SkeletonModificationStack2D

get_modification_stack() const

RID

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,则执行其中的所有修改。


Bone2D get_bone(idx: int) 🔗

从由 Skeleton2D 为父节点的节点层次结构中返回 Bone2D。要返回的对象由参数 idx 标识。骨骼通过从上到下降低节点层次结构来索引,在移动到下一个兄弟节点之前添加每个分支的子节点。


int get_bone_count() const 🔗

返回由 Skeleton2D 为父节点的节点层次结构中 Bone2D 节点的数量。


Transform2D get_bone_local_pose_override(bone_idx: int) 🔗

返回骨骼 bone_idx 的局部姿势覆盖变换。


SkeletonModificationStack2D get_modification_stack() const 🔗

如果存在,则返回附加到此骨架的 SkeletonModificationStack2D


RID get_skeleton() const 🔗

返回 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