AnimationNode
Базовый класс для узлов AnimationTree. Не относится к узлам сцены.
Базовый класс для узлов AnimationTree. Не относится к узлам сцены.
Базовый ресурс для узлов AnimationTree. Обычно он не используется напрямую, но вы можете создавать собственные узлы с помощью собственных формул смешивания.
Наследуйте его при создании узлов анимации, в основном для использования в AnimationNodeBlendTree, в противном случае вместо него следует использовать AnimationRootNode.
Вы можете получить доступ к информации о времени как к параметру только для чтения, который обрабатывается и сохраняется в предыдущем кадре для всех узлов, кроме AnimationNodeOutput.
Примечание: Если в AnimationNode существует несколько входов, то приоритет информации о времени зависит от типа AnimationNode.
Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.
Конструкторы1
AnimationNodeКонструктор
public AnimationNode();Свойства2
FilterEnabledСвойство
public bool FilterEnabled { get; set; }Если true, фильтрация включена.
FiltersСвойство
public Reckfell.Collections.Array Filters { get; set; }Методы27
AddInputbool
public bool AddInput(string name);Добавляет вход в узел анимации. Это полезно только для узлов анимации, созданных для использования в AnimationNodeBlendTree. Если добавление не удается, возвращает false.
| Имя | Тип | По умолчанию |
|---|---|---|
name | string | — |
boolBlendAnimationvoid
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 используется внутренней обработкой сразу после цикла.
| Имя | Тип | По умолчанию |
|---|---|---|
animation | StringName | — |
time | double | — |
delta | double | — |
seeked | bool | — |
isExternalSeeking | bool | — |
blend | float | — |
loopedFlag | Animation.LoopedFlag | Animation.LoopedFlag.None |
BlendInput2 перегрузки
public double BlendInput(int inputIndex, double time, bool seek, bool isExternalSeeking, float blend, AnimationNode.FilterAction filter, bool sync);Смешивает входные данные. Это полезно только для узлов анимации, созданных для AnimationNodeBlendTree. Параметр time является относительной дельтой, если только seek не является true, в этом случае он является абсолютным. Режим фильтра может быть передан опционально.
| Имя | Тип | По умолчанию |
|---|---|---|
inputIndex | int | — |
time | double | — |
seek | bool | — |
isExternalSeeking | bool | — |
blend | float | — |
filter | AnimationNode.FilterAction | — |
sync | bool | — |
doublepublic 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, в этом случае он является абсолютным. Режим фильтра может быть передан опционально.
| Имя | Тип | По умолчанию |
|---|---|---|
inputIndex | int | — |
time | double | — |
seek | bool | — |
isExternalSeeking | bool | — |
blend | float | — |
filter | AnimationNode.FilterAction | AnimationNode.FilterAction.Ignore |
sync | bool | true |
testOnly | bool | false |
doubleBlendNode2 перегрузки
public double BlendNode(StringName name, AnimationNode node, double time, bool seek, bool isExternalSeeking, float blend, AnimationNode.FilterAction filter, bool sync);Смешайте другой узел анимации (в случае, если этот узел анимации содержит дочерние узлы анимации). Эта функция полезна только если вы наследуете от AnimationRootNode, в противном случае редакторы не будут отображать ваш узел анимации для добавления.
| Имя | Тип | По умолчанию |
|---|---|---|
name | StringName | — |
node | AnimationNode | — |
time | double | — |
seek | bool | — |
isExternalSeeking | bool | — |
blend | float | — |
filter | AnimationNode.FilterAction | — |
sync | bool | — |
doublepublic 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, в противном случае редакторы не будут отображать ваш узел анимации для добавления.
| Имя | Тип | По умолчанию |
|---|---|---|
name | StringName | — |
node | AnimationNode | — |
time | double | — |
seek | bool | — |
isExternalSeeking | bool | — |
blend | float | — |
filter | AnimationNode.FilterAction | AnimationNode.FilterAction.Ignore |
sync | bool | true |
testOnly | bool | false |
doubleFindInputint
public int FindInput(string name);Возвращает входной индекс, который соответствует name. Если не найден, возвращает -1.
| Имя | Тип | По умолчанию |
|---|---|---|
name | string | — |
intGetInputCountint
public int GetInputCount();Количество входов в этом узле анимации, полезно только для узлов анимации, которые входят в AnimationNodeBlendTree.
intGetInputNamestring
public string GetInputName(int input);Получает имя ввода по индексу.
| Имя | Тип | По умолчанию |
|---|---|---|
input | int | — |
stringGetParameterVariant
public Variant GetParameter(StringName name);Получает значение параметра. Параметры — это настраиваемая локальная память, используемая для ваших узлов анимации, учитывая, что ресурс может быть повторно использован в нескольких деревьях.
| Имя | Тип | По умолчанию |
|---|---|---|
name | StringName | — |
VariantGetProcessingAnimationTreeInstanceIdulong
public ulong GetProcessingAnimationTreeInstanceId();Возвращает идентификатор объекта AnimationTree, которому принадлежит этот узел.
Примечание: Этот метод следует вызывать только из метода AnimationNodeExtension._ProcessAnimationNode, в противном случае он вернет недействительный идентификатор.
ulongIsFilterEnabledbool
public bool IsFilterEnabled();boolIsPathFilteredbool
public bool IsPathFiltered(EntityPath path);Возвращает true, если указанный путь отфильтрован.
| Имя | Тип | По умолчанию |
|---|---|---|
path | EntityPath | — |
boolIsProcessTestingbool
public bool IsProcessTesting();Возвращает true, если этот узел анимации обрабатывается в тестовом режиме.
boolRemoveInputvoid
public void RemoveInput(int index);Удаляет вход, вызывать только когда неактивен.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
SetFilterEnabledvoid
public void SetFilterEnabled(bool enable);| Имя | Тип | По умолчанию |
|---|---|---|
enable | bool | — |
SetFilterPathvoid
public void SetFilterPath(EntityPath path, bool enable);Добавляет или удаляет путь для фильтра.
| Имя | Тип | По умолчанию |
|---|---|---|
path | EntityPath | — |
enable | bool | — |
SetInputNamebool
public bool SetInputName(int input, string name);Устанавливает имя входа по указанному индексу input. Если настройка не удалась, возвращает false.
| Имя | Тип | По умолчанию |
|---|---|---|
input | int | — |
name | string | — |
boolSetParametervoid
public void SetParameter(StringName name, Variant value);Устанавливает пользовательский параметр. Они используются как локальная память, поскольку ресурсы могут повторно использоваться по всему дереву или сценам.
| Имя | Тип | По умолчанию |
|---|---|---|
name | StringName | — |
value | Variant | — |
_GetCaptionstring
public virtual string _GetCaption();При наследовании от AnimationRootNode реализуйте этот виртуальный метод, чтобы переопределить текстовую подпись для этого узла анимации.
#########деть_by_ имя
string_GetChildByNameAnimationNode
public virtual AnimationNode _GetChildByName(StringName name);При наследовании от AnimationRootNode реализуйте этот виртуальный метод для возврата дочернего узла анимации по его name.
| Имя | Тип | По умолчанию |
|---|---|---|
name | StringName | — |
AnimationNode_GetChildNodesReckfell.Collections.Dictionary
public virtual Reckfell.Collections.Dictionary _GetChildNodes();При наследовании от AnimationRootNode реализуйте этот виртуальный метод для возврата всех дочерних узлов анимации в порядке словаря name: node.
####_get_parameter_default_значение
Reckfell.Collections.Dictionary_GetParameterDefaultValueVariant
public virtual Variant _GetParameterDefaultValue(StringName parameter);При наследовании от AnimationRootNode реализуйте этот виртуальный метод для возврата значения по умолчанию параметра parameter. Параметры — это настраиваемая локальная память, используемая для ваших узлов анимации, учитывая, что ресурс может быть повторно использован в нескольких деревьях.
| Имя | Тип | По умолчанию |
|---|---|---|
parameter | StringName | — |
Variant_GetParameterListReckfell.Collections.Array
public virtual Reckfell.Collections.Array _GetParameterList();При наследовании от AnimationRootNode реализуйте этот виртуальный метод для возврата списка свойств этого узла анимации. Параметры — это настраиваемая локальная память, используемая для ваших узлов анимации, учитывая, что ресурс может быть повторно использован в нескольких деревьях. Формат аналогичен ReckfellObject.GetPropertyList.
Reckfell.Collections.Array_HasFilterbool
public virtual bool _HasFilter();При наследовании от AnimationRootNode реализуйте этот виртуальный метод, чтобы узнать, должен ли редактор смешанного дерева отображать редактирование фильтра на этом узле анимации.
####_параметр_читать_только
bool_IsParameterReadOnlybool
public virtual bool _IsParameterReadOnly(StringName parameter);При наследовании от AnimationRootNode реализуйте этот виртуальный метод, чтобы вернуть, является ли параметр parameter доступным только для чтения. Параметры — это настраиваемая локальная память, используемая для ваших узлов анимации, учитывая, что ресурс может быть повторно использован в нескольких деревьях.
| Имя | Тип | По умолчанию |
|---|---|---|
parameter | StringName | — |
bool_Processdouble · Устарело
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 для изменения локальной памяти.
Эта функция должна возвращать дельту.
| Имя | Тип | По умолчанию |
|---|---|---|
time | double | — |
seek | bool | — |
isExternalSeeking | bool | — |
testOnly | bool | — |
doubleСигналы и события4
AnimationEntityRemovedСобытие
public event AnimationNode.AnimationEntityRemovedEventHandler AnimationEntityRemoved;Выдается узлами, которые наследуют этот класс и имеют внутреннее дерево, когда один из их узлов анимации удаляется. Узлы анимации, которые выдают этот сигнал – AnimationNodeBlendSpace1D, AnimationNodeBlendSpace2D, AnimationNodeStateMachine и AnimationNodeBlendTree.
| Имя | Тип | По умолчанию |
|---|---|---|
objectId | long | — |
nodeName | string | — |
AnimationEntityRenamedСобытие
public event AnimationNode.AnimationEntityRenamedEventHandler AnimationEntityRenamed;Выпускается узлами, которые наследуют этот класс и имеют внутреннее дерево, когда изменяется одно из имен их узлов анимации. Узлы анимации, которые выдают этот сигнал – AnimationNodeBlendSpace1D, AnimationNodeBlendSpace2D, AnimationNodeStateMachine и AnimationNodeBlendTree.
| Имя | Тип | По умолчанию |
|---|---|---|
objectId | long | — |
oldName | string | — |
newName | string | — |
NodeUpdatedСобытие
public event AnimationNode.NodeUpdatedEventHandler NodeUpdated;Испускается AnimationNodeAnimation при изменении ресурса AnimationNodeAnimation.Animation или AnimationNodeBlendTree при изменении его соединений.
| Имя | Тип | По умолчанию |
|---|---|---|
objectId | long | — |
TreeChangedСобытие
public event Action TreeChanged;Выпускается узлами, которые наследуют этот класс и имеют внутреннее дерево, когда один из их узлов анимации изменяется. Узлы анимации, которые выдают этот сигнал – AnimationNodeBlendSpace1D, AnimationNodeBlendSpace2D, AnimationNodeStateMachine, AnimationNodeBlendTree и AnimationNodeTransition.
AnimationNode.FilterAction
| Значение | Описание |
|---|---|
Blend = 3 | Пути, соответствующие фильтру, будут смешаны (по значению смешивания). |
Ignore = 0 | Не использовать фильтрацию. |
Pass = 1 | Пути, соответствующие фильтру, будут пропущены. |
Stop = 2 | Пути, соответствующие фильтру, будут отброшены. |