Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
AnimationNodeStateMachineTransition
Успадковує: Resource < RefCounted < Object
Перехід у AnimationNodeStateMachine, що з’єднує два AnimationRootNode.
Опис
Шлях, згенерований при використанні AnimationNodeStateMachinePlayback.travel(), обмежується вузлами, з'єднаними за допомогою AnimationNodeStateMachineTransition.
Ви можете детально задати час та умови переходу.
Посібники
Властивості
StringName |
|
|
String |
|
|
|
||
|
||
|
||
|
||
|
||
|
Сигнали
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 = "" 🔗
void set_advance_expression(value: String)
String get_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.