跳到主要内容

AnimationNodeBlendSpace2D

继承

AnimationRootNode

简要描述

线性混合位于2D空间中的任何类型的三个AnimationNode

描述

要添加到AnimationNodeBlendTree的资源。

该节点允许您使用Vector2权重在三个动画之间线性混合。

您可以使用add_blend_point将顶点添加到混合空间,并通过将auto_triangles设置为true将其自动三角化。否则,使用add_triangleremove_triangle手动创建混合空间。

成员

类型属性名默认值
boolauto_trianglestrue
intblend_mode0
Vector2max_spaceVector2( 1, 1 )
Vector2min_spaceVector2( -1, -1 )
Vector2snapVector2( 0.1, 0.1 )
Stringx_label"x"
Stringy_label"y"

方法

返回值类型方法名称
voidadd_blend_point(node: AnimationRootNode, pos: Vector2, at_index: int = -1)
voidadd_triangle(x: int, y: int, z: int, at_index: int = -1)
intget_blend_point_count() const
AnimationRootNodeget_blend_point_node(point: int) const
Vector2get_blend_point_position(point: int) const
intget_triangle_count() const
intget_triangle_point(triangle: int, point: int)
voidremove_blend_point(point: int)
voidremove_triangle(triangle: int)
voidset_blend_point_node(point: int, node: AnimationRootNode)
voidset_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
Defaulttrue
setterset_auto_triangles(value)
getterget_auto_triangles
  • int blend_mode
Default0
setterset_blend_mode(value)
getterget_blend_mode
  • Vector2 max_space
DefaultVector2( 1, 1 )
setterset_max_space(value)
getterget_max_space
  • Vector2 min_space
DefaultVector2( -1, -1 )
setterset_min_space(value)
getterget_min_space
  • Vector2 snap
DefaultVector2( 0.1, 0.1 )
setterset_snap(value)
getterget_snap
  • String x_label
Default"x"
setterset_x_label(value)
getterget_x_label
  • String y_label
Default"y"
setterset_y_label(value)
getterget_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)

使用三个点xyz创建一个新的三角形。三角形可以重叠。可以使用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上的点的位置。