如何获取AnimationNodeBlendTree中连接到输出节点输入的节点?
获取AnimationNodeOutput输入端连接的节点
在Godot中,要获取连接到AnimationNodeOutput输入端的节点,需通过它所属的AnimationNodeBlendTree来查询节点间的连接关系,具体实现如下:
操作步骤
首先确保你持有AnimationNodeBlendTree实例(假设命名为blend_tree)和对应的AnimationNodeOutput实例(假设命名为output_node),再根据Godot版本选择对应方法:
Godot 3.x版本
遍历所有连接,筛选目标节点的输入连接:
var connected_node = null for i in range(blend_tree.get_connection_count()): var conn = blend_tree.get_connection(i) # 输出节点仅一个输入端口,索引固定为0 if conn.to_node == output_node and conn.to_index == 0: connected_node = conn.from_node break # 存在连接时,connected_node即为输入端节点 if connected_node: print("已连接的节点:", connected_node.name)
Godot 4.x版本
获取连接数组后遍历筛选:
var connected_node = null for conn in blend_tree.get_connections(): if conn.to_node == output_node and conn.to_index == 0: connected_node = conn.from_node break if connected_node: print("已连接的节点:", connected_node.name)
补充说明
AnimationNodeOutput只有一个输入端口,索引固定为0,无需额外判断其他端口。- 若没有节点连接到输出端,
connected_node会保持为null,可通过此值判断连接是否存在。
内容的提问来源于stack exchange,提问作者nena
相关产品推荐
相关产品推荐

