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.
Checking the stable version of the documentation...
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_list() 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 的子動畫節點。
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) 🔗
修改子動畫節點的位置。