AnimationNodeBlendSpace2D

Hérite de : AnimationRootNode < AnimationNode < Resource < RefCounted < Object

Un ensemble d'AnimationRootNodes placés sur des coordonnées 2D, faisant un fondu enchaîné entre les trois nœuds adjacents. Utilisé par AnimationTree.

Description

Une ressource utilisée par AnimationNodeBlendTree.

AnimationNodeBlendSpace2D représente un espace virtuel 2D sur lequel des AnimationRootNodes sont placés. Produit le mélange linéaire des trois animations adjacentes en utilisant un poids Vector2. Adjacent dans ce contexte signifie que les trois AnimationRootNode composent le triangle qui contient la valeur actuelle.

Vous pouvez ajouter des sommets à l'espace de mélange avec add_blend_point() et le trianguler automatiquement en définissant auto_triangles à true. Sinon, utilisez add_triangle() et remove_triangle() pour trianguler l'espace de mélange à la main.

Tutoriels

Propriétés

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"

Méthodes

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)


Signaux

triangles_updated() 🔗

Émis à chaque création, suppression de triangles ou changement de position de l'un de leurs sommets dans le blend space.


Énumérations

enum BlendMode: 🔗

BlendMode BLEND_MODE_INTERPOLATED = 0

L'interpolation entre les animations est linéaire.

BlendMode BLEND_MODE_DISCRETE = 1

L'espace de mélange joue l'animation du nœud d'animation dont la position de mélange le plus proche. Utile pour les animations 2D trame par trame.

BlendMode BLEND_MODE_DISCRETE_CARRY = 2

Semblable à BLEND_MODE_DISCRETE, mais commence la nouvelle animation à la dernière position de lecture de l'animation suivante.


Descriptions des propriétés

bool auto_triangles = true 🔗

  • void set_auto_triangles(value: bool)

  • bool get_auto_triangles()

Si true, le blend space est triangulé automatiquement. Le maillage se met à jour à chaque ajout ou suppression de points via add_blend_point() et remove_blend_point().


BlendMode blend_mode = 0 🔗

Contrôle l'interpolation entre les animations.


Vector2 max_space = Vector2(1, 1) 🔗

La limite supérieure pour les positions des point sur les axes X/Y de l'espace de mélange. Voir add_blend_point().


Vector2 min_space = Vector2(-1, -1) 🔗

La limite inférieure pour les positions des point sur les axes X/Y de l'espace de mélange. Voir add_blend_point().


Vector2 snap = Vector2(0.1, 0.1) 🔗

L' incrément de position à laquelle s'accrocher lorsque l'on bouge un point.


bool sync = false 🔗

  • void set_use_sync(value: bool)

  • bool is_using_sync()

Si false, la trame des animations mélangées est arrêtée lorsque la valeur du mélange vaut 0.

Si true, force les animations mélangées à avancer dans les trames.


String x_label = "x" 🔗

Nom de l'axe X de l'espace de mélange.


String y_label = "y" 🔗

Nom de l'axe Y de l'espace de mélange.


Descriptions des méthodes

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

Ajoute un nouveau point qui représente un nœud node à une position donnée par pos. Il est possible de l'insérer à l'index spécifié en utilisant l'argument at_index. Si vous utilisez la valeur par défaut pour at_index, le point est inséré à la fin du tableau des points de mélange.


void add_triangle(x: int, y: int, z: int, at_index: int = -1) 🔗

Crée un nouveau triangle en utilisant trois points x, y, et z. Les triangles peuvent se superposer. Vous pouvez insérer un triangle à un index spécifique en utilisant l'argument at_index. Si vous utilisez une valeur par défaut pour at_index, le point est inséré à la fin de la séquence des points de mélange.


int get_blend_point_count() const 🔗

Renvoie le nombre de points dans le blend space.


AnimationRootNode get_blend_point_node(point: int) const 🔗

Renvoie l'AnimationRootNode référencé par le point à l'index point.


Vector2 get_blend_point_position(point: int) const 🔗

Renvoie la position du point à l'index point.


int get_triangle_count() const 🔗

Renvoie le nombre de triangles dans le blend space.


int get_triangle_point(triangle: int, point: int) 🔗

Renvoie la position du point à l'index point dans le triangle à l'index triangle.


void remove_blend_point(point: int) 🔗

Supprime le point à l'index point de l'espace de mélange.


void remove_triangle(triangle: int) 🔗

Supprime le triangle à l'index triangle de l'espace de mélange.


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

Change l'AnimationNode référencé par le point à l'index point.


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

Met à jour la position du point à l'index point sur l'axe de mélange.