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"]

Обучающие материалы

Свойства

bool

abort_on_reset

false

bool

autorestart

false

float

autorestart_delay

1.0

float

autorestart_random_delay

0.0

bool

break_loop_at_end

false

Curve

fadein_curve

float

fadein_time

0.0

Curve

fadeout_curve

float

fadeout_time

0.0

MixMode

mix_mode

0


Перечисления

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.


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

bool abort_on_reset = false 🔗

  • void set_abort_on_reset(value: bool)

  • bool is_aborted_on_reset()

Если true, то при возобновлении анимации с перезагрузкой после предыдущего прерывания, она будет прервана.


bool autorestart = false 🔗

  • void set_autorestart(value: bool)

  • bool has_autorestart()

Если true, суб-анимация автоматически перезапустится после завершения.

Другими словами, чтобы начать автоматический перезапуск, анимация должна быть воспроизведена один раз с запросом ONE_SHOT_REQUEST_FIRE. Запрос ONE_SHOT_REQUEST_ABORT останавливает автоматический перезапуск, но он не отключает сам autorestart. Таким образом, запрос ONE_SHOT_REQUEST_FIRE снова запустит автоматический перезапуск.


float autorestart_delay = 1.0 🔗

  • void set_autorestart_delay(value: float)

  • float get_autorestart_delay()

Задержка, после которой срабатывает автоматический перезапуск, в секундах.


float autorestart_random_delay = 0.0 🔗

  • void set_autorestart_random_delay(value: float)

  • float get_autorestart_random_delay()

Если autorestart имеет значение true, к autorestart_delay будет добавлена случайная дополнительная задержка (в секундах) между 0 и этим значением.


bool break_loop_at_end = false 🔗

  • void set_break_loop_at_end(value: bool)

  • bool is_loop_broken_at_end()

Если true, прерывает цикл в конце цикла перехода, даже если анимация зациклена.


Curve fadein_curve 🔗

  • void set_fadein_curve(value: Curve)

  • Curve get_fadein_curve()

Определяет, как плавно смягчается перекрестное затухание между анимациями. Если пусто, переход будет линейным. Должен быть единицей Curve.


float fadein_time = 0.0 🔗

  • void set_fadein_time(value: float)

  • float get_fadein_time()

Длительность начального затухания. Например, если задать значение 1.0 для анимации длиной 5 секунд, то будет создано перекрестное затухание, которое начинается с 0 секунды и заканчивается на 1 секунде во время анимации.

Примечание: AnimationNodeOneShot переводит текущее состояние после завершения затухания.


Curve fadeout_curve 🔗

  • void set_fadeout_curve(value: Curve)

  • Curve get_fadeout_curve()

Определяет, как плавно смягчается перекрестное затухание между анимациями. Если пусто, переход будет линейным. Должен быть единицей Curve.


float fadeout_time = 0.0 🔗

  • void set_fadeout_time(value: float)

  • float get_fadeout_time()

Длительность конечного затухания. Например, если задать значение 1.0 для анимации длиной 5 секунд, то будет создано перекрестное затухание, которое начинается на 4 секунде и заканчивается на 5 секунде во время анимации.

Примечание: AnimationNodeOneShot переводит текущее состояние после завершения затухания.


MixMode mix_mode = 0 🔗

Тип смешивания.