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

Hereda: AnimationRootNode < AnimationNode < Resource < RefCounted < Object

Un conjunto de AnimationRootNodes colocados en un eje virtual, con transición cruzada entre los dos adyacentes. Usado por AnimationTree.

Descripción

Un recurso utilizado por AnimationNodeBlendTree.

AnimationNodeBlendSpace1D representa un eje virtual en el que se puede agregar cualquier tipo de AnimationRootNode usando add_blend_point(). Genera la mezcla lineal de los dos AnimationRootNode adyacentes al valor actual.

Puede establecer los límites del eje con min_space y max_space.

Tutoriales

Propiedades

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étodos

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)


Enumeraciones

enum BlendMode: 🔗

BlendMode BLEND_MODE_INTERPOLATED = 0

La interpolación entre las animaciones es lineal.

BlendMode BLEND_MODE_DISCRETE = 1

El espacio de mezcla reproduce la animación del nodo de animación cuya posición de mezcla es la más cercana. Es útil para las animaciones 2D fotograma a fotograma.

BlendMode BLEND_MODE_DISCRETE_CARRY = 2

Similar a BLEND_MODE_DISCRETE, pero inicia la nueva animación en la posición de reproducción de la última animación.


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.


Descripciones de Propiedades

BlendMode blend_mode = 0 🔗

Controla la interpolación entre animaciones.


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()

El límite superior del eje del espacio de mezcla para la posición de los puntos. Véase add_blend_point().


float min_space = -1.0 🔗

  • void set_min_space(value: float)

  • float get_min_space()

El límite inferior del eje del espacio de mezcla para la posición de los puntos. Véase add_blend_point().


float snap = 0.1 🔗

Incremento de la posición a la que se ajusta cuando se mueve un punto en el eje.


bool sync 🔗

  • void set_use_sync(value: bool)

  • bool is_using_sync()

Obsoleto: 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()

Etiqueta del eje virtual del espacio de mezcla.


Descripciones de Métodos

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 🔗

Devuelve el número de puntos en el eje de la mezcla.


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 🔗

Devuelve el AnimationNode referenciado por el punto en el índice point.


float get_blend_point_position(point: int) const 🔗

Devuelve la posición del punto en el índice point.


void remove_blend_point(point: int) 🔗

Elimina el punto en el índice point del eje de la mezcla.


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) 🔗

Cambia el AnimationNode al que se refiere el punto en el índice point.


void set_blend_point_position(point: int, pos: float) 🔗

Actualiza la posición del punto en el índice point en el eje de la mezcla.