Q100277:如何通过Python创建和定位新节点

关注

概括

本文介绍如何通过 Python 命令在节点图中定位新创建的节点。

有关Katana中的脚本以及如何使用节点的更多信息,请参阅 Katana 开发人员指南的使用节点部分Katana

更多信息


通过Python创建节点

可以使用以下 Python 命令在Katana中创建节点:

NodegraphAPI.CreateNode( nodeType , parent )

在哪里:

  • nodeType是可用节点列表中显示的节点名称。您可以通过将鼠标悬停在“节点图”选项卡上并按“选项卡”按钮来访问此列表。
  • 父节点可以是根节点,也可以是节点图中的组节点。如果没有父节点,您尝试创建的节点将不会出现在 UI 中。

例如,要在节点图中添加 CameraCreate 节点,请使用以下命令:

node = NodegraphAPI.CreateNode("CameraCreate", NodegraphAPI.GetRootNode())

默认节点位置

当通过Python创建新节点时,它们将始终放置在节点图的中心,节点位置为(0,0)。它并不总是位于节点图选项卡中当前可见的节点图部分的中心,您可能需要平移视口才能找到新节点。

此默认行为对应于以下 Python 命令:

NodegraphAPI.SetNodePosition(node, (0,0))

通过Python在节点图中定位节点

要将新节点放置在当前节点图视口的中心,您可以使用以下 Python 命令查询节点图的可见部分并定位节点:

root = NodegraphAPI.GetRootNode() 
pos = NodegraphAPI.GetViewPortPosition(root)
# this returns a tuple containing the position and scale of the view information of a group network. This works because the Root node is also a Group node

node = NodegraphAPI.CreateNode("CameraCreate", root)
NodegraphAPI.SetNodePosition(node, (pos[0][0], pos[0][1]))

如果您遇到任何问题,请打开支持票证并让我们了解该问题以及您迄今为止采取的故障排除步骤。

有关如何开立支持票证的更多信息,请参阅Q100064:如何提出支持票证

    我们很遗憾听到

    请告诉我们