AnimationNodeStateMachineTransition
Успадковує: Resource < RefCounted < Object
Перехід у AnimationNodeStateMachine, що з’єднує два AnimationRootNode.
Опис
Шлях, згенерований при використанні AnimationNodeStateMachinePlayback.travel(), обмежується вузлами, з'єднаними за допомогою AnimationNodeStateMachineTransition.
Ви можете детально задати час та умови переходу.
Посібники
Властивості
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
Сигнали
advance_condition_changed() 🔗
Випромінюється, коли змінюється advance_condition.
Переліки
enum SwitchMode: 🔗
SwitchMode SWITCH_MODE_IMMEDIATE = 0
Негайно перейти до наступного стану. Поточний стан завершиться і змішається з початком нового.
SwitchMode SWITCH_MODE_SYNC = 1
Перехід до наступного стану відбувається негайно, але новий стан буде шукати позицію відтворення старого стану.
SwitchMode SWITCH_MODE_AT_END = 2
Дочекатися завершення відтворення поточного стану, а потім перейти до початку анімації наступного стану.
enum AdvanceMode: 🔗
AdvanceMode ADVANCE_MODE_DISABLED = 0
Не використовувати цей перехід.
AdvanceMode ADVANCE_MODE_ENABLED = 1
Використовувати цей перехід лише під час AnimationNodeStateMachinePlayback.travel().
AdvanceMode ADVANCE_MODE_AUTO = 2
Автоматично використовувати цей перехід, якщо перевірки advance_condition і advance_expression мають значення true (якщо призначено).
Описи властивостей
StringName advance_condition = &"" 🔗
void set_advance_condition(value: StringName)
StringName get_advance_condition()
Вмикає автоматичний перехід при виконанні цієї умови. Введене ім'я стане логічним параметром у AnimationTree, яким можна керувати з коду (див. Використання Дерева Анімації). Для прикладу, якщо AnimationTree.tree_root є AnimationNodeStateMachine і advance_condition виставлено на "idle":
$animation_tree.set("parameters/conditions/idle", is_on_floor and (linear_velocity.x == 0))
GetNode<AnimationTree>("animation_tree").Set("parameters/conditions/idle", IsOnFloor && (LinearVelocity.X == 0));
String advance_expression = "" 🔗
Використовуйте вираз як умову для переходів машини станів. Можна створювати складні анімаційні умови переходу між станами, що дає набагато більшу гнучкість у створенні складних машин станів, безпосередньо взаємодіючи з кодом скрипту.
AdvanceMode advance_mode = 1 🔗
void set_advance_mode(value: AdvanceMode)
AdvanceMode get_advance_mode()
Визначає, чи слід вимкнути перехід, увімкнути його під час використання AnimationNodeStateMachinePlayback.travel() або обійти автоматично, якщо перевірки advance_condition і advance_expression мають значення true (якщо призначено).
bool break_loop_at_end = false 🔗
Якщо true, розриває цикл у кінці циклу цикла для переходу, навіть якщо анімація повторюється.
Переходи з нижчим пріоритетом є кращими, якщо переходити по дереву за допомогою AnimationNodeStateMachinePlayback.travel() або advance_mode встановлено на ADVANCE_MODE_AUTO.
Якщо true, то цільова анімація, після перемикання, відтворюється з початку.
SwitchMode switch_mode = 0 🔗
void set_switch_mode(value: SwitchMode)
SwitchMode get_switch_mode()
Тип переходу.
Крива полегшення для кращого контролю над затуханням між цим станом і наступним. Має бути одиницею Curve.
Час переходу між цим станом і наступним.
Примітка: AnimationNodeStateMachine переносить поточний стан одразу після початку затухання. Точний час, що залишився, можна визначити лише за основною анімацією. Коли AnimationNodeOutput вважається найвищим потоком, тому xfade_time не масштабується залежно від дельти низхідного потоку. Дивіться також AnimationNodeOneShot.fadeout_time.