AnimationNodeBlendSpace2D

Inherits: AnimationRootNode < AnimationNode < Resource < Reference < Object

在二维空间中放置的三个任意类型的AnimationNode之间线性融合。

描述

添加到 AnimationNodeBlendTree 的资源。

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

您可以使用 add_blend_point 向混合空间添加顶点,并通过将 auto_triangles 设置为 true 来自动进行三角测量。否则,请使用 add_triangleremove_triangle 手工创建混合空间。

教程

属性

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”

方法

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 )

信号

  • 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()

如果 true,混合空间会自动进行三角测量。每次使用 add_blend_pointremove_blend_point 添加或移除点时,网格都会更新。


Default

0

Setter

set_blend_mode(value)

Getter

get_blend_mode()

控制动画之间的插值。参阅 BlendMode 常量。


Default

Vector2( 1, 1 )

Setter

set_max_space(value)

Getter

get_max_space()

混合空间的 X 轴和 Y 轴的点的位置上限。请参阅 add_blend_point


Default

Vector2( -1, -1 )

Setter

set_min_space(value)

Getter

get_min_space()

混合空间的 X 轴和 Y 轴的点的位置下限。请参阅 add_blend_point


Default

Vector2( 0.1, 0.1 )

Setter

set_snap(value)

Getter

get_snap()

移动点时要对齐的位置增量。


Default

“x”

Setter

set_x_label(value)

Getter

get_x_label()

混合空间X轴的名称。


Default

“y”

Setter

set_y_label(value)

Getter

get_y_label()

混合空间Y轴的名称。

方法说明

pos 设定的位置添加一个代表 node 的新点。您可以使用 at_index 参数将它插入到特定的索引中。如果您使用 at_index 的默认值,这个点会被插入到混合点数组的最后。


使用 xyand z 三个点创建一个新的三角形。三角形可以重叠。您可以使用 at_index 参数在特定的索引处插入三角形。如果您使用 at_index 的默认值,该点会被插入到混合点数组的最后。


  • int get_blend_point_count ( ) const

返回混合空间中的点的数量。


返回索引point处的点所引用的AnimationRootNode


  • Vector2 get_blend_point_position ( int point ) const

返回索引point处的点的位置。


  • int get_triangle_count ( ) const

返回混合空间中三角形的数量。


  • int get_triangle_point ( int triangle, int point )

返回索引point处的点在索引triangle的三角形中的位置。


  • void remove_blend_point ( int point )

从混合空间中删除索引point处的点。


  • void remove_triangle ( int triangle )

从混合空间中删除索引triangle处的三角形。


改变索引point处的点所引用的AnimationNode


  • void set_blend_point_position ( int point, Vector2 pos )

更新混合轴上索引point处的点的位置。