AnimationNodeBlendSpace2D
Наследует: AnimationRootNode < AnimationNode < Resource < RefCounted < Object
Набор AnimationRootNode, размещенных в 2D-координатах, плавно переходящих между тремя соседними. Используется AnimationTree.
Описание
Ресурс, используемый AnimationNodeBlendTree.
AnimationNodeBlendSpace2D представляет собой виртуальное 2D-пространство, на котором размещены AnimationRootNode. Выводит линейное смешивание трех смежных анимаций с использованием веса Vector2. Смежный в этом контексте означает три AnimationRootNode, составляющие треугольник, содержащий текущее значение.
Вы можете добавить вершины в пространство смешивания с помощью add_blend_point() и автоматически триангулировать его, установив auto_triangles на true. В противном случае используйте add_triangle() и remove_triangle() для триангуляции пространства смешивания вручную.
Обучающие материалы
Свойства
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
Методы
void |
add_blend_point(node: AnimationRootNode, pos: Vector2, at_index: int = -1) |
void |
add_triangle(x: int, y: int, z: int, at_index: int = -1) |
get_blend_point_count() const |
|
get_blend_point_node(point: int) const |
|
get_blend_point_position(point: int) const |
|
get_triangle_count() const |
|
get_triangle_point(triangle: int, point: int) |
|
void |
remove_blend_point(point: int) |
void |
remove_triangle(triangle: int) |
void |
set_blend_point_node(point: int, node: AnimationRootNode) |
void |
set_blend_point_position(point: int, pos: Vector2) |
Сигналы
triangles_updated() 🔗
Вызывается каждый раз, когда создаются, удаляются треугольники пространства смешивания или когда одна из их вершин меняет положение.
Перечисления
enum BlendMode: 🔗
BlendMode BLEND_MODE_INTERPOLATED = 0
Интерполяция между анимациями линейная.
BlendMode BLEND_MODE_DISCRETE = 1
Пространство смешивания воспроизводит анимацию узла анимации, к которому ближе всего позиция смешивания. Полезно для покадровой 2D-анимации.
BlendMode BLEND_MODE_DISCRETE_CARRY = 2
Аналогично BLEND_MODE_DISCRETE, но запускает новую анимацию с позиции воспроизведения последней анимации.
Описания свойств
Если true, пространство смешивания триангулируется автоматически. Сетка обновляется каждый раз, когда вы добавляете или удаляете точки с помощью add_blend_point() и remove_blend_point().
Управляет интерполяцией между анимациями.
Vector2 max_space = Vector2(1, 1) 🔗
Верхний предел осей X и Y пространства смешивания для положения точек. См. add_blend_point().
Vector2 min_space = Vector2(-1, -1) 🔗
Нижний предел осей X и Y пространства смешивания для положения точек. См. add_blend_point().
Vector2 snap = Vector2(0.1, 0.1) 🔗
Приращение позиции для привязки при перемещении точки.
Если false, кадр смешанной анимации останавливается, когда значение смешивания равно 0.
Если true, смешанная анимация принудительно переходит на следующий кадр.
Имя оси X пространства смешивания.
Имя оси Y пространства смешивания.
Описания метода
void add_blend_point(node: AnimationRootNode, pos: Vector2, at_index: int = -1) 🔗
Добавляет новую точку, которая представляет node в позиции, заданной pos. Вы можете вставить ее в определенный индекс, используя аргумент at_index. Если вы используете значение по умолчанию для at_index, точка вставляется в конец массива точек смешивания.
void add_triangle(x: int, y: int, z: int, at_index: int = -1) 🔗
Создает новый треугольник, используя три точки x, y и z. Треугольники могут перекрываться. Вы можете вставить треугольник в определенный индекс, используя аргумент at_index. Если вы используете значение по умолчанию для at_index, точка вставляется в конец массива точек смешивания.
int get_blend_point_count() const 🔗
Возвращает количество точек в пространстве смешивания.
AnimationRootNode get_blend_point_node(point: int) const 🔗
Возвращает AnimationRootNode, на который ссылается точка с индексом point.
Vector2 get_blend_point_position(point: int) const 🔗
Возвращает положение точки с индексом point.
int get_triangle_count() const 🔗
Возвращает количество треугольников в пространстве смешивания.
int get_triangle_point(triangle: int, point: int) 🔗
Возвращает положение точки с индексом point в треугольнике с индексом triangle.
void remove_blend_point(point: int) 🔗
Удаляет точку с индексом point из пространства смешивания.
void remove_triangle(triangle: int) 🔗
Удаляет треугольник с индексом triangle из пространства смешивания.
void set_blend_point_node(point: int, node: AnimationRootNode) 🔗
Изменяет AnimationNode, на который ссылается точка с индексом point.
void set_blend_point_position(point: int, pos: Vector2) 🔗
Обновляет положение точки с индексом point в пространстве смешивания.