AnimationNodeBlendTree

继承: AnimationRootNode < AnimationNode < Resource < RefCounted < Object

用于复杂动画的多种类型的子树AnimationNode。由AnimationTree使用。

描述

此动画节点可能包含任何其他类型动画节点的子树,例如AnimationNodeTransitionAnimationNodeBlend2AnimationNodeBlend3AnimationNodeOneShot等,这是最常用的动画节点根之一。

默认情况下会创建一个名为outAnimationNodeOutput节点。

属性

Vector2

graph_offset

Vector2(0, 0)

方法

void

add_node(name: StringName, node: AnimationNode, position: Vector2 = Vector2(0, 0))

void

connect_node(input_node: StringName, input_index: int, output_node: StringName)

void

disconnect_node(input_node: StringName, input_index: int)

AnimationNode

get_node(name: StringName) const

Vector2

get_node_position(name: StringName) const

bool

has_node(name: StringName) const

void

remove_node(name: StringName)

void

rename_node(name: StringName, new_name: StringName)

void

set_node_position(name: StringName, position: Vector2)


信号

node_changed(node_name: StringName) 🔗

当输入端口信息发生变化时发出。


常量

CONNECTION_OK = 0 🔗

连接成功。

CONNECTION_ERROR_NO_INPUT = 1 🔗

输入节点为null

CONNECTION_ERROR_NO_INPUT_INDEX = 2 🔗

指定的输入端口超出范围。

CONNECTION_ERROR_NO_OUTPUT = 3 🔗

输出节点为null

CONNECTION_ERROR_SAME_NODE = 4 🔗

输入和输出节点相同。

CONNECTION_ERROR_CONNECTION_EXISTS = 5 🔗

指定的连接已存在。


属性说明

Vector2 graph_offset = Vector2(0, 0) 🔗

所有子动画节点的全局偏移量。


方法说明

void add_node(name: StringName, node: AnimationNode, position: Vector2 = Vector2(0, 0)) 🔗

在给定的position添加一个AnimationNodename用于标识稍后创建的子动画节点。


void connect_node(input_node: StringName, input_index: int, output_node: StringName) 🔗

连接一个AnimationNode的输出作为另一个AnimationNode的输入,在input_index指定的输入端口。


void disconnect_node(input_node: StringName, input_index: int) 🔗

断开连接到指定输入的动画节点。


AnimationNode get_node(name: StringName) const 🔗

返回具有指定name的子动画节点。


Vector2 get_node_position(name: StringName) const 🔗

返回具有指定name的子动画节点的位置。


bool has_node(name: StringName) const 🔗

如果存在具有指定name的子动画节点,则返回true


void remove_node(name: StringName) 🔗

删除子动画节点。


void rename_node(name: StringName, new_name: StringName) 🔗

更改子动画节点的名称。


void set_node_position(name: StringName, position: Vector2) 🔗

修改子动画节点的位置。