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.

AnimationNodeBlendSpace1D

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

Un ensemble d'AnimationRootNodes placés sur un axe virtuel, faisant un fondu enchaîné entre les deux nœuds adjacents. Utilisé par AnimationTree.

Description

Une ressource utilisée par AnimationNodeBlendTree.

AnimationNodeBlendSpace1D représente un axe virtuel sur lequel tout type d'AnimationRootNode peut être ajouté en utilisant add_blend_point(). Produit le mélange linéaire des deux AnimationRootNode adjacents à la valeur courante.

Vous pouvez définir la plage de l'axe avec min_space et max_space.

Tutoriels

Propriétés

BlendMode

blend_mode

0

float

cyclic_length

0.0

float

max_space

1.0

float

min_space

-1.0

float

snap

0.1

bool

sync

SyncMode

sync_mode

0

String

value_label

"value"

Méthodes

void

add_blend_point(node: AnimationRootNode, pos: float, at_index: int = -1, name: StringName = &"")

int

find_blend_point_by_name(name: StringName) const

int

get_blend_point_count() const

StringName

get_blend_point_name(point: int) const

AnimationRootNode

get_blend_point_node(point: int) const

float

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)


É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

BlendMode blend_mode = 0 🔗

Contrôle l'interpolation entre les animations.


float cyclic_length = 0.0 🔗

  • void set_cyclic_length(value: float)

  • float get_cyclic_length()

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.


float max_space = 1.0 🔗

  • void set_max_space(value: float)

  • float get_max_space()

La limite supérieure de position pour des points sur l'axe de l'espace blend. Voir add_blend_point().


float min_space = -1.0 🔗

  • void set_min_space(value: float)

  • float get_min_space()

La limite inférieure de position pour des points sur l'axe de l'espace blend. Voir add_blend_point().


float snap = 0.1 🔗

Incrément de position (snap) quand un point est déplacé sur l'axe.


bool sync 🔗

  • void set_use_sync(value: bool)

  • bool is_using_sync()

Obsolète : Use sync_mode instead.

If true, sync mode is enabled (equivalent to SYNC_MODE_INDEPENDENT). This property is kept for backward compatibility.


SyncMode sync_mode = 0 🔗

Controls how animations are synced when blended. See SyncMode for available options.


String value_label = "value" 🔗

  • void set_value_label(value: String)

  • String get_value_label()

Étiquette de l'axe virtuel de l'espace blend.


Descriptions des méthodes

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 🔗

Renvoie le nombre de points sur l'axe de mélange.


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'AnimationNode référencé par le point à l'index point.


float get_blend_point_position(point: int) const 🔗

Renvoie la position du point à l'index point.


void remove_blend_point(point: int) 🔗

Supprime le point à l'index point de l'axe du 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: float) 🔗

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