reckfellENGINE

AnimationNodeStateMachine

Конечный автомат с несколькими AnimationRootNode, используемый AnimationTree.

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

Конечный автомат с несколькими AnimationRootNode, используемый AnimationTree.

Содержит несколько AnimationRootNode, представляющих состояния анимации, соединенные в граф. Переходы состояний можно настроить так, чтобы они происходили автоматически или через код, используя алгоритм кратчайшего пути. Извлеките объект AnimationNodeStateMachinePlayback из узла AnimationTree, чтобы управлять им программно.

C#
var stateMachine = GetNode<AnimationTree>("AnimationTree").Get("parameters/playback") as AnimationNodeStateMachinePlayback;
stateMachine.Travel("some_state");

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

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

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

Свойства3

AllowTransitionToSelfСвойство
# AllowTransitionToSelf
C#
public bool AllowTransitionToSelf { get; set; }

Если true, разрешает телепортацию в собственное состояние с помощью AnimationNodeStateMachinePlayback.Travel. Когда опция сброса включена в AnimationNodeStateMachinePlayback.Travel, анимация перезапускается. Если false, при телепортации в собственное состояние ничего не происходит.

ResetEndsСвойство
# ResetEnds
C#
public bool ResetEnds { get; set; }

Если true, обрабатывайте кроссфейд (cross-fade) к начальному и конечному узлам как смешение с анимацией RESET. В большинстве случаев, когда дополнительные кроссфейды выполняются в родительском AnimationNode конечного автомата, установка этого свойства в false и сопоставление времени кроссфейда родительского AnimationNode и начального и конечного узлов конечного автомата дает хорошие результаты.

##= State_machine_тип

StateMachineTypeСвойство
# StateMachineType
C#
public AnimationNodeStateMachine.StateMachineTypeEnum StateMachineType { get; set; }

Это свойство может определять процесс переходов для различных вариантов использования. См. также AnimationNodeStateMachine.StateMachineTypeEnum.

Методы26

AddNodevoid
# AddNode
C#
public void AddNode(StringName name, AnimationNode node, Vector2? position = default);

Добавить новый анимационный узел к графику. position используется для отображения в редакторе.

Параметры
ИмяТипПо умолчанию
nameStringName—
nodeAnimationNode—
positionVector2?default
position

Если параметр не имеет значения, то значение по умолчанию: new Vector2(0.0f, 0.0f).

AddTransitionvoid
# AddTransition
C#
public void AddTransition(StringName from, StringName to, AnimationNodeStateMachineTransition transition);

Добавляет переход между заданными узлами анимации.

Параметры
ИмяТипПо умолчанию
fromStringName—
toStringName—
transitionAnimationNodeStateMachineTransition—
AreEndsResetbool
# AreEndsReset
C#
public bool AreEndsReset();
Возвращает bool
GetGraphOffsetVector2
# GetGraphOffset
C#
public Vector2 GetGraphOffset();

Возвращает смещение отрисовки графика. Используется для отображения в редакторе.

Возвращает Vector2
GetNodeAnimationNode
# GetNode
C#
public AnimationNode GetNode(StringName name);

Возвращает узел анимации с заданным именем.

Параметры
ИмяТипПо умолчанию
nameStringName—
Возвращает AnimationNode
GetNodeListReckfell.Collections.Array<StringName>
# GetNodeList
C#
public Reckfell.Collections.Array<StringName> GetNodeList();

Возвращает список, содержащий имена всех узлов анимации в этом конечном автомате.

Возвращает Reckfell.Collections.Array<StringName>
GetNodeNameStringName
# GetNodeName
C#
public StringName GetNodeName(AnimationNode node);

Возвращает имя указанного узла анимации.

Параметры
ИмяТипПо умолчанию
nodeAnimationNode—
Возвращает StringName
GetNodePositionVector2
# GetNodePosition
C#
public Vector2 GetNodePosition(StringName name);

Возвращает координаты указанного узла анимации. Используется для отображения в редакторе.

Параметры
ИмяТипПо умолчанию
nameStringName—
Возвращает Vector2
GetStateMachineTypeAnimationNodeStateMachine.StateMachineTypeEnum
# GetStateMachineType
C#
public AnimationNodeStateMachine.StateMachineTypeEnum GetStateMachineType();
Возвращает AnimationNodeStateMachine.StateMachineTypeEnum
GetTransitionAnimationNodeStateMachineTransition
# GetTransition
C#
public AnimationNodeStateMachineTransition GetTransition(int idx);

Возвращает указанный переход.

Параметры
ИмяТипПо умолчанию
idxint—
Возвращает AnimationNodeStateMachineTransition
GetTransitionCountint
# GetTransitionCount
C#
public int GetTransitionCount();

Возвращает количество соединений в графике.

Возвращает int
GetTransitionFromStringName
# GetTransitionFrom
C#
public StringName GetTransitionFrom(int idx);

Возвращает начальный узел указанного перехода.

Параметры
ИмяТипПо умолчанию
idxint—
Возвращает StringName
GetTransitionToStringName
# GetTransitionTo
C#
public StringName GetTransitionTo(int idx);

Возвращает конечный узел указанного перехода.

Параметры
ИмяТипПо умолчанию
idxint—
Возвращает StringName
HasNodebool
# HasNode
C#
public bool HasNode(StringName name);

Возвращает true, если граф содержит заданный узел анимации.

Параметры
ИмяТипПо умолчанию
nameStringName—
Возвращает bool
HasTransitionbool
# HasTransition
C#
public bool HasTransition(StringName from, StringName to);

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

Параметры
ИмяТипПо умолчанию
fromStringName—
toStringName—
Возвращает bool
IsAllowTransitionToSelfbool
# IsAllowTransitionToSelf
C#
public bool IsAllowTransitionToSelf();
Возвращает bool
RemoveNodevoid
# RemoveNode
C#
public void RemoveNode(StringName name);

Удаляет указанный узел анимации из графика.

Параметры
ИмяТипПо умолчанию
nameStringName—
RemoveTransitionvoid
# RemoveTransition
C#
public void RemoveTransition(StringName from, StringName to);

Удаляет переход между двумя указанными узлами анимации.

Параметры
ИмяТипПо умолчанию
fromStringName—
toStringName—
RemoveTransitionByIndexvoid
# RemoveTransitionByIndex
C#
public void RemoveTransitionByIndex(int idx);

Удаляет указанный переход по индексу.

Параметры
ИмяТипПо умолчанию
idxint—
RenameNodevoid
# RenameNode
C#
public void RenameNode(StringName name, StringName newName);

Переименовывает указанный узел анимации.

Параметры
ИмяТипПо умолчанию
nameStringName—
newNameStringName—
ReplaceNodevoid
# ReplaceNode
C#
public void ReplaceNode(StringName name, AnimationNode node);

Заменяет заданный узел анимации новым узлом анимации.

Параметры
ИмяТипПо умолчанию
nameStringName—
nodeAnimationNode—
SetAllowTransitionToSelfvoid
# SetAllowTransitionToSelf
C#
public void SetAllowTransitionToSelf(bool enable);
Параметры
ИмяТипПо умолчанию
enablebool—
SetGraphOffsetvoid
# SetGraphOffset
C#
public void SetGraphOffset(Vector2 offset);

Устанавливает смещение отрисовки графика. Используется для отображения в редакторе.

Параметры
ИмяТипПо умолчанию
offsetVector2—
SetNodePositionvoid
# SetNodePosition
C#
public void SetNodePosition(StringName name, Vector2 position);

Задает координаты узла анимации. Используется для отображения в редакторе.

Параметры
ИмяТипПо умолчанию
nameStringName—
positionVector2—
SetResetEndsvoid
# SetResetEnds
C#
public void SetResetEnds(bool enable);
Параметры
ИмяТипПо умолчанию
enablebool—
SetStateMachineTypevoid
# SetStateMachineType
C#
public void SetStateMachineType(AnimationNodeStateMachine.StateMachineTypeEnum stateMachineType);
Параметры
ИмяТипПо умолчанию
stateMachineTypeAnimationNodeStateMachine.StateMachineTypeEnum—

AnimationNodeStateMachine.StateMachineTypeEnum

ЗначениеОписание
Grouped = 2

Это сгруппированный конечный автомат, которым можно управлять из родительского конечного автомата. Он не работает независимо. Должен быть конечный автомат с AnimationNodeStateMachine.StateMachineType AnimationNodeStateMachine.StateMachineTypeEnum.Root или AnimationNodeStateMachine.StateMachineTypeEnum.Nested в родительском или предковом объекте.

Nested = 1

Поиск начала рассматривается как поиск начала анимации в текущем состоянии. Переход в конечное состояние или отсутствие переходов в каждом состоянии рассматривается как выход из конечного автомата.

Root = 0

Переход к началу рассматривается как воспроизведение с начального состояния. Переход к конечному состоянию рассматривается как выход из конечного автомата.

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

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

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

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