Bifrost-USD でステージにプリミティブを追加する

プリミティブは、ステージ内のレイヤに追加できるものです。ジオメトリ、マテリアル定義、オーバーライドなどを含めたり、子として他のプリミティブを含めることができます。シーンの階層構造を構築するには、チェーン内の 1 つまたは複数の add_to_stage ノードを使用します。

  1. グラフに add_to_stage ノードを追加します。

  2. ステージを stage 入力に接続します。

    stage ポートが未接続のままになっている場合は、新しい空のステージが使用されます。この場合、stage ポートを右クリックしてノードの作成(Create Node) > Usd::Stage::create_usd_stage を選択すると、グラフの下流にファイルのルート レイヤを保存するための layer ファイルを割り当てることができます。

  3. parent_path で、新しいプリミティブを追加する階層の親の絶対パス(先頭のスラッシュ「/」を含む)を指定します。空白のままにした場合、プリミティブは指定したレイヤのルートに追加されます。ステージに存在しないパスを入力した場合、階層に汎用 def ノードが作成されます。下流の特定のタイプのプリミティブを設定できます。

  4. prim_definitions パスを右クリックし、ノードの作成(Create Node) メニューからオプションを選択します。

    • Usd::Prim::define_usd_prim は、任意のタイプのプリミティブを追加するために使用できる汎用ノードです。既定の設定では、Xform (トランスフォーム)が定義されます。これは通常、他のプリミティブの親として使用されますが、任意のプリミティブを定義するように変更することができます。
    • ノードの作成(Create Node) メニューのその他のオプションは、define_usd_prim に基づいて特定の用途に特化したものです。
  5. 先ほど追加したノードで、パラメータを設定します。関連する用語と概念の基本的な情報については、「USD 用語集」を参照してください。具体的には次のとおりです。

    • path を設定して、プリミティブの名前と階層内での場所を指定します。先頭のスラッシュを含めることは常に安全です。先頭のスラッシュは、add_to_stage ノードに parent_path の指定がなく、プリミティブ定義が別の prim_definitionchildren ポートに接続されていない場合は必須です。ここでも、ステージに存在しないパスを入力すると、階層に汎用 def ノードが作成され、下流の特定のタイプのプリミティブを設定できます。
    • 使用可能な基本タイプは、スコープ、Xform、カプセル、円錐、立方体、円柱、球、メッシュ、NurbsCurves、PointInstancer です。使用可能なタイプの完全なリストは、USD for Maya やその他のプラグインのバージョンで登録されている内容によって異なります。完全なリストを表示するには、アウトライナで Maya の USD プロキシを右クリックし、 新しいプリミティブの追加 > すべての登録済み(Add New Prim > All Registered) メニューを展開します。
  6. 必要に応じて、プリミティブ定義ノードのファンアウト ポートを右クリックして、参照やアトリビュートなどを追加します。特に、children ポートを右クリックすると、プリミティブ定義の階層を任意の深さに作成できます。

  7. add_to_stage ノードの prim_definitions ポートを右クリックし、必要に応じて繰り返してプリミティブ定義を追加します。

  8. ステージを入力として取る任意のノードに、add_to_stage ノードの stage 出力を接続します。最終的には、グラフの最上位の output ノードに接続され、ホスト シーンに追加されたプリミティブが表示されます。