AnimationNodeBlendSpace1D

Наследует: AnimationRootNode < AnimationNode < Resource < RefCounted < Object

Набор AnimationRootNode, размещенных на виртуальной оси, плавно переходящих между двумя соседними. Используется AnimationTree.

Описание

Ресурс, используемый AnimationNodeBlendTree.

AnimationNodeBlendSpace1D представляет собой виртуальную ось, на которую можно добавить любой тип AnimationRootNode с помощью add_blend_point(). Выводит линейную смесь двух AnimationRootNode, смежных с текущим значением.

Вы можете задать пределы оси с помощью min_space и max_space.

Обучающие материалы

Свойства

BlendMode

blend_mode

0

float

max_space

1.0

float

min_space

-1.0

float

snap

0.1

bool

sync

false

String

value_label

"value"

Методы

void

add_blend_point(node: AnimationRootNode, pos: float, at_index: int = -1)

int

get_blend_point_count() const

AnimationRootNode

get_blend_point_node(point: int) const

float

get_blend_point_position(point: int) const

void

remove_blend_point(point: int)

void

set_blend_point_node(point: int, node: AnimationRootNode)

void

set_blend_point_position(point: int, pos: float)


Перечисления

enum BlendMode: 🔗

BlendMode BLEND_MODE_INTERPOLATED = 0

Интерполяция между анимациями линейная.

BlendMode BLEND_MODE_DISCRETE = 1

Пространство смешивания воспроизводит анимацию узла анимации, к которому ближе всего позиция смешивания. Полезно для покадровой 2D-анимации.

BlendMode BLEND_MODE_DISCRETE_CARRY = 2

Аналогично BLEND_MODE_DISCRETE, но запускает новую анимацию с позиции воспроизведения последней анимации.


Описания свойств

BlendMode blend_mode = 0 🔗

Управляет интерполяцией между анимациями.


float max_space = 1.0 🔗

  • void set_max_space(value: float)

  • float get_max_space()

Верхний предел оси пространства смешивания для положения точек. См. add_blend_point().


float min_space = -1.0 🔗

  • void set_min_space(value: float)

  • float get_min_space()

Нижний предел оси пространства смешивания для положения точек. См. add_blend_point().


float snap = 0.1 🔗

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


bool sync = false 🔗

  • void set_use_sync(value: bool)

  • bool is_using_sync()

Если false, кадр смешанной анимации останавливается, когда значение смешивания равно 0.

Если true, смешанная анимация принудительно переходит на следующий кадр.


String value_label = "value" 🔗

  • void set_value_label(value: String)

  • String get_value_label()

Метка виртуальной оси пространства смешивания.


Описания метода

void add_blend_point(node: AnimationRootNode, pos: float, at_index: int = -1) 🔗

Добавляет новую точку, которая представляет node на виртуальной оси в заданной позиции, заданной pos. Вы можете вставить ее в определенный индекс, используя аргумент at_index. Если вы используете значение по умолчанию для at_index, точка вставляется в конец массива точек смешивания.


int get_blend_point_count() const 🔗

Возвращает количество точек на оси смешивания.


AnimationRootNode get_blend_point_node(point: int) const 🔗

Возвращает AnimationNode, на который ссылается точка с индексом point.


float get_blend_point_position(point: int) const 🔗

Возвращает положение точки с индексом point.


void remove_blend_point(point: int) 🔗

Удаляет точку с индексом point из оси смешивания.


void set_blend_point_node(point: int, node: AnimationRootNode) 🔗

Изменяет AnimationNode, на который ссылается точка с индексом point.


void set_blend_point_position(point: int, pos: float) 🔗

Обновляет положение точки с индексом point на оси смешивания.