AnimationNodeStateMachinePlayback
Управляет экземпляром машины состояний AnimationTree.
Получите объект через путь parameters/.../playback своего дерева. Start() запрашивает прямой старт, Travel() — путь по переходам с возможным прямым переходом при отсутствии маршрута. Изменение применяется при обработке дерева.
Не создавайте новый playback вместо получения параметра действующего дерева. Ресурс графа может быть общим, а этот объект хранит состояние экземпляра.
Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.
Конструкторы1
AnimationNodeStateMachinePlaybackКонструктор
public AnimationNodeStateMachinePlayback();Методы14
GetCurrentLengthfloat
public float GetCurrentLength();Возвращает текущую длину состояния.
Примечание: Возможно, что любой AnimationRootNode может быть как узлами, так и анимациями. Это означает, что в одном состоянии может быть несколько анимаций. Какая длина анимации имеет приоритет, зависит от узлов, подключенных внутри него. Кроме того, если переход не сбрасывается, будет возвращена оставшаяся длина в этой точке.
floatGetCurrentNodeStringName
public StringName GetCurrentNode();Имя текущего состояния после последней обработки. Это элемент графа, не Entity дерева игры. После Start()/Travel() значение не обязано измениться синхронно с вызовом; дождитесь шага AnimationTree.
StringNameGetCurrentPlayPositionfloat
public float GetCurrentPlayPosition();Возвращает позицию воспроизведения в текущем состоянии анимации.
floatGetFadingFromLengthfloat
public float GetFadingFromLength();Возвращает длительность состояния воспроизведения узла из AnimationNodeStateMachinePlayback.GetFadingFromNode. Возвращает 0, если затухание анимации не происходит.
floatGetFadingFromNodeStringName
public StringName GetFadingFromNode();Возвращает начальное состояние текущей затухающей анимации.
StringNameGetFadingFromPlayPositionfloat
public float GetFadingFromPlayPosition();Возвращает позицию воспроизведения узла из AnimationNodeStateMachinePlayback.GetFadingFromNode. Возвращает 0, если анимация затухания не происходит.
floatGetFadingLengthfloat
public float GetFadingLength();Возвращает длительность текущей анимации затухания. Возвращает 0, если анимация затухания не выполняется.
floatGetFadingPositionfloat
public float GetFadingPosition();Возвращает позицию воспроизведения текущей анимации затухания. Возвращает 0, если анимация затухания не выполняется.
floatGetTravelPathReckfell.Collections.Array<StringName>
public Reckfell.Collections.Array<StringName> GetTravelPath();Возвращает текущий путь перемещения, рассчитанный внутренним алгоритмом A*.
Reckfell.Collections.Array<StringName>IsPlayingbool
public bool IsPlaying();Возвращает true, если анимация воспроизводится.
boolNextvoid
public void Next();Если есть следующий путь посредством перемещения или автоматического продвижения, немедленно переходит из текущего состояния в следующее состояние.
Startvoid
public void Start(StringName node, bool reset = true);Запрашивает прямой старт состояния без поиска маршрута. reset управляет сбросом времени. Дерево применяет запрос при обработке, поэтому немедленный GetCurrentNode() может ещё показывать прежнее состояние.
| Имя | Тип | По умолчанию |
|---|---|---|
node | StringName | — |
reset | bool | true |
Stopvoid
public void Stop();Останавливает текущую анимацию.
Travelvoid
public void Travel(StringName toNode, bool resetOnTeleport = true);Запрашивает переход к состоянию по разрешённым связям графа; результат появляется при обработке дерева. Если путь не найден, возможен прямой переход к цели со сбросом согласно resetOnTeleport. Не используйте Travel() для проверки допустимости игрового действия.
| Имя | Тип | По умолчанию |
|---|---|---|
toNode | StringName | — |
resetOnTeleport | bool | true |
Сигналы и события2
StateFinishedСобытие
public event AnimationNodeStateMachinePlayback.StateFinishedEventHandler StateFinished;Генерируется, когда state завершает воспроизведение. Если state — это конечный автомат, установленный в групповой режим, его сигналы передаются с префиксом его имени.
Если используется плавный переход, он срабатывает, когда влияние анимации AnimationNodeStateMachinePlayback.GetFadingFromNode прекращается.
| Имя | Тип | По умолчанию |
|---|---|---|
state | StringName | — |
StateStartedСобытие
public event AnimationNodeStateMachinePlayback.StateStartedEventHandler StateStarted;Генерируется, когда state начинает воспроизведение. Если state — это конечный автомат, установленный в групповой режим, его сигналы передаются с префиксом его имени.
| Имя | Тип | По умолчанию |
|---|---|---|
state | StringName | — |