AnimationNodeBlendTree

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

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

描述

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

默认会创建一个名为 outputAnimationNodeOutput 节点。

教程

属性

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) 🔗

修改子动画节点的位置。