reckfellENGINE

AnimationNodeStateMachinePlayback

Управляет экземпляром машины состояний AnimationTree.

На этой странице
class AnimationNodeStateMachinePlaybackReckfellSharpНаследует Resource

Получите объект через путь parameters/.../playback своего дерева. Start() запрашивает прямой старт, Travel() — путь по переходам с возможным прямым переходом при отсутствии маршрута. Изменение применяется при обработке дерева.

Не создавайте новый playback вместо получения параметра действующего дерева. Ресурс графа может быть общим, а этот объект хранит состояние экземпляра.

Полный пример состояний

Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.

Конструкторы1

AnimationNodeStateMachinePlaybackКонструктор
# AnimationNodeStateMachinePlayback
C#
public AnimationNodeStateMachinePlayback();

Методы14

GetCurrentLengthfloat
# GetCurrentLength
C#
public float GetCurrentLength();

Возвращает текущую длину состояния. Примечание: Возможно, что любой AnimationRootNode может быть как узлами, так и анимациями. Это означает, что в одном состоянии может быть несколько анимаций. Какая длина анимации имеет приоритет, зависит от узлов, подключенных внутри него. Кроме того, если переход не сбрасывается, будет возвращена оставшаяся длина в этой точке.

Возвращает float
GetCurrentNodeStringName
# GetCurrentNode
C#
public StringName GetCurrentNode();

Имя текущего состояния после последней обработки. Это элемент графа, не Entity дерева игры. После Start()/Travel() значение не обязано измениться синхронно с вызовом; дождитесь шага AnimationTree.

Возвращает StringName
GetCurrentPlayPositionfloat
# GetCurrentPlayPosition
C#
public float GetCurrentPlayPosition();

Возвращает позицию воспроизведения в текущем состоянии анимации.

Возвращает float
GetFadingFromLengthfloat
# GetFadingFromLength
C#
public float GetFadingFromLength();

Возвращает длительность состояния воспроизведения узла из AnimationNodeStateMachinePlayback.GetFadingFromNode. Возвращает 0, если затухание анимации не происходит.

Возвращает float
GetFadingFromNodeStringName
# GetFadingFromNode
C#
public StringName GetFadingFromNode();

Возвращает начальное состояние текущей затухающей анимации.

Возвращает StringName
GetFadingFromPlayPositionfloat
# GetFadingFromPlayPosition
C#
public float GetFadingFromPlayPosition();

Возвращает позицию воспроизведения узла из AnimationNodeStateMachinePlayback.GetFadingFromNode. Возвращает 0, если анимация затухания не происходит.

Возвращает float
GetFadingLengthfloat
# GetFadingLength
C#
public float GetFadingLength();

Возвращает длительность текущей анимации затухания. Возвращает 0, если анимация затухания не выполняется.

Возвращает float
GetFadingPositionfloat
# GetFadingPosition
C#
public float GetFadingPosition();

Возвращает позицию воспроизведения текущей анимации затухания. Возвращает 0, если анимация затухания не выполняется.

Возвращает float
GetTravelPathReckfell.Collections.Array<StringName>
# GetTravelPath
C#
public Reckfell.Collections.Array<StringName> GetTravelPath();

Возвращает текущий путь перемещения, рассчитанный внутренним алгоритмом A*.

Возвращает Reckfell.Collections.Array<StringName>
IsPlayingbool
# IsPlaying
C#
public bool IsPlaying();

Возвращает true, если анимация воспроизводится.

Возвращает bool
Nextvoid
# Next
C#
public void Next();

Если есть следующий путь посредством перемещения или автоматического продвижения, немедленно переходит из текущего состояния в следующее состояние.

Startvoid
# Start
C#
public void Start(StringName node, bool reset = true);

Запрашивает прямой старт состояния без поиска маршрута. reset управляет сбросом времени. Дерево применяет запрос при обработке, поэтому немедленный GetCurrentNode() может ещё показывать прежнее состояние.

Параметры
ИмяТипПо умолчанию
nodeStringName—
resetbooltrue
Stopvoid
# Stop
C#
public void Stop();

Останавливает текущую анимацию.

Travelvoid
# Travel
C#
public void Travel(StringName toNode, bool resetOnTeleport = true);

Запрашивает переход к состоянию по разрешённым связям графа; результат появляется при обработке дерева. Если путь не найден, возможен прямой переход к цели со сбросом согласно resetOnTeleport. Не используйте Travel() для проверки допустимости игрового действия.

Параметры
ИмяТипПо умолчанию
toNodeStringName—
resetOnTeleportbooltrue

Сигналы и события2

StateFinishedСобытие
# StateFinished
C#
public event AnimationNodeStateMachinePlayback.StateFinishedEventHandler StateFinished;

Генерируется, когда state завершает воспроизведение. Если state — это конечный автомат, установленный в групповой режим, его сигналы передаются с префиксом его имени. Если используется плавный переход, он срабатывает, когда влияние анимации AnimationNodeStateMachinePlayback.GetFadingFromNode прекращается.

Параметры обработчика
ИмяТипПо умолчанию
stateStringName—
StateStartedСобытие
# StateStarted
C#
public event AnimationNodeStateMachinePlayback.StateStartedEventHandler StateStarted;

Генерируется, когда state начинает воспроизведение. Если state — это конечный автомат, установленный в групповой режим, его сигналы передаются с префиксом его имени.

Параметры обработчика
ИмяТипПо умолчанию
stateStringName—
Документация Reckfell EngineНаверх ↑
БЫСТРЫЙ ПЕРЕХОДНачало работыEntity и иерархияC# & .NET 10Сцены и префабы
Руководства и полный API Reckfell K
reckfellENGINE
RECKFELL ACCOUNT

Вход в аккаунт

Войдите в аккаунт Reckfell.

Один аккаунт для всей платформы Reckfell.