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...
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
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
Méthodes
void |
add_blend_point(node: AnimationRootNode, pos: Vector2, at_index: int = -1, name: StringName = &"") |
void |
add_triangle(x: int, y: int, z: int, at_index: int = -1) |
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 |
|
get_triangle_count() const |
|
get_triangle_point(triangle: int, point: int) |
|
void |
remove_blend_point(point: int) |
void |
remove_triangle(triangle: 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: 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.
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.
Descriptions des propriétés
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().
Contrôle l'interpolation entre les animations.
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.
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.
Obsolète : 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.
Nom de l'axe X de l'espace de mélange.
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, name: StringName = &"") 🔗
Adds a new point with name that represents a node at the 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.
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 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 🔗
Renvoie le nombre de points dans le blend space.
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 🔗
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 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) 🔗
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.