On this page
AnimationNodeBlendSpace2D
Inherits: AnimationRootNode < AnimationNode < Resource < Reference < Object
Blends linearly between three AnimationNode of any type placed in a 2D space.
Description
A resource to add to an AnimationNodeBlendTree.
This node allows you to blend linearly between three animations using a Vector2 weight.
You can add vertices to the blend space with add_blend_point and automatically triangulate it by setting auto_triangles to true. Otherwise, use add_triangle and remove_triangle to create up the blend space by hand.
Tutorials
Properties
| bool | auto_triangles | true |
| BlendMode | blend_mode | 0 |
| Vector2 | max_space | Vector2( 1, 1 ) |
| Vector2 | min_space | Vector2( -1, -1 ) |
| Vector2 | snap | Vector2( 0.1, 0.1 ) |
| String | x_label | "x" |
| String | y_label | "y" |
Methods
| void | add_blend_point ( AnimationRootNode node, Vector2 pos, int at_index=-1 ) |
| void | add_triangle ( int x, int y, int z, int at_index=-1 ) |
| int | get_blend_point_count ( ) const |
| AnimationRootNode | get_blend_point_node ( int point ) const |
| Vector2 | get_blend_point_position ( int point ) const |
| int | get_triangle_count ( ) const |
| int | get_triangle_point ( int triangle, int point ) |
| void | remove_blend_point ( int point ) |
| void | remove_triangle ( int triangle ) |
| void | set_blend_point_node ( int point, AnimationRootNode node ) |
| void | set_blend_point_position ( int point, Vector2 pos ) |
Signals
triangles_updated ( )
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 BLEND_MODE_DISCRETE, but starts the new animation at the last animation's playback position.
Property Descriptions
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 add_blend_point and remove_blend_point.
BlendMode blend_mode
| Default | 0 |
| Setter | set_blend_mode(value) |
| Getter | get_blend_mode() |
Controls the interpolation between animations. See BlendMode constants.
Vector2 max_space
| Default | Vector2( 1, 1 ) |
| Setter | set_max_space(value) |
| Getter | get_max_space() |
The blend space's X and Y axes' upper limit for the points' position. See add_blend_point.
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 add_blend_point.
Vector2 snap
| Default | Vector2( 0.1, 0.1 ) |
| Setter | set_snap(value) |
| Getter | get_snap() |
Position increment to snap to when moving a point.
String 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
void add_blend_point ( AnimationRootNode node, Vector2 pos, int at_index=-1 )
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.
void add_triangle ( int x, int y, int z, int at_index=-1 )
Creates a new triangle using three points x, y, and z. 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.
int get_blend_point_count ( ) const
Returns the number of points in the blend space.
AnimationRootNode get_blend_point_node ( int point ) const
Returns the AnimationRootNode referenced by the point at index point.
Vector2 get_blend_point_position ( int point ) const
Returns the position of the point at index point.
int get_triangle_count ( ) const
Returns the number of triangles in the blend space.
int get_triangle_point ( int triangle, int point )
Returns the position of the point at index point in the triangle of index triangle.
void remove_blend_point ( int 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 ( int point, AnimationRootNode node )
Changes the AnimationNode referenced by the point at index point.
void set_blend_point_position ( int point, Vector2 pos )
Updates the position of the point at index point on the blend axis.
© 2014–2020 Juan Linietsky, Ariel Manzur, Godot Engine contributors
Licensed under the MIT License.
https://docs.godotengine.org/en/3.2/classes/class_animationnodeblendspace2d.html