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(), щоб тріангулювати простір змішування вручну.

Посібники

Властивості

bool

auto_triangles

true

BlendMode

blend_mode

0

Vector2

max_space

Vector2(1, 1)

Vector2

min_space

Vector2(-1, -1)

Vector2

snap

Vector2(0.1, 0.1)

bool

sync

false

String

x_label

"x"

String

y_label

"y"

Методи

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)

int

get_blend_point_count() const

AnimationRootNode

get_blend_point_node(point: int) const

Vector2

get_blend_point_position(point: int) const

int

get_triangle_count() const

int

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, але починає нову анімацію з позиції відтворення останньої анімації.


Описи властивостей

bool auto_triangles = true 🔗

  • void set_auto_triangles(value: bool)

  • bool get_auto_triangles()

Якщо true, простір змішування тріангулюється автоматично. Меш (сітка) оновлюється щоразу, коли ви додаєте або видаляєте точки за допомогою add_blend_point() і remove_blend_point().


BlendMode blend_mode = 0 🔗

Керує інтерполяцією між анімаціями.


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) 🔗

Приріст позиції, до якого слід прив'язуватись при переміщенні точки.


bool sync = false 🔗

  • void set_use_sync(value: bool)

  • bool is_using_sync()

Якщо false, кадр змішаної анімації зупиняється, коли значення змішування дорівнює 0.

Якщо true, примушує змішані анімації відтворюватися вперед на один кадр.


String x_label = "x" 🔗

Назва осі X простору змішування.


String y_label = "y" 🔗

Назва осі 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 у просторі змішування.