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...
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, анимация воспроизводится с начала, когда путешествие вызывает телепортацию.