Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
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à
|
||
|
||
|
||
|
||
|
||
|
||
|
Metodi
void |
add_blend_point(node: AnimationRootNode, pos: float, at_index: int = -1, name: StringName = &"") |
find_blend_point_by_name(name: StringName) const |
|
get_blend_point_count() const |
|
get_blend_point_name(point: int) const |
|
get_blend_point_node(point: int) const |
|
get_blend_point_position(point: int) const |
|
void |
remove_blend_point(point: int) |
void |
reorder_blend_point(from_index: int, to_index: int) |
void |
set_blend_point_name(point: int, name: StringName) |
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.
enum SyncMode: 🔗
SyncMode SYNC_MODE_NONE = 0
Inactive animations are frozen and do not advance.
SyncMode SYNC_MODE_INDEPENDENT = 1
Inactive animations advance with a weight of 0. This is equivalent to the previous sync = true behavior.
SyncMode SYNC_MODE_CYCLIC_MUTABLE = 2
All animations are time-scaled so they stay in sync, with the cycle length dynamically computed from active blend weights. This is self-normalizing: a solo animation plays at normal speed.
Note: If you apply AnimationNodeTimeSeek to the result when handling animations of different lengths, synchronization will be broken. In such cases, it is recommended to use AnimationNodeAnimation.use_custom_timeline to align the animation lengths.
SyncMode SYNC_MODE_CYCLIC_CONSTANT = 3
All animations are time-scaled so they complete one cycle in cyclic_length seconds, keeping them in sync regardless of their individual lengths.
Note: If you apply AnimationNodeTimeSeek to the result when handling animations of different lengths, synchronization will be broken. In such cases, it is recommended to use AnimationNodeAnimation.use_custom_timeline to align the animation lengths.
Descrizioni delle proprietà
Controlla l'interpolazione tra le animazioni.
The cycle length in seconds used by SYNC_MODE_CYCLIC_CONSTANT. All animations are time-scaled so they complete one full cycle in this duration. Must be greater than 0 for cyclic sync to take effect.
Il limite superiore dell'asse di fusione per la posizione dei punti. Vedi add_blend_point().
Il limite inferiore dell'asse di fusione per la posizione dei punti. Vedi add_blend_point().
Incremento dello scatto di posizione quando si sposta un punto sull'asse.
Deprecato: Use sync_mode instead.
If true, sync mode is enabled (equivalent to SYNC_MODE_INDEPENDENT). This property is kept for backward compatibility.
Controls how animations are synced when blended. See SyncMode for available options.
String value_label = "value" 🔗
Etichetta dell'asse virtuale dello spazio di fusione.
Descrizioni dei metodi
void add_blend_point(node: AnimationRootNode, pos: float, at_index: int = -1, name: StringName = &"") 🔗
Adds a new point with name that represents a node on the virtual axis at a given position set by pos. You can insert it at a specific index using the at_index argument. If you use the default value for at_index, the point is inserted at the end of the blend points array.
Note: If no name is provided, safe index is used as reference. In the future, empty names will be deprecated, so explicitly passing a name is recommended.
int find_blend_point_by_name(name: StringName) const 🔗
Returns the index of the blend point with the given name. Returns -1 if no blend point with that name is found.
int get_blend_point_count() const 🔗
Restituisce il numero di punti sull'asse di fusione.
StringName get_blend_point_name(point: int) const 🔗
Returns the name of the blend point at index point.
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 reorder_blend_point(from_index: int, to_index: int) 🔗
Swaps the blend points at indices from_index and to_index, exchanging their positions and properties.
void set_blend_point_name(point: int, name: StringName) 🔗
Sets the name of the blend point at index point. If the name conflicts with an existing point, a unique name will be generated automatically.
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.