Q100277: Pythonで新しいノードを作成して配置する方法

まとめ

この記事では、Python コマンドを使用して、新しく作成されたノードをノード グラフに配置する方法について説明します。

Katanaでのスクリプト作成とノードの操作方法の詳細については Katana開発者ガイドの「ノードの操作」セクションを参照してください。

詳細情報

Pythonでノードを作成する

次の Python コマンドを使用してKatanaでノードを作成できます。

NodegraphAPI.CreateNode( nodeType , parent )

どこ:

  • nodeTypeは、利用可能なノードのリストに表示されるノード名です。このリストにアクセスするには、マウスを「ノードグラフ」タブの上に置いてTabキーを押します。
  • parent 、ノードグラフ内のルートノードまたはグループノードのいずれかになります。親がない場合、作成しようとしているノードは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: サポート チケットの発行方法」を参照してください

    私たちはそれを聞いて申し訳ございません

    理由をお聞かせください