Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

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

Array[StringName]

get_node_list() 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 的子動畫節點。


Array[StringName] get_node_list() const 🔗

返回一個列表,內含此混合樹中所有子動畫節點的名稱。


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

修改子動畫節點的位置。