AnimationNodeTransition
Наследует: AnimationNodeSync < AnimationNode < Resource < RefCounted < Object
Переход внутри AnimationTree, соединяющий две AnimationNode-ы.
Описание
Простой конечный автомат для случаев, не требующих более продвинутого AnimationNodeStateMachine. Анимации можно подключать к входам и можно указывать время перехода.
После установки запроса и изменения воспроизведения анимации узел перехода автоматически очищает запрос на следующем кадре процесса, устанавливая его значение transition_request пустым.
Примечание: При использовании кросс-фейда current_state и current_index изменяются на следующее состояние сразу после начала кросс-фейда.
# Воспроизвести дочернюю анимацию, подключенную к порту «state_2».
animation_tree.set("parameters/Transition/transition_request", "state_2")
# Альтернативный синтаксис (тот же результат, что и выше).
animation_tree["parameters/Transition/transition_request"] = "state_2"
# Получить название текущего состояния (только для чтения).
animation_tree.get("parameters/Transition/current_state")
# Альтернативный синтаксис (тот же результат, что и выше).
animation_tree["parameters/Transition/current_state"]
# Получить текущий индекс состояния (только для чтения).
animation_tree.get("parameters/Transition/current_index")
# Альтернативный синтаксис (тот же результат, что и выше).
animation_tree["parameters/Transition/current_index"]
// Воспроизвести дочернюю анимацию, подключенную к порту «state_2».
animationTree.Set("parameters/Transition/transition_request", "state_2");
// Получить название текущего состояния (только для чтения).
animationTree.Get("parameters/Transition/current_state");
// Получить текущий индекс состояния (только для чтения).
animationTree.Get("parameters/Transition/current_index");
Обучающие материалы
Свойства
|
||
|
||
|
Методы
is_input_loop_broken_at_end(input: int) const |
|
is_input_reset(input: int) const |
|
is_input_set_as_auto_advance(input: int) const |
|
void |
set_input_as_auto_advance(input: int, enable: bool) |
void |
set_input_break_loop_at_end(input: int, enable: bool) |
void |
set_input_reset(input: int, enable: bool) |
Описания свойств
bool allow_transition_to_self = false 🔗
Если true, разрешает переход в состояние self. Когда опция сброса включена во входных данных, анимация перезапускается. Если false, при переходе в состояние self ничего не происходит.
Количество включенных входных портов для этого узла анимации.
Определяет, как плавно смягчается перекрестное затухание между анимациями. Если пусто, переход будет линейным. Должен быть единицей Curve.
Время кросс-фейдинга (в секундах) между каждой анимацией, подключенной к входам.
Примечание: AnimationNodeTransition переходит в текущее состояние сразу после начала затухания. Точное оставшееся время можно вывести только из основной анимации. Когда AnimationNodeOutput считается самым верхним по потоку, то xfade_time не масштабируется в зависимости от дельты нижнего потока. См. также AnimationNodeOneShot.fadeout_time.
Описания метода
bool is_input_loop_broken_at_end(input: int) const 🔗
Возвращает, прерывает ли анимация цикл в конце цикла для перехода.
bool is_input_reset(input: int) const 🔗
Возвращает, перезапускается ли анимация при переходе от одной анимации к другой.
bool is_input_set_as_auto_advance(input: int) const 🔗
Возвращает true, если для указанного индекса input включен авто-переход.
void set_input_as_auto_advance(input: int, enable: bool) 🔗
Включает или отключает автоматическое продвижение для заданного индекса input. Если включено, состояние изменяется на следующий ввод после однократного воспроизведения анимации. Если включено для последнего состояния ввода, оно циклически возвращается к первому.
void set_input_break_loop_at_end(input: int, enable: bool) 🔗
Если true, прерывает цикл в конце цикла перехода, даже если анимация зациклена.
void set_input_reset(input: int, enable: bool) 🔗
Если true, анимация назначения перезапускается при переходе анимации.