AnimationNodeBlendSpace1D
Набор AnimationRootNode, размещенных на виртуальной оси, плавно переходящих между двумя соседними. Используется AnimationTree.
Набор AnimationRootNode, размещенных на виртуальной оси, плавно переходящих между двумя соседними. Используется AnimationTree.
Ресурс, используемый AnimationNodeBlendTree.
AnimationNodeBlendSpace1D представляет собой виртуальную ось, на которую можно добавить любой тип AnimationRootNode с помощью AnimationNodeBlendSpace1D.AddBlendPoint. Выводит линейную смесь двух AnimationRootNode, смежных с текущим значением.
Вы можете задать пределы оси с помощью AnimationNodeBlendSpace1D.MinSpace и AnimationNodeBlendSpace1D.MaxSpace.
В факультативном порядке сигналы могут использоваться путем установки AnimationNodeObserverBlendSpace до конца AnimationTree.
var observer = animationTree.Get("parameters/BlendSpace/observer").As<AnimationNodeObserverBlendSpace>();
observer.ClosestPointChanged += OnClosestPointChanged;Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.
Конструкторы1
AnimationNodeBlendSpace1DКонструктор
public AnimationNodeBlendSpace1D();Свойства8
BlendModeСвойство
public AnimationNodeBlendSpace1D.BlendModeEnum BlendMode { get; set; }Управляет интерполяцией между анимациями.
CyclicLengthСвойство
public double CyclicLength { get; set; }Длина общего цикла в секундах для SyncMode.CyclicConstant. Задайте положительное значение; это не вес смешивания и не длина каждого исходного Animation. В CyclicMutable длительность вычисляется из активных клипов.
MaxSpaceСвойство
public float MaxSpace { get; set; }Верхний предел оси пространства смешивания для положения точек. См. AnimationNodeBlendSpace1D.AddBlendPoint.
MinSpaceСвойство
public float MinSpace { get; set; }Нижний предел оси пространства смешивания для положения точек. См. AnimationNodeBlendSpace1D.AddBlendPoint.
SnapСвойство
public float Snap { get; set; }Приращение позиции для привязки при перемещении точки по оси.
Переводчики:
SyncСвойство · Устарело
public bool Sync { get; set; }Если true, режим синхронизации включен (эквивалентно AnimationNodeBlendSpace1D.SyncModeEnum.Independent). Это свойство сохранено для обратной совместимости.
SyncModeСвойство
public AnimationNodeBlendSpace1D.SyncModeEnum SyncMode { get; set; }Управляет временем точек: None обновляет активные, Independent — все независимо от веса. CyclicMutable согласует цикл по взвешенным длинам активных клипов, CyclicConstant использует CyclicLength. Циклические режимы требуют прямых точек AnimationNodeAnimation.
ValueLabelСвойство
public string ValueLabel { get; set; }Label виртуальной оси смешанного пространства.
Методы28
AddBlendPoint2 перегрузки
public void AddBlendPoint(AnimationRootNode node, float pos, int atIndex);Добавляет новую точку с именем name, соответствующую узлу node на виртуальной оси в позиции, заданной параметром pos. Вы можете вставить её в указанный индекс, используя аргумент at_index. Если оставить значение по умолчанию для at_index, точка будет добавлена в конец массива точек смешивания.
Примечание: Если имя не указано, в качестве идентификатора используется индекс. В будущем пустые имена будут объявлены устаревшими, поэтому рекомендуется явно передавать имя.
| Имя | Тип | По умолчанию |
|---|---|---|
node | AnimationRootNode | — |
pos | float | — |
atIndex | int | — |
public void AddBlendPoint(AnimationRootNode node, float pos, int atIndex = -1, StringName name = null);Добавляет новую точку с именем name, соответствующую узлу node на виртуальной оси в позиции, заданной параметром pos. Вы можете вставить её в указанный индекс, используя аргумент at_index. Если оставить значение по умолчанию для at_index, точка будет добавлена в конец массива точек смешивания.
Примечание: Если имя не указано, в качестве идентификатора используется индекс. В будущем пустые имена будут объявлены устаревшими, поэтому рекомендуется явно передавать имя.
| Имя | Тип | По умолчанию |
|---|---|---|
node | AnimationRootNode | — |
pos | float | — |
atIndex | int | -1 |
name | StringName | null |
FindBlendPointByNameint
public int FindBlendPointByName(StringName name);Возвращает индекс точки смешения с заданным name. Возвращает -1, если точка смешения с таким именем не найдена.
| Имя | Тип | По умолчанию |
|---|---|---|
name | StringName | — |
intGetBlendModeAnimationNodeBlendSpace1D.BlendModeEnum
public AnimationNodeBlendSpace1D.BlendModeEnum GetBlendMode();AnimationNodeBlendSpace1D.BlendModeEnumGetBlendPointCountint
public int GetBlendPointCount();Возвращает количество точек на оси смешивания.
intGetBlendPointNameStringName
public StringName GetBlendPointName(int point);Возвращает имя точки смешения по индексу point.
| Имя | Тип | По умолчанию |
|---|---|---|
point | int | — |
StringNameGetBlendPointNodeAnimationRootNode
public AnimationRootNode GetBlendPointNode(int point);Возвращает AnimationNode, на который ссылается точка с индексом point.
| Имя | Тип | По умолчанию |
|---|---|---|
point | int | — |
AnimationRootNodeGetBlendPointPositionfloat
public float GetBlendPointPosition(int point);Возвращает положение точки с индексом point.
| Имя | Тип | По умолчанию |
|---|---|---|
point | int | — |
floatGetCyclicLengthdouble
public double GetCyclicLength();doubleGetMaxSpacefloat
public float GetMaxSpace();floatGetMinSpacefloat
public float GetMinSpace();floatGetSnapfloat
public float GetSnap();floatGetSyncModeAnimationNodeBlendSpace1D.SyncModeEnum
public AnimationNodeBlendSpace1D.SyncModeEnum GetSyncMode();AnimationNodeBlendSpace1D.SyncModeEnumGetValueLabelstring
public string GetValueLabel();stringIsUsingSyncbool
public bool IsUsingSync();boolRemoveBlendPointvoid
public void RemoveBlendPoint(int point);Удаляет точку с индексом point из оси смешивания.
| Имя | Тип | По умолчанию |
|---|---|---|
point | int | — |
ReorderBlendPointvoid
public void ReorderBlendPoint(int fromIndex, int toIndex);Меняет местами точки смешивания в индексах from_index и to_index, заменив их позиции и свойства.
| Имя | Тип | По умолчанию |
|---|---|---|
fromIndex | int | — |
toIndex | int | — |
SetBlendModevoid
public void SetBlendMode(AnimationNodeBlendSpace1D.BlendModeEnum mode);| Имя | Тип | По умолчанию |
|---|---|---|
mode | AnimationNodeBlendSpace1D.BlendModeEnum | — |
SetBlendPointNamevoid
public void SetBlendPointName(int point, StringName name);Задает имя точки смешивания по индексу point. Если имя конфликтует с существующей точкой, будет автоматически сгенерировано уникальное имя.
| Имя | Тип | По умолчанию |
|---|---|---|
point | int | — |
name | StringName | — |
SetBlendPointNodevoid
public void SetBlendPointNode(int point, AnimationRootNode node);Изменяет AnimationNode, на который ссылается точка с индексом point.
| Имя | Тип | По умолчанию |
|---|---|---|
point | int | — |
node | AnimationRootNode | — |
SetBlendPointPositionvoid
public void SetBlendPointPosition(int point, float pos);Обновляет положение точки с индексом point на оси смешивания.
| Имя | Тип | По умолчанию |
|---|---|---|
point | int | — |
pos | float | — |
SetCyclicLengthvoid
public void SetCyclicLength(double length);| Имя | Тип | По умолчанию |
|---|---|---|
length | double | — |
SetMaxSpacevoid
public void SetMaxSpace(float maxSpace);| Имя | Тип | По умолчанию |
|---|---|---|
maxSpace | float | — |
SetMinSpacevoid
public void SetMinSpace(float minSpace);| Имя | Тип | По умолчанию |
|---|---|---|
minSpace | float | — |
SetSnapvoid
public void SetSnap(float snap);| Имя | Тип | По умолчанию |
|---|---|---|
snap | float | — |
SetSyncModevoid
public void SetSyncMode(AnimationNodeBlendSpace1D.SyncModeEnum syncMode);| Имя | Тип | По умолчанию |
|---|---|---|
syncMode | AnimationNodeBlendSpace1D.SyncModeEnum | — |
SetUseSyncvoid
public void SetUseSync(bool enable);| Имя | Тип | По умолчанию |
|---|---|---|
enable | bool | — |
SetValueLabelvoid
public void SetValueLabel(string text);| Имя | Тип | По умолчанию |
|---|---|---|
text | string | — |
AnimationNodeBlendSpace1D.BlendModeEnum
| Значение | Описание |
|---|---|
Discrete = 1 | Пространство смешивания воспроизводит анимацию узла анимации, к которому ближе всего позиция смешивания. Полезно для покадровой 2D-анимации. |
DiscreteCarry = 2 | Аналогично |
Interpolated = 0 | Интерполяция между анимациями линейная. |
AnimationNodeBlendSpace1D.SyncModeEnum
| Значение | Описание |
|---|---|
CyclicConstant = 3 | Все анимации масштабируются по времени таким образом, что каждый цикл завершается за |
CyclicMutable = 2 | Все анимации масштабируются по времени, чтобы оставаться синхронизированными, при этом длительность цикла динамически вычисляется на основе активных весов смешивания. Это самонормализация: отдельная анимация воспроизводится с нормальной скоростью.
Примечание: Если вы примените |
Independent = 1 | Неактивные анимации продвигаются с весом |
None = 0 | Неактивные анимации замораживаются и не переходят к следующему этапу. |