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
Inherits: AnimationRootNode < AnimationNode < Resource < RefCounted < Object
A set of AnimationRootNodes placed on a virtual axis, crossfading between the two adjacent ones. Used by AnimationTree.
Description
A resource used by AnimationNodeBlendTree.
AnimationNodeBlendSpace1D represents a virtual axis on which any type of AnimationRootNodes can be added using add_blend_point(). Outputs the linear blend of the two AnimationRootNodes adjacent to the current value.
You can set the extents of the axis with min_space and max_space.
Tutorials
Properties
|
||
|
||
|
||
|
||
|
||
|
Methods
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) |
Enumerations
enum BlendMode: 🔗
BlendMode BLEND_MODE_INTERPOLATED = 0
The interpolation between animations is linear.
BlendMode BLEND_MODE_DISCRETE = 1
The blend space plays the animation of the animation node which blending position is closest to. Useful for frame-by-frame 2D animations.
BlendMode BLEND_MODE_DISCRETE_CARRY = 2
Similar to BLEND_MODE_DISCRETE, but starts the new animation at the last animation's playback position.
Property Descriptions
Controls the interpolation between animations.
The blend space's axis's upper limit for the points' position. See add_blend_point().
The blend space's axis's lower limit for the points' position. See add_blend_point().
Position increment to snap to when moving a point on the axis.
If false, the blended animations' frame are stopped when the blend value is 0.
If true, forcing the blended animations to advance frame.
String value_label = "value" 🔗
Label of the virtual axis of the blend space.
Method Descriptions
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 🔗
Returns the number of points on the blend axis.
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 🔗
Returns the AnimationNode referenced by the point at index point.
float get_blend_point_position(point: int) const 🔗
Returns the position of the point at index point.
void remove_blend_point(point: int) 🔗
Removes the point at index point from the blend axis.
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) 🔗
Changes the AnimationNode referenced by the point at index point.
void set_blend_point_position(point: int, pos: float) 🔗
Updates the position of the point at index point on the blend axis.