AnimationNodeBlendSpace2D
Eredita: AnimationRootNode < AnimationNode < Resource < RefCounted < Object
Una serie di AnimationRootNode posizionati su coordinate 2D, con dissolvenza incrociata tra i tre adiacenti. Utilizzato da AnimationTree.
Descrizione
Una risorsa utilizzata da AnimationNodeBlendTree.
AnimationNodeBlendSpace2D rappresenta uno spazio 2D virtuale su cui sono posizionati gli AnimationRootNode. Produce la fusione lineare delle tre animazioni adiacenti attraverso un peso di tipo Vector2. Adiacente in questo contesto significa i tre AnimationRootNode che compongono il triangolo che contiene il valore attuale.
È possibile aggiungere vertici allo spazio di fusione con add_blend_point() e triangolarlo automaticamente impostando auto_triangles su true. Altrimenti, bisogna usare add_triangle() e remove_triangle() per triangolare manualmente lo spazio di fusione.
Tutorial
Proprietà
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
Metodi
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) |
Segnali
triangles_updated() 🔗
Emesso ogni volta che i triangoli dello spazio di fusione vengono creati, rimossi o quando uno dei loro vertici cambia di posizione.
Enumerazioni
enum BlendMode: 🔗
BlendMode BLEND_MODE_INTERPOLATED = 0
L'interpolazione tra le animazioni è lineare.
BlendMode BLEND_MODE_DISCRETE = 1
Lo spazio di fusione riproduce l'animazione del nodo di animazione a cui è più vicina la posizione di fusione. Utile per le animazioni 2D fotogramma per fotogramma.
BlendMode BLEND_MODE_DISCRETE_CARRY = 2
Simile a BLEND_MODE_DISCRETE, ma avvia la nuova animazione dalla posizione di riproduzione dell'animazione precedente.
Descrizioni delle proprietà
Se true, lo spazio di fusione è triangolato automaticamente. La mesh si aggiorna ogni volta che aggiungi o rimuovi punti con add_blend_point() e remove_blend_point().
Controlla l'interpolazione tra le animazioni.
Vector2 max_space = Vector2(1, 1) 🔗
Il limite superiore per la posizione dei punti sugli assi X e Y nello spazio di fusione. Vedi add_blend_point().
Vector2 min_space = Vector2(-1, -1) 🔗
Il limite inferiore per la posizione dei punti sugli assi X e Y nello spazio di fusione. Vedi add_blend_point().
Vector2 snap = Vector2(0.1, 0.1) 🔗
Incremento dello scatto di posizione quando si sposta un punto.
Se false, l'avanzamento dei fotogrammi delle animazioni fuse viene interrotto quando il valore di fusione è 0.
Se true, forza le animazioni fuse ad avanzare i loro fotogrammi.
Nome dell'asse X nello spazio di fusione.
Nome dell'asse Y nello spazio di fusione.
Descrizioni dei metodi
void add_blend_point(node: AnimationRootNode, pos: Vector2, at_index: int = -1) 🔗
Aggiunge un nuovo punto che rappresenta un nodo node nella posizione impostata da pos. È possibile inserirlo a un indice specifico tramite l'argomento at_index. Se si usa il valore predefinito per at_index, il punto è inserito alla fine dell'array dei punti di fusione.
void add_triangle(x: int, y: int, z: int, at_index: int = -1) 🔗
Crea un nuovo triangolo usando i tre punti x, y e z. I triangoli possono sovrapporsi. È possibile inserire il triangolo a un indice specifico tramite l'argomento at_index. Se si usa il valore predefinito per at_index, il punto è inserito alla fine dell'array dei punti di fusione.
int get_blend_point_count() const 🔗
Restituisce il numero di punti nello spazio di fusione.
AnimationRootNode get_blend_point_node(point: int) const 🔗
Restituisce l'AnimationRootNode riferito dal punto all'indice point.
Vector2 get_blend_point_position(point: int) const 🔗
Restituisce la posizione del punto all'indice point.
int get_triangle_count() const 🔗
Restituisce il numero di triangoli nello spazio di fusione.
int get_triangle_point(triangle: int, point: int) 🔗
Restituisce la posizione del punto all'indice point nel triangolo dell'indice triangle.
void remove_blend_point(point: int) 🔗
Rimuove il punto all'indice point dallo spazio di fusione.
void remove_triangle(triangle: int) 🔗
Rimuove il triangolo all'indice triangle dallo spazio di fusione.
void set_blend_point_node(point: int, node: AnimationRootNode) 🔗
Modifica l'AnimationNode a cui fa riferimento il punto all'indice point.
void set_blend_point_position(point: int, pos: Vector2) 🔗
Aggiorna la posizione del punto all'indice point sullo spazio di fusione.