reckfellENGINE

AnimationNode

Базовый класс для узлов AnimationTree. Не относится к узлам сцены.

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

Базовый класс для узлов AnimationTree. Не относится к узлам сцены.

Базовый ресурс для узлов AnimationTree. Обычно он не используется напрямую, но вы можете создавать собственные узлы с помощью собственных формул смешивания. Наследуйте его при создании узлов анимации, в основном для использования в AnimationNodeBlendTree, в противном случае вместо него следует использовать AnimationRootNode. Вы можете получить доступ к информации о времени как к параметру только для чтения, который обрабатывается и сохраняется в предыдущем кадре для всех узлов, кроме AnimationNodeOutput. Примечание: Если в AnimationNode существует несколько входов, то приоритет информации о времени зависит от типа AnimationNode.

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

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

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

Свойства2

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

Если true, фильтрация включена.

FiltersСвойство
# Filters
C#
public Reckfell.Collections.Array Filters { get; set; }

Методы27

AddInputbool
# AddInput
C#
public bool AddInput(string name);

Добавляет вход в узел анимации. Это полезно только для узлов анимации, созданных для использования в AnimationNodeBlendTree. Если добавление не удается, возвращает false.

Параметры
ИмяТипПо умолчанию
namestring—
Возвращает bool
BlendAnimationvoid
# BlendAnimation
C#
public void BlendAnimation(StringName animation, double time, double delta, bool seeked, bool isExternalSeeking, float blend, Animation.LoopedFlag loopedFlag = Animation.LoopedFlag.None);

Смешивает анимацию по величине blend (имя должно быть допустимым в связанном AnimationPlayer). Могут быть переданы time и delta, а также произошло ли seeked. looped_flag используется внутренней обработкой сразу после цикла.

Параметры
ИмяТипПо умолчанию
animationStringName—
timedouble—
deltadouble—
seekedbool—
isExternalSeekingbool—
blendfloat—
loopedFlagAnimation.LoopedFlagAnimation.LoopedFlag.None
BlendInput2 перегрузки
# BlendInput · 1/2
C#
public double BlendInput(int inputIndex, double time, bool seek, bool isExternalSeeking, float blend, AnimationNode.FilterAction filter, bool sync);

Смешивает входные данные. Это полезно только для узлов анимации, созданных для AnimationNodeBlendTree. Параметр time является относительной дельтой, если только seek не является true, в этом случае он является абсолютным. Режим фильтра может быть передан опционально.

Параметры
ИмяТипПо умолчанию
inputIndexint—
timedouble—
seekbool—
isExternalSeekingbool—
blendfloat—
filterAnimationNode.FilterAction—
syncbool—
Возвращает double
# BlendInput · 2/2
C#
public double BlendInput(int inputIndex, double time, bool seek, bool isExternalSeeking, float blend, AnimationNode.FilterAction filter = AnimationNode.FilterAction.Ignore, bool sync = true, bool testOnly = false);

Смешивает входные данные. Это полезно только для узлов анимации, созданных для AnimationNodeBlendTree. Параметр time является относительной дельтой, если только seek не является true, в этом случае он является абсолютным. Режим фильтра может быть передан опционально.

Параметры
ИмяТипПо умолчанию
inputIndexint—
timedouble—
seekbool—
isExternalSeekingbool—
blendfloat—
filterAnimationNode.FilterActionAnimationNode.FilterAction.Ignore
syncbooltrue
testOnlyboolfalse
Возвращает double
BlendNode2 перегрузки
# BlendNode · 1/2
C#
public double BlendNode(StringName name, AnimationNode node, double time, bool seek, bool isExternalSeeking, float blend, AnimationNode.FilterAction filter, bool sync);

Смешайте другой узел анимации (в случае, если этот узел анимации содержит дочерние узлы анимации). Эта функция полезна только если вы наследуете от AnimationRootNode, в противном случае редакторы не будут отображать ваш узел анимации для добавления.

Параметры
ИмяТипПо умолчанию
nameStringName—
nodeAnimationNode—
timedouble—
seekbool—
isExternalSeekingbool—
blendfloat—
filterAnimationNode.FilterAction—
syncbool—
Возвращает double
# BlendNode · 2/2
C#
public double BlendNode(StringName name, AnimationNode node, double time, bool seek, bool isExternalSeeking, float blend, AnimationNode.FilterAction filter = AnimationNode.FilterAction.Ignore, bool sync = true, bool testOnly = false);

Смешайте другой узел анимации (в случае, если этот узел анимации содержит дочерние узлы анимации). Эта функция полезна только если вы наследуете от AnimationRootNode, в противном случае редакторы не будут отображать ваш узел анимации для добавления.

Параметры
ИмяТипПо умолчанию
nameStringName—
nodeAnimationNode—
timedouble—
seekbool—
isExternalSeekingbool—
blendfloat—
filterAnimationNode.FilterActionAnimationNode.FilterAction.Ignore
syncbooltrue
testOnlyboolfalse
Возвращает double
FindInputint
# FindInput
C#
public int FindInput(string name);

Возвращает входной индекс, который соответствует name. Если не найден, возвращает -1.

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

Количество входов в этом узле анимации, полезно только для узлов анимации, которые входят в AnimationNodeBlendTree.

Возвращает int
GetInputNamestring
# GetInputName
C#
public string GetInputName(int input);

Получает имя ввода по индексу.

Параметры
ИмяТипПо умолчанию
inputint—
Возвращает string
GetParameterVariant
# GetParameter
C#
public Variant GetParameter(StringName name);

Получает значение параметра. Параметры — это настраиваемая локальная память, используемая для ваших узлов анимации, учитывая, что ресурс может быть повторно использован в нескольких деревьях.

Параметры
ИмяТипПо умолчанию
nameStringName—
Возвращает Variant
GetProcessingAnimationTreeInstanceIdulong
# GetProcessingAnimationTreeInstanceId
C#
public ulong GetProcessingAnimationTreeInstanceId();

Возвращает идентификатор объекта AnimationTree, которому принадлежит этот узел. Примечание: Этот метод следует вызывать только из метода AnimationNodeExtension._ProcessAnimationNode, в противном случае он вернет недействительный идентификатор.

Возвращает ulong
IsFilterEnabledbool
# IsFilterEnabled
C#
public bool IsFilterEnabled();
Возвращает bool
IsPathFilteredbool
# IsPathFiltered
C#
public bool IsPathFiltered(EntityPath path);

Возвращает true, если указанный путь отфильтрован.

Параметры
ИмяТипПо умолчанию
pathEntityPath—
Возвращает bool
IsProcessTestingbool
# IsProcessTesting
C#
public bool IsProcessTesting();

Возвращает true, если этот узел анимации обрабатывается в тестовом режиме.

Возвращает bool
RemoveInputvoid
# RemoveInput
C#
public void RemoveInput(int index);

Удаляет вход, вызывать только когда неактивен.

Параметры
ИмяТипПо умолчанию
indexint—
SetFilterEnabledvoid
# SetFilterEnabled
C#
public void SetFilterEnabled(bool enable);
Параметры
ИмяТипПо умолчанию
enablebool—
SetFilterPathvoid
# SetFilterPath
C#
public void SetFilterPath(EntityPath path, bool enable);

Добавляет или удаляет путь для фильтра.

Параметры
ИмяТипПо умолчанию
pathEntityPath—
enablebool—
SetInputNamebool
# SetInputName
C#
public bool SetInputName(int input, string name);

Устанавливает имя входа по указанному индексу input. Если настройка не удалась, возвращает false.

Параметры
ИмяТипПо умолчанию
inputint—
namestring—
Возвращает bool
SetParametervoid
# SetParameter
C#
public void SetParameter(StringName name, Variant value);

Устанавливает пользовательский параметр. Они используются как локальная память, поскольку ресурсы могут повторно использоваться по всему дереву или сценам.

Параметры
ИмяТипПо умолчанию
nameStringName—
valueVariant—
_GetCaptionstring
# _GetCaption
C#
public virtual string _GetCaption();

При наследовании от AnimationRootNode реализуйте этот виртуальный метод, чтобы переопределить текстовую подпись для этого узла анимации.

#########деть_by_ имя

Возвращает string
_GetChildByNameAnimationNode
# _GetChildByName
C#
public virtual AnimationNode _GetChildByName(StringName name);

При наследовании от AnimationRootNode реализуйте этот виртуальный метод для возврата дочернего узла анимации по его name.

Параметры
ИмяТипПо умолчанию
nameStringName—
Возвращает AnimationNode
_GetChildNodesReckfell.Collections.Dictionary
# _GetChildNodes
C#
public virtual Reckfell.Collections.Dictionary _GetChildNodes();

При наследовании от AnimationRootNode реализуйте этот виртуальный метод для возврата всех дочерних узлов анимации в порядке словаря name: node.

####_get_parameter_default_значение

Возвращает Reckfell.Collections.Dictionary
_GetParameterDefaultValueVariant
# _GetParameterDefaultValue
C#
public virtual Variant _GetParameterDefaultValue(StringName parameter);

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

Параметры
ИмяТипПо умолчанию
parameterStringName—
Возвращает Variant
_GetParameterListReckfell.Collections.Array
# _GetParameterList
C#
public virtual Reckfell.Collections.Array _GetParameterList();

При наследовании от AnimationRootNode реализуйте этот виртуальный метод для возврата списка свойств этого узла анимации. Параметры — это настраиваемая локальная память, используемая для ваших узлов анимации, учитывая, что ресурс может быть повторно использован в нескольких деревьях. Формат аналогичен ReckfellObject.GetPropertyList.

Возвращает Reckfell.Collections.Array
_HasFilterbool
# _HasFilter
C#
public virtual bool _HasFilter();

При наследовании от AnimationRootNode реализуйте этот виртуальный метод, чтобы узнать, должен ли редактор смешанного дерева отображать редактирование фильтра на этом узле анимации.

####_параметр_читать_только

Возвращает bool
_IsParameterReadOnlybool
# _IsParameterReadOnly
C#
public virtual bool _IsParameterReadOnly(StringName parameter);

При наследовании от AnimationRootNode реализуйте этот виртуальный метод, чтобы вернуть, является ли параметр parameter доступным только для чтения. Параметры — это настраиваемая локальная память, используемая для ваших узлов анимации, учитывая, что ресурс может быть повторно использован в нескольких деревьях.

Параметры
ИмяТипПо умолчанию
parameterStringName—
Возвращает bool
_Processdouble · Устарело
# _Process
C#
public virtual double _Process(double time, bool seek, bool isExternalSeeking, bool testOnly);

При наследовании от AnimationRootNode реализуйте этот виртуальный метод для запуска некоторого кода при обработке этого узла анимации. Параметр time является относительной дельтой, если только seek не является true, в этом случае он является абсолютным. Здесь вызовите функции AnimationNode.BlendInput, AnimationNode.BlendNode или AnimationNode.BlendAnimation. Вы также можете использовать AnimationNode.GetParameter и AnimationNode.SetParameter для изменения локальной памяти. Эта функция должна возвращать дельту.

Параметры
ИмяТипПо умолчанию
timedouble—
seekbool—
isExternalSeekingbool—
testOnlybool—
Возвращает double

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

AnimationEntityRemovedСобытие
# AnimationEntityRemoved
C#
public event AnimationNode.AnimationEntityRemovedEventHandler AnimationEntityRemoved;

Выдается узлами, которые наследуют этот класс и имеют внутреннее дерево, когда один из их узлов анимации удаляется. Узлы анимации, которые выдают этот сигнал – AnimationNodeBlendSpace1D, AnimationNodeBlendSpace2D, AnimationNodeStateMachine и AnimationNodeBlendTree.

Параметры обработчика
ИмяТипПо умолчанию
objectIdlong—
nodeNamestring—
AnimationEntityRenamedСобытие
# AnimationEntityRenamed
C#
public event AnimationNode.AnimationEntityRenamedEventHandler AnimationEntityRenamed;

Выпускается узлами, которые наследуют этот класс и имеют внутреннее дерево, когда изменяется одно из имен их узлов анимации. Узлы анимации, которые выдают этот сигнал – AnimationNodeBlendSpace1D, AnimationNodeBlendSpace2D, AnimationNodeStateMachine и AnimationNodeBlendTree.

Параметры обработчика
ИмяТипПо умолчанию
objectIdlong—
oldNamestring—
newNamestring—
NodeUpdatedСобытие
# NodeUpdated
C#
public event AnimationNode.NodeUpdatedEventHandler NodeUpdated;

Испускается AnimationNodeAnimation при изменении ресурса AnimationNodeAnimation.Animation или AnimationNodeBlendTree при изменении его соединений.

Параметры обработчика
ИмяТипПо умолчанию
objectIdlong—
TreeChangedСобытие
# TreeChanged
C#
public event Action TreeChanged;

Выпускается узлами, которые наследуют этот класс и имеют внутреннее дерево, когда один из их узлов анимации изменяется. Узлы анимации, которые выдают этот сигнал – AnimationNodeBlendSpace1D, AnimationNodeBlendSpace2D, AnimationNodeStateMachine, AnimationNodeBlendTree и AnimationNodeTransition.

AnimationNode.FilterAction

ЗначениеОписание
Blend = 3

Пути, соответствующие фильтру, будут смешаны (по значению смешивания).

Ignore = 0

Не использовать фильтрацию.

Pass = 1

Пути, соответствующие фильтру, будут пропущены.

Stop = 2

Пути, соответствующие фильтру, будут отброшены.

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

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

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

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