AnimationNodeOneShot
Наследует: AnimationNodeSync < AnimationNode < Resource < RefCounted < Object
Воспроизводит анимацию один раз в AnimationNodeBlendTree.
Описание
Ресурс для добавления в AnimationNodeBlendTree. Этот узел анимации выполнит поданимацию и вернется после ее завершения. Можно настроить время смешивания для появления и исчезновения, а также фильтры.
После установки запроса и изменения воспроизведения анимации узел one-shot автоматически очищает запрос на следующем кадре процесса, устанавливая его значение request на ONE_SHOT_REQUEST_NONE.
# Воспроизвести дочернюю анимацию, подключенную к порту "shot".
animation_tree.set("parameters/OneShot/request", AnimationNodeOneShot.ONE_SHOT_REQUEST_FIRE)
Альтернативный синтаксис (тот же результат, что и выше).
animation_tree["parameters/OneShot/request"] = AnimationNodeOneShot.ONE_SHOT_REQUEST_FIRE
# Прервать дочернюю анимацию, подключенную к порту «выстрел».
animation_tree.set("parameters/OneShot/request", AnimationNodeOneShot.ONE_SHOT_REQUEST_ABORT)
# Альтернативный синтаксис (тот же результат, что и выше).
animation_tree["parameters/OneShot/request"] = AnimationNodeOneShot.ONE_SHOT_REQUEST_ABORT
# Отменить дочернюю анимацию с затуханием, подключенным к порту «выстрел».
animation_tree.set("parameters/OneShot/request", AnimationNodeOneShot.ONE_SHOT_REQUEST_FADE_OUT)
# Альтернативный синтаксис (тот же результат, что и выше).
animation_tree["parameters/OneShot/request"] = AnimationNodeOneShot.ONE_SHOT_REQUEST_FADE_OUT
# Получить текущее состояние (только чтение).
animation_tree.get("parameters/OneShot/active")
# Альтернативный синтаксис (тот же результат, что и выше).
animation_tree["parameters/OneShot/active"]
# Получить текущее внутреннее состояние (только для чтения).
animation_tree.get("parameters/OneShot/internal_active")
# Альтернативный синтаксис (тот же результат, что и выше).
animation_tree["parameters/OneShot/internal_active"]
// Воспроизвести дочернюю анимацию, подключенную к порту «выстрел».
animationTree.Set("parameters/OneShot/request", (int)AnimationNodeOneShot.OneShotRequest.Fire);
//Прервать дочернюю анимацию, подключенную к порту «shot».
animationTree.Set("parameters/OneShot/request", (int)AnimationNodeOneShot.OneShotRequest.Abort);
// Прервать дочернюю анимацию с затуханием, подключенную к порту «shot».
animationTree.Set("parameters/OneShot/request", (int)AnimationNodeOneShot.OneShotRequest.FadeOut);
// Получить текущее состояние (только чтение).
animationTree.Get("parameters/OneShot/active");
// Получить текущее внутреннее состояние (только для чтения).
animationTree.Get("parameters/OneShot/internal_active");
Обучающие материалы
Свойства
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
Перечисления
enum OneShotRequest: 🔗
OneShotRequest ONE_SHOT_REQUEST_NONE = 0
Состояние запроса по умолчанию. Ничего не сделано.
OneShotRequest ONE_SHOT_REQUEST_FIRE = 1
Запрос на воспроизведение анимации подключен к порту "shot".
OneShotRequest ONE_SHOT_REQUEST_ABORT = 2
Запрос на остановку анимации подключен к порту "shot".
OneShotRequest ONE_SHOT_REQUEST_FADE_OUT = 3
Запрос на затухание анимации, подключенной к порту "shot".
enum MixMode: 🔗
MixMode MIX_MODE_BLEND = 0
Смешивает две анимации. См. также AnimationNodeBlend2.
MixMode MIX_MODE_ADD = 1
Смешивает две анимации аддитивно. См. также AnimationNodeAdd2.
Описания свойств
Если true, то при возобновлении анимации с перезагрузкой после предыдущего прерывания, она будет прервана.
Если true, суб-анимация автоматически перезапустится после завершения.
Другими словами, чтобы начать автоматический перезапуск, анимация должна быть воспроизведена один раз с запросом ONE_SHOT_REQUEST_FIRE. Запрос ONE_SHOT_REQUEST_ABORT останавливает автоматический перезапуск, но он не отключает сам autorestart. Таким образом, запрос ONE_SHOT_REQUEST_FIRE снова запустит автоматический перезапуск.
float autorestart_delay = 1.0 🔗
Задержка, после которой срабатывает автоматический перезапуск, в секундах.
float autorestart_random_delay = 0.0 🔗
Если autorestart имеет значение true, к autorestart_delay будет добавлена случайная дополнительная задержка (в секундах) между 0 и этим значением.
bool break_loop_at_end = false 🔗
Если true, прерывает цикл в конце цикла перехода, даже если анимация зациклена.
Определяет, как плавно смягчается перекрестное затухание между анимациями. Если пусто, переход будет линейным. Должен быть единицей Curve.
Длительность начального затухания. Например, если задать значение 1.0 для анимации длиной 5 секунд, то будет создано перекрестное затухание, которое начинается с 0 секунды и заканчивается на 1 секунде во время анимации.
Примечание: AnimationNodeOneShot переводит текущее состояние после завершения затухания.
Определяет, как плавно смягчается перекрестное затухание между анимациями. Если пусто, переход будет линейным. Должен быть единицей Curve.
Длительность конечного затухания. Например, если задать значение 1.0 для анимации длиной 5 секунд, то будет создано перекрестное затухание, которое начинается на 4 секунде и заканчивается на 5 секунде во время анимации.
Примечание: AnimationNodeOneShot переводит текущее состояние после завершения затухания.
Тип смешивания.