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

フォローする

まとめ

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

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: サポート チケットを発行する方法」を参照してください

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

    理由をお聞かせください