AnimationNodeBlendTree
继承: AnimationRootNode < AnimationNode < Resource < RefCounted < Object
用于复杂动画的许多类型 AnimationNode 的子树。由 AnimationTree 使用。
描述
这个动画节点可以包含任何其他类型动画节点的子树,例如 AnimationNodeTransition、AnimationNodeBlend2、AnimationNodeBlend3、AnimationNodeOneShot 等。这是最常用的动画节点根之一。
默认会创建一个名为 output
的 AnimationNodeOutput 节点。
教程
属性
|
方法
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) |
get_node(name: StringName) const | |
get_node_position(name: StringName) const | |
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
添加一个 AnimationNode。name
用于后续识别该创建的子动画节点。
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) 🔗
修改子动画节点的位置。