AnimationNodeBlendSpace1D

Eredita: AnimationRootNode < AnimationNode < Resource < RefCounted < Object

Una serie di AnimationRootNode posizionati su un asse virtuale, con dissolvenza incrociata tra i due adiacenti. Utilizzato da AnimationTree.

Descrizione

Una risorsa utilizzata da AnimationNodeBlendTree.

AnimationNodeBlendSpace1D rappresenta un asse virtuale su cui è possibile aggiungere qualsiasi tipo di AnimationRootNode tramite add_blend_point(). Restituisce la fusione lineare dei due AnimationRootNode adiacenti al valore attuale.

È possibile impostare le estensioni dell'asse con min_space e max_space.

Tutorial

Proprietà

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"

Metodi

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)


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à

BlendMode blend_mode = 0 🔗

Controlla l'interpolazione tra le animazioni.


float max_space = 1.0 🔗

  • void set_max_space(value: float)

  • float get_max_space()

Il limite superiore dell'asse di fusione per la posizione dei punti. Vedi add_blend_point().


float min_space = -1.0 🔗

  • void set_min_space(value: float)

  • float get_min_space()

Il limite inferiore dell'asse di fusione per la posizione dei punti. Vedi add_blend_point().


float snap = 0.1 🔗

Incremento dello scatto di posizione quando si sposta un punto sull'asse.


bool sync = false 🔗

  • void set_use_sync(value: bool)

  • bool is_using_sync()

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.


String value_label = "value" 🔗

  • void set_value_label(value: String)

  • String get_value_label()

Etichetta dell'asse virtuale dello spazio di fusione.


Descrizioni dei metodi

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

Aggiunge un nuovo punto che rappresenta un nodo node sull'asse virtuale in una determinata posizione impostata da pos. È possibile inserirlo in 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 sull'asse di fusione.


AnimationRootNode get_blend_point_node(point: int) const 🔗

Restituisce l'AnimationNode riferito dal punto all'indice point.


float get_blend_point_position(point: int) const 🔗

Restituisce la posizione del punto all'indice point.


void remove_blend_point(point: int) 🔗

Rimuove il punto all'indice point dall'asse 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: float) 🔗

Aggiorna la posizione del punto all'indice point sull'asse di fusione.