AnimationNodeBlendSpace2D
Blends linearly between three of any type placed in a 2D space.
A resource to add to an AnimationNodeBlendTree.
This node allows you to blend linearly between three animations using a weight.
You can add vertices to the blend space with add_blend_point and automatically triangulate it by setting to . Otherwise, use add_triangle and to create up the blend space by hand.
Tutorials
Methods
void | add_blend_point ( node, Vector2 pos, at_index=-1 ) |
void | add_triangle ( x, int y, z, int at_index=-1 ) |
get_blend_point_count ( ) const | |
get_blend_point_node ( point ) const | |
Vector2 | ( int point ) const |
get_triangle_count ( ) const | |
get_triangle_point ( triangle, int point ) | |
void | ( int point ) |
void | ( int triangle ) |
void | ( int point, node ) |
void | set_blend_point_position ( point, Vector2 pos ) |
Emitted every time the blend space’s triangles are created, removed, or when one of their vertices changes position.
Enumerations
enum BlendMode:
- BLEND_MODE_INTERPOLATED = 0 —- The interpolation between animations is linear.
- BLEND_MODE_DISCRETE = 1 —- The blend space plays the animation of the node the blending position is closest to. Useful for frame-by-frame 2D animations.
- BLEND_MODE_DISCRETE_CARRY = 2 —- Similar to , but starts the new animation at the last animation’s playback position.
- bool auto_triangles
Default | true |
Setter | set_auto_triangles(value) |
Getter | get_auto_triangles() |
If true
, the blend space is triangulated automatically. The mesh updates every time you add or remove points with and remove_blend_point.
- blend_mode
- Vector2 max_space
Default | |
Setter | set_max_space(value) |
Getter | get_max_space() |
The blend space’s X and Y axes’ upper limit for the points’ position. See .
- Vector2 min_space
Default | Vector2( -1, -1 ) |
Setter | set_min_space(value) |
Getter | get_min_space() |
The blend space’s X and Y axes’ lower limit for the points’ position. See .
- Vector2 snap
Position increment to snap to when moving a point.
- x_label
Default | “x” |
Setter | set_x_label(value) |
Getter | get_x_label() |
Name of the blend space’s X axis.
- String y_label
Default | “y” |
Setter | set_y_label(value) |
Getter | get_y_label() |
Name of the blend space’s Y axis.
Method Descriptions
Adds a new point 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.
Creates a new triangle using three points x
, y
, and . Triangles can overlap. You can insert the triangle 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.
- get_blend_point_count ( ) const
- AnimationRootNode get_blend_point_node ( point ) const
Returns the AnimationRootNode referenced by the point at index point
.
- get_blend_point_position ( int point ) const
Returns the position of the point at index point
.
- get_triangle_count ( ) const
Returns the number of triangles in the blend space.
Returns the position of the point at index point
in the triangle of index triangle
.
- void remove_blend_point ( point )
Removes the point at index point
from the blend space.
- void remove_triangle ( int triangle )
Removes the triangle at index triangle
from the blend space.
- void set_blend_point_node ( point, AnimationRootNode node )
Changes the referenced by the point at index point
.
- void set_blend_point_position ( int point, pos )