AnimationNodeStateMachinePlayback
Наследует: Resource < RefCounted < Object
Обеспечивает управление воспроизведением для AnimationNodeStateMachine.
Описание
Позволяет управлять конечными автоматами AnimationTree, созданными с помощью AnimationNodeStateMachine. Извлечь с помощью $AnimationTree.get("parameters/playback").
var state_machine = $AnimationTree.get("parameters/playback")
state_machine.travel("some_state")
var stateMachine = GetNode<AnimationTree>("AnimationTree").Get("parameters/playback").As<AnimationNodeStateMachinePlayback>();
stateMachine.Travel("some_state");
Обучающие материалы
Свойства
resource_local_to_scene |
|
Методы
get_current_length() const |
|
get_current_node() const |
|
get_current_play_position() const |
|
get_fading_from_length() const |
|
get_fading_from_node() const |
|
get_fading_from_play_position() const |
|
get_fading_length() const |
|
get_fading_position() const |
|
get_travel_path() const |
|
is_playing() const |
|
void |
next() |
void |
start(node: StringName, reset: bool = true) |
void |
stop() |
void |
travel(to_node: StringName, reset_on_teleport: bool = true) |
Сигналы
state_finished(state: StringName) 🔗
Генерируется, когда state завершает воспроизведение. Если state — это конечный автомат, установленный в групповой режим, его сигналы передаются с префиксом его имени.
Если используется плавный переход, он срабатывает, когда влияние анимации get_fading_from_node() прекращается.
state_started(state: StringName) 🔗
Генерируется, когда state начинает воспроизведение. Если state — это конечный автомат, установленный в групповой режим, его сигналы передаются с префиксом его имени.
Описания метода
float get_current_length() const 🔗
Возвращает текущую длину состояния.
Примечание: Возможно, что любой AnimationRootNode может быть как узлами, так и анимациями. Это означает, что в одном состоянии может быть несколько анимаций. Какая длина анимации имеет приоритет, зависит от узлов, подключенных внутри него. Кроме того, если переход не сбрасывается, будет возвращена оставшаяся длина в этой точке.
StringName get_current_node() const 🔗
Возвращает текущее состояние воспроизводимой анимации.
Примечание: При использовании кроссфейда текущее состояние меняется на следующее состояние сразу после начала кроссфейда.
float get_current_play_position() const 🔗
Возвращает позицию воспроизведения в текущем состоянии анимации.
float get_fading_from_length() const 🔗
Возвращает длительность состояния воспроизведения узла из get_fading_from_node(). Возвращает 0, если затухание анимации не происходит.
StringName get_fading_from_node() const 🔗
Возвращает начальное состояние текущей затухающей анимации.
float get_fading_from_play_position() const 🔗
Возвращает позицию воспроизведения узла из get_fading_from_node(). Возвращает 0, если анимация затухания не происходит.
float get_fading_length() const 🔗
Возвращает длительность текущей анимации затухания. Возвращает 0, если анимация затухания не выполняется.
float get_fading_position() const 🔗
Возвращает позицию воспроизведения текущей анимации затухания. Возвращает 0, если анимация затухания не выполняется.
Array[StringName] get_travel_path() const 🔗
Возвращает текущий путь перемещения, рассчитанный внутренним алгоритмом A*.
Возвращает true, если анимация воспроизводится.
void next() 🔗
Если есть следующий путь посредством перемещения или автоматического продвижения, немедленно переходит из текущего состояния в следующее состояние.
void start(node: StringName, reset: bool = true) 🔗
Начинает воспроизведение заданной анимации.
Если reset равен true, анимация воспроизводится с начала.
void stop() 🔗
Останавливает текущую анимацию.
void travel(to_node: StringName, reset_on_teleport: bool = true) 🔗
Переход из текущего состояния в другое по кратчайшему пути.
Если путь не соединяется с текущим состоянием, анимация будет воспроизводиться после телепортации состояния.
Если reset_on_teleport равен true, анимация воспроизводится с начала, когда путешествие вызывает телепортацию.