Q100413: C_CameraSolverノードにカスタムリグプリセットを追加する方法

まとめ

CaraVRおよびNukeXの C_CameraSolver ノードには、360 ショットを解決するための適切な基盤として使用できるプリセット リグのリストがあります。

この記事では、このリストに独自のリグを追加する方法について説明します。これにより、アーティストは特定のリグに対して同じ開始点を使用できるようになります。これにより、ショット間のソルバの一貫性が向上し、より迅速にソルバを実行できるようになります。

詳細情報

C_CameraSolverノードに表示されるカスタムプリセットを作成するには、.nukeディレクトリ内のinit.pyファイルに特定のリグを追加する必要があります。これは以下の手順で実行できます。

1) C_CameraSolverノードを作成し、以下に示すように、プリセットを作成する特定のカメラ リグに対してこれを解析します。

ショットの解析に関する詳細は、オンラインヘルプの「カメラの解析」をご覧ください。

2) C_CameraSolverノードを選択し、スクリプト エディターで次のコードを実行します。

node = nuke .selectedNode()
print(repr(node.knobs()["cameraRig"].toScript()))

これにより、以下のような同様の結果が出力されます。

結果は、.nukeディレクトリ内のinit.pyファイルに追加する必要があります。.nukeディレクトリの場所については、 Q100048: Nukeディレクトリの場所を参照してください。

4) ~/.nukeディレクトリにあるinit.pyファイルをテキストエディタで開きます。init.py ファイル存在しない場合は作成してください。

5) init.pyファイルに次のコードを追加し、上記のように、スクリプト エディターで前のコードを実行して得られた 'toScriptResult' を 'version....\n' の結果に置き換えます。

def setCustomCameraRig(rigNode):
  rigNode['cameraRig'].fromScript('toScriptResult')
  rigNode['rotate'].fromScript("0 0 0")
_gRigDefinitionPresets2_1 .append(("RigName", "setCustomCameraRig(nuke.thisNode())", "Rig tooltip"))

次のようになります:

注意: サンプル コードの最終行にある「RigName」および「Rig tooltip」文字列を変更すると、 Nuke内のリグ プリセットの名前とそのツールチップが変更されます。

6) init.pyファイルを保存する

7) Nukeを閉じて開きます。C_CameraSolver ノード作成すると、カスタムプリセットが rigPreset ノブに表示されます。

8) 選択したら、 「Setup Rig」を押すとリグ セットアップが作成されます。

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

    理由をお聞かせください