AnimationNodeStateMachineTransition
Переход внутри AnimationNodeStateMachine, соединяющий два AnimationRootNode-ов.
Переход внутри AnimationNodeStateMachine, соединяющий два AnimationRootNode-ов.
Путь, сгенерированный при использовании AnimationNodeStateMachinePlayback.Travel, ограничен узлами, соединенными AnimationNodeStateMachineTransition.
Вы можете подробно задать время и условия перехода.
Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.
Конструкторы1
AnimationNodeStateMachineTransitionКонструктор
public AnimationNodeStateMachineTransition();Свойства9
AdvanceConditionСвойство
public StringName AdvanceCondition { get; set; }Включите автоматическое продвижение, когда задано это условие. Предоставленное имя станет булевым параметром в AnimationTree, которым можно управлять из кода (см. Использование AnimationTree). Например, если AnimationTree.TreeRoot является AnimationNodeStateMachine, а AnimationNodeStateMachineTransition.AdvanceCondition установлен в "idle":
GetNode<AnimationTree>("animation_tree").Set("parameters/conditions/idle", IsOnFloor && (LinearVelocity.X == 0));AdvanceExpressionСвойство
public string AdvanceExpression { get; set; }Используйте выражение как условие для переходов между состояниями машины. Можно создавать сложные условия продвижения анимации для переключения между состояниями и обеспечивает гораздо большую гибкость для создания сложных машин состояний путем прямого взаимодействия с кодом скрипта.
AdvanceModeСвойство
public AnimationNodeStateMachineTransition.AdvanceModeEnum AdvanceMode { get; set; }Определяет, следует ли отключить переход, включить его при использовании AnimationNodeStateMachinePlayback.Travel или выполнить переход автоматически, если проверки AnimationNodeStateMachineTransition.AdvanceCondition и AnimationNodeStateMachineTransition.AdvanceExpression равны true (если назначено).
BreakLoopAtEndСвойство
public bool BreakLoopAtEnd { get; set; }Если true, прерывает цикл в конце цикла перехода, даже если анимация зациклена.
PriorityСвойство
public int Priority { get; set; }Переходы с более низким приоритетом предпочтительны при перемещении по дереву с помощью AnimationNodeStateMachinePlayback.Travel или AnimationNodeStateMachineTransition.AdvanceMode установлен в AnimationNodeStateMachineTransition.AdvanceModeEnum.Auto.
ResetСвойство
public bool Reset { get; set; }Если true, то при переключении анимация назначения воспроизводится с начала.
SwitchModeСвойство
public AnimationNodeStateMachineTransition.SwitchModeEnum SwitchMode { get; set; }Тип перехода.
XfadeCurveСвойство
public Curve XfadeCurve { get; set; }Легкая кривая для лучшего контроля над перекрестным слоем между этим состоянием и следующим. Curve.
XfadeTimeСвойство
public float XfadeTime { get; set; }Время для перехода между этим состоянием и следующим.
Примечание: AnimationNodeStateMachine переходит в текущее состояние сразу после начала перехода. Точное оставшееся время можно вывести только из основной анимации. Когда AnimationNodeOutput считается самым верхним по потоку, то AnimationNodeStateMachineTransition.XfadeTime не масштабируется в зависимости от дельты нижнего потока. См. также AnimationNodeOneShot.FadeOutTime.
Методы18
GetAdvanceConditionStringName
public StringName GetAdvanceCondition();StringNameGetAdvanceExpressionstring
public string GetAdvanceExpression();stringGetAdvanceModeAnimationNodeStateMachineTransition.AdvanceModeEnum
public AnimationNodeStateMachineTransition.AdvanceModeEnum GetAdvanceMode();AnimationNodeStateMachineTransition.AdvanceModeEnumGetPriorityint
public int GetPriority();intGetSwitchModeAnimationNodeStateMachineTransition.SwitchModeEnum
public AnimationNodeStateMachineTransition.SwitchModeEnum GetSwitchMode();AnimationNodeStateMachineTransition.SwitchModeEnumGetXfadeCurveCurve
public Curve GetXfadeCurve();CurveGetXfadeTimefloat
public float GetXfadeTime();floatIsLoopBrokenAtEndbool
public bool IsLoopBrokenAtEnd();boolIsResetbool
public bool IsReset();boolSetAdvanceConditionvoid
public void SetAdvanceCondition(StringName name);| Имя | Тип | По умолчанию |
|---|---|---|
name | StringName | — |
SetAdvanceExpressionvoid
public void SetAdvanceExpression(string text);| Имя | Тип | По умолчанию |
|---|---|---|
text | string | — |
SetAdvanceModevoid
public void SetAdvanceMode(AnimationNodeStateMachineTransition.AdvanceModeEnum mode);| Имя | Тип | По умолчанию |
|---|---|---|
mode | AnimationNodeStateMachineTransition.AdvanceModeEnum | — |
SetBreakLoopAtEndvoid
public void SetBreakLoopAtEnd(bool enable);| Имя | Тип | По умолчанию |
|---|---|---|
enable | bool | — |
SetPriorityvoid
public void SetPriority(int priority);| Имя | Тип | По умолчанию |
|---|---|---|
priority | int | — |
SetResetvoid
public void SetReset(bool reset);| Имя | Тип | По умолчанию |
|---|---|---|
reset | bool | — |
SetSwitchModevoid
public void SetSwitchMode(AnimationNodeStateMachineTransition.SwitchModeEnum mode);| Имя | Тип | По умолчанию |
|---|---|---|
mode | AnimationNodeStateMachineTransition.SwitchModeEnum | — |
SetXfadeCurvevoid
public void SetXfadeCurve(Curve curve);| Имя | Тип | По умолчанию |
|---|---|---|
curve | Curve | — |
SetXfadeTimevoid
public void SetXfadeTime(float secs);| Имя | Тип | По умолчанию |
|---|---|---|
secs | float | — |
Сигналы и события1
AdvanceConditionChangedСобытие
public event Action AdvanceConditionChanged;Вызывается при изменении AnimationNodeStateMachineTransition.AdvanceCondition.
AnimationNodeStateMachineTransition.AdvanceModeEnum
| Значение | Описание |
|---|---|
Auto = 2 | Автоматически использовать этот переход, если проверки |
Disabled = 0 | Не используйте этот переход. |
Enabled = 1 | Используйте этот переход только во время |
AnimationNodeStateMachineTransition.SwitchModeEnum
| Значение | Описание |
|---|---|
AtEnd = 2 | Дождитесь окончания воспроизведения текущего состояния, затем переключитесь на начало анимации следующего состояния. |
Immediate = 0 | Немедленно переключиться на следующее состояние. Текущее состояние закончится и сольется с началом нового. |
Sync = 1 | Немедленно переключиться на следующее состояние, но новое состояние будет искаться в позиции воспроизведения старого состояния. |