AnimationNodeBlendSpace2D
继承
简要描述
线性混合位于2D空间中的任何类型的三个AnimationNode。
描述
要添加到AnimationNodeBlendTree的资源。
该节点允许您使用Vector2权重在三个动画之间线性混合。
您可以使用add_blend_point将顶点添加到混合空间,并通过将auto_triangles设置为true
将其自动三角化。否则,使用add_triangle和remove_triangle手动创建混合空间。
成员
类型 | 属性名 | 默认值 |
---|---|---|
bool | auto_triangles | true |
int | 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" |
方法
返回值类型 | 方法名称 |
---|---|
void | add_blend_point(node: AnimationRootNode, pos: Vector2, at_index: int = -1) |
void | add_triangle(x: int, y: int, z: int, at_index: int = -1) |
int | get_blend_point_count() const |
AnimationRootNode | get_blend_point_node(point: int) const |
Vector2 | get_blend_point_position(point: int) const |
int | get_triangle_count() const |
int | get_triangle_point(triangle: int, point: int) |
void | remove_blend_point(point: int) |
void | remove_triangle(triangle: int) |
void | set_blend_point_node(point: int, node: AnimationRootNode) |
void | set_blend_point_position(point: int, pos: Vector2) |
信号
- **triangles_updated**
每次创建,删除混合空间的三角形或它们的其中一个顶点改变位置时发出信号。
枚举
enum BlendMode:
- **BLEND_MODE_INTERPOLATED = 0**
动画之间的插值是线性的。
- **BLEND_MODE_DISCRETE = 1**
混合空间播放混合位置最接近的节点的动画。适用于逐帧2D动画。
- **BLEND_MODE_DISCRETE_CARRY = 2**
与BLEND_MODE_DISCRETE相似,但是在上一个动画的播放位置开始新动画。
常量
成员说明
- bool auto_triangles
Default | true |
---|---|
setter | set_auto_triangles(value) |
getter | get_auto_triangles |
- int blend_mode
Default | 0 |
---|---|
setter | set_blend_mode(value) |
getter | get_blend_mode |
- Vector2 max_space
Default | Vector2( 1, 1 ) |
---|---|
setter | set_max_space(value) |
getter | get_max_space |
- Vector2 min_space
Default | Vector2( -1, -1 ) |
---|---|
setter | set_min_space(value) |
getter | get_min_space |
- Vector2 snap
Default | Vector2( 0.1, 0.1 ) |
---|---|
setter | set_snap(value) |
getter | get_snap |
- String x_label
Default | "x" |
---|---|
setter | set_x_label(value) |
getter | get_x_label |
- String y_label
Default | "y" |
---|---|
setter | set_y_label(value) |
getter | get_y_label |
方法说明
- add_blend_point add_blend_point(node: AnimationRootNode, pos: Vector2, at_index: int = -1)
在由pos
设置的位置处添加一个表示node
的新点。可以使用at_index
参数将其插入特定索引。如果使用at_index
索引处的默认值,则该点将插入到混合点数组的末尾。
- add_triangle add_triangle(x: int, y: int, z: int, at_index: int = -1)
使用三个点x
,y
和z
创建一个新的三角形。三角形可以重叠。可以使用at_index
参数在特定索引处插入三角形。如果使用at_index
索引处的默认值,则该点将插入到混合点数组的末尾。
- get_blend_point_count get_blend_point_count() const
返回混合空间中的点数。
- get_blend_point_node get_blend_point_node(point: int) const
返回索引point
处的点所引用的AnimationRootNode。
- get_blend_point_position get_blend_point_position(point: int) const
返回索引point
上点的位置。
- get_triangle_count get_triangle_count() const
返回混合空间中的三角形数。
- get_triangle_point get_triangle_point(triangle: int, point: int)
返回索引为triangle
的三角形中索引为point
处的点的位置。
- remove_blend_point remove_blend_point(point: int)
从混合空间中删除索引point
处的点。
- remove_triangle remove_triangle(triangle: int)
从混合空间中删除索引为triangle
的三角形。
- set_blend_point_node set_blend_point_node(point: int, node: AnimationRootNode)
更改索引point
处的点所引用的AnimationNode。
- set_blend_point_position set_blend_point_position(point: int, pos: Vector2)
更新混合轴上索引point
上的点的位置。