Skeleton2D

Наследует: Node2D < CanvasItem < Node < Object

Родительский элемент иерархии Bone2D, используемый для создания 2D-скелетной анимации.

Описание

Skeleton2D является родителем иерархии узлов Bone2D. Он содержит ссылку на позу покоя каждого 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) 🔗

Выполняет все изменения в SkeletonModificationStack2D, если они назначены Skeleton2D.


Bone2D get_bone(idx: int) 🔗

Возвращает Bone2D из иерархии узлов, родительской для Skeleton2D. Возвращаемый объект идентифицируется параметром idx. Кости индексируются путем спуска по иерархии узлов сверху вниз, добавляя потомков каждой ветви перед переходом к следующему сестринскому элементу.


int get_bone_count() const 🔗

Возвращает количество узлов Bone2D в иерархии узлов, являющихся родительскими для Skeleton2D.


Transform2D get_bone_local_pose_override(bone_idx: int) 🔗

Возвращает локальное преобразование переопределения позы для bone_idx.


SkeletonModificationStack2D get_modification_stack() const 🔗

Возвращает SkeletonModificationStack2D, прикрепленный к данному скелету, если таковой существует.


RID get_skeleton() const 🔗

Возвращает RID экземпляра Skeleton2D.


void set_bone_local_pose_override(bone_idx: int, override_pose: Transform2D, strength: float, persistent: bool) 🔗

Устанавливает локальное преобразование позы, override_pose, для кости в bone_idx.

strength — это сила интерполяции, которая будет использоваться при применении позы, а persistent определяет, останется ли примененная поза.

Примечание: Преобразование позы должно быть локальным преобразованием относительно узла Bone2D в bone_idx!


void set_modification_stack(modification_stack: SkeletonModificationStack2D) 🔗

Устанавливает SkeletonModificationStack2D, прикрепленный к этому скелету.