SkeletonModificationStack2D

Экспериментальное: This class may be changed or removed in future versions.

Наследует: Resource < RefCounted < Object

Ресурс, содержащий стек SkeletonModification2D.

Описание

Этот ресурс используется Скелетом и содержит стек SkeletonModification2D.

Он управляет порядком модификаций и тем, как они применяются. Порядок модификаций особенно важен для настроек IK всего тела, так как вам нужно выполнить модификации в правильном порядке, чтобы получить желаемые результаты. Например, вы хотите выполнить модификацию позвоночника перед руками гуманоидного скелета.

Этот ресурс также управляет тем, насколько сильно все модификации применяются к Skeleton2D.

Свойства

bool

enabled

false

int

modification_count

0

float

strength

1.0

Методы

void

add_modification(modification: SkeletonModification2D)

void

delete_modification(mod_idx: int)

void

enable_all_modifications(enabled: bool)

void

execute(delta: float, execution_mode: int)

bool

get_is_setup() const

SkeletonModification2D

get_modification(mod_idx: int) const

Skeleton2D

get_skeleton() const

void

set_modification(mod_idx: int, modification: SkeletonModification2D)

void

setup()


Описания свойств

bool enabled = false 🔗

  • void set_enabled(value: bool)

  • bool get_enabled()

Если true, то будут вызваны модификации в стеке. Это обрабатывается автоматически через узел Skeleton2D.


int modification_count = 0 🔗

  • void set_modification_count(value: int)

  • int get_modification_count()

Количество модификаций в стеке.


float strength = 1.0 🔗

  • void set_strength(value: float)

  • float get_strength()

Сила интерполяции модификаций в стеке. Значение 0 сделает так, что модификации не будут применены, сила 0.5 будет применена наполовину, а сила 1 позволит модификациям быть примененными полностью и переопределить позы Skeleton2D Bone2D.


Описания метода

void add_modification(modification: SkeletonModification2D) 🔗

Добавляет переданный SkeletonModification2D в стек.


void delete_modification(mod_idx: int) 🔗

Удаляет SkeletonModification2D в позиции индекса mod_idx, если он существует.


void enable_all_modifications(enabled: bool) 🔗

Включает все SkeletonModification2D в стеке.


void execute(delta: float, execution_mode: int) 🔗

Выполняет все SkeletonModification2D в стеке, которые используют тот же режим выполнения, что и переданный execution_mode, начиная с индекса 0 до modification_count.

Примечание: Порядок модификаций может иметь значение в зависимости от модификаций. Например, модификации позвоночника должны выполняться до модификаций рук, чтобы получить правильные результаты.


bool get_is_setup() const 🔗

Возвращает логическое значение, указывающее, настроен ли стек модификации и может ли он быть выполнен.


SkeletonModification2D get_modification(mod_idx: int) const 🔗

Возвращает SkeletonModification2D по переданному индексу mod_idx.


Skeleton2D get_skeleton() const 🔗

Возвращает узел Skeleton2D, к которому привязан SkeletonModificationStack2D.


void set_modification(mod_idx: int, modification: SkeletonModification2D) 🔗

Устанавливает модификацию в mod_idx на переданную модификацию modification.


void setup() 🔗

Настраивает стек модификации, чтобы он мог выполняться. Эта функция должна вызываться Skeleton2D и не должна вызываться вручную, если вы не знаете, что делаете.