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) 🔗
修改子動畫節點的位置。