Houdini 18.0 ノード LOPノード

Reference

外部USDファイルの内容を既存シーングラフツリーのブランチで参照したり、既存の参照を削除/置換します。

On this page

概要

リファレンスは、参照したファイル内のツリーを取り込み、そのツリーを現行ツリー内のブランチ上で"graft(接ぎ木)"させます。

例えば、以下のツリーから始めると仮定します:

参照する前のシーンツリー


/Lights/
    light1
    light2
/Models/
    tableside_lamp
        

/Models/tableside_lamplamp.usdを参照し、そのファイルが以下の内容だとします:

lamp.usdの内容


/lamp/
    base
    bulb
    shade
    socket
    switch

このファイルを参照した後のツリーは、以下のようになります。

参照した後のシーンツリー


/Lights/
    light1
    light2
/Models/
    tableside_lamp/
        base
        bulb
        shade
        socket
        switch
  • 参照(/Models/tableside_lamp)を含んだPrimと参照先のPrim(lamp.usd内の/lamp)は、(オピニオン強度で決定したプロパティ値でオーバーライドして)合成されますが、その合成されたPrimは、参照元のPrimの名前を維持します。

  • 内容を参照する時は、参照先のファイル内のPrim(上記の例だと/lamp)を指定しなければなりません。そして、そのPrimはルート(/)にすることができません。そのため、他のレイヤーから参照されることを想定してファイルを作成する時は、単一ルートプリミティブ下にその内容が収まるようにしてください。

    (ファイルのデフォルトプリミティブを指定することができます。ファイルを参照した際に、そのファイル内の特定のPrimを指定しなかった場合には、そのファイルの"デフォルトプリミティブ"が取得されます。)

リファレンスは、個々の小さなアセットを大きなシーンに"graft(接ぎ木)"させるのに役立ちます。 特に、 リファレンスは、同じファイルを何回も別々の場所に読み込むことができる唯一の方法です (サブレイヤー化はツリー全体に対して動作するので、同じファイルを何回もサブレイヤー化しても何の効果もありません)。

単純なゴミ箱アセット

#usda 1.0
(
   defaultPrim = "TrashCan"
)

def Xform "TrashCan" (
   kind = "component"
)
{
   def Cylinder "Can"
   {
       token axis = "Y"
       bool doubleSided = 0
       double height = 2
       double radius = 1
   }
}

セット内の3部屋でゴミ箱アセットを3回参照したファイル

#usda 1.0
()

def Xform "Scene"
{
   def Xform "Set"
   {
       def "BathroomTrashCan" (
           append references = @./trashcan.usda@
       )
       {
           double3 xformOp:translate = (2, 0, 1.4)
           uniform token[] xformOpOrder = ["xformOp:translate"]
       }

       def "KitchenTrashCan" (
           append references = @./trashcan.usda@
       )
       {
           double3 xformOp:translate = (16.01, 5, -43.072)
           uniform token[] xformOpOrder = ["xformOp:translate"]
       }

       def "OfficeTrashCan" (
           append references = @./trashcan.usda@
       )
       {
           double3 xformOp:translate = (-7.12, 0, 11.9)
           uniform token[] xformOpOrder = ["xformOp:translate"]
       }
   }
}

Reference LOPStage Manager LOPが参照を作成します。 Graft LOPも同様ですが、これはファイルから参照するのではなくて、LOPネットワーク内のどこからかのシーングラフツリーにブランチを挿入します。

Tips

  • リファレンスしたいPrimに既存の参照が含まれている場合、その新しい既存の参照が すべての既存の参照 と合成されます。 新しい参照を追加する前にそれらの既存の参照をクリアする方法に関しては、 Pre-Operation パラメータを参照してください。

How to

シーングラフツリー内のPrim上でリファレンスされる"ターゲット"としては外部ファイルを指定することが多いですが、このノードでは、他のLOPノードの出力のPrimをリファレンスすることもできます。

To...Do this

外部ファイルのPrimをリファレンスする

  1. Primitive Path パラメータを、リファレンスされるPrimの取り付け先となるシーングラフパスに設定します。

  2. Reference Type パラメータを、"Reference Files"または"Payload Files"(詳細はペイロードを参照)に設定します。

  3. Reference File パラメータを、リファレンスするUSDファイルのファイルパスに設定します。

  4. その外部ファイルで読み込むPrimを選択したい場合は、 Reference Primitive ポップアップメニューを使用します。

  5. 通常では、 Reference Primitive パラメータを"Reference Automatically Chosen Primitive"の設定のままにします。 特定のPrimを取り込みたいのであれば、 Reference Primitive パラメータを"Reference Specific Primitive"に変更し、 Reference Primitive Path パラメータにそのPrimパスを入力します。

LOPノードの出力からPrimをリファレンスする

  1. リファレンスしたいステージを含んだLOPノードをこのノードのマルチ入力に接続します。

  2. Reference Type パラメータを"Reference From Multi-input"に設定します。

  3. Reference Primitive パラメータを"Reference Specific Primitive"に設定します。

  4. 単一接続の場合、 Reference Primitive Path パラメータを取り込むPrimに設定することができます。

    このノードのマルチ入力に複数の入力を接続する場合:

    • Reference Primitive Path パラメータに、すべての入力内で同じPrimから取り込むシーングラフパスを設定したり、または、エクスプレッションを記述することができます。 このエクスプレッションは、このノードのマルチ入力に接続された入力毎に評価されます。 エクスプレッションには、(1から始まる)現行入力インデックスを示した@inputローカル変数($IIDXは廃止)を使用することができます(文字列パラメータでは、エクスプレッションをバッククォートで閉じる必要があることを忘れないでください)。

    • パラメータエディタの下部にあるテーブルの各入力の隣りにあるReference Primitive Pathをクリックして、各入力からリファレンスしたいPrimのシーングラフパスを入力します。 テーブル内の入力にReference Pathがあれば、 Reference Primitive Path パラメータの値は無視されます。

1番目の入力のシーングラフツリー内の他のPrimをリファレンスする

  1. Primitive Path パラメータに、リファレンスするPrimの取り付け先となるシーングラフパスを設定します。

  2. Reference Type パラメータを、合成のタイプに応じて"Reference From First Input"、"Inherits From First Input"、"Specialize From First Input"のどれかに設定します。

  3. Reference Primitive パラメータを"Reference Specific Primitive"に設定します。

  4. Reference Primitive Path パラメータに、リファレンスしたいPrimのシーングラフパスを設定します。

すべての既存リファレンスをブロック(遮断)する

  1. Primitive Path パラメータに、現在のところブロックしたいリファレンスを含んでいるPrimのシーングラフパスを設定します。

  2. Pre-Operaiton メニューを"Clear All References"に設定します。

1個の既存リファレンスをブロック(遮断)する

  1. Primitive Path パラメータに、削除したいリファレンスを含んだPrimのシーングラフパスを設定します。

  2. 削除したいリファレンスを指定できるようにパラメータを設定します。 例えば、lamp.usdファイルのリファレンスを削除したいのであれば、 Reference Type パラメータを"Reference Files"に設定し、 Reference File パラメータにlamp.usdを設定します。

  3. Reference Operation を"Remove References"に設定します。

パラメータ

Destination Primitive

Primitive Path

リファレンスするブランチの取り付け先となるシーングラフパス。 リファレンスしたPrimは、このPrim上にオーバーレイされ、そのリファレンスしたPrimの子PrimsはこのPrimの子Primsになります。 このPrimが存在しなかった場合は、このノードがそのPrimを作成します。

Primitive Kind

Primitive Path にPrimが存在しなかった場合、このノードがそのPrimを作成します。 このノードがそのPrimを作成する必要がある場合、そのPrimには、このKindが設定されます。

Parent Primitive Type

Primitive Path にPrimが存在しなかった場合、このノードがそのPrimを作成します。 このノードがそのPrimを作成する必要がある場合、その途中で作成する必要のある中間Primsがこのタイプになります。

Make Instanceable

Destination Primを("ネイティブインスタンス"と同様の)インスタンス化可能としてマークします。 これによって、同じブランチを複数の場所でリファレンスした場合にメモリが節約されますが、リファレンスしたPrimの子Primsは編集不可になります。

Composition

Reference Type

リファレンスするPrimに適用するコンポジションアークのタイプ。

Reference Files

外部USDファイルからPrimを参照します。

Payload Files

外部USDファイルからPrimをペイロードとして参照します。

Reference From Multi-input

このノードのマルチ入力に接続されているノードのどれかのPrimを参照します。

Payload From Multi-input

このノードのマルチ入力に接続されているノードのどれかのPrimをペイロードとして参照します。

Reference From First Input

1番目の入力のシーングラフツリーの他のPrimを参照します。

Inherit From First Input

(1番目の入力の)シーングラフツリーの他のPrimに"Inherits"コンポジションアークを適用します。

Specialize From First Input

(1番目の入力の)シーングラフツリーの他のPrimに"Specializes"コンポジションアークを適用します。

Handle Missing Files

外部USDファイルを参照している場合、これは、その参照したファイルが存在しなかった場合のこのノードの挙動を制御します。

Error for Missing Files

このノードがエラーになり、残りのネットワークのクックを停止します。

Warn for Missing Files

このノードは、警告を出して、1番目の入力をそのまま通過させます。

Ignore Missing Files

このノードは、何もメッセージを出さずに見つからなかったファイルを無視し、1番目の入力をそのまま通過させます。

Allow Missing Files on the Stage

現在のところファイルが存在しなくても、リファレンスを編集します。 このノードとその下流のノードでは、おそらくファイルが見つからない旨についてUSDライブラリから警告が出されます。

Pre-Operation

"No Pre-opertation"以外の値に設定すると、このノードは、このノード上の既存のリファレンスをクリアします。

No Pre-Operation

Primitive Path にあるPrim上の既存リファレンスをクリアしません。

Clear Reference Edits in Active Layer

現在のアクティブレイヤー で作成されたこのPrim上のリファレンスのリストの追加/削除の編集をクリアします。

これは非破壊的なUSD編集ではありません 。アクティブレイヤー内で現在"保留中"の以前のノードから変更をアンドゥーすることとほぼ同様です。

Clear All References

どのレイヤーが編集されているかどうかに関係なく、このPrim上のすべての既存リファレンスがマスクされるように、指定したReference Typeをオーバーライドします。 これによって、このノードで指定したリファレンスのみが残るように白紙状態にすることができます。

Reference Operation

このノードによって追加された新しいリファレンスを Primitive Path のPrim上の既存リファレンスに作用させる方法。

Prim上のリファレンスを編集する時、実際にはリストの編集をしています。 これらの編集は、すべての弱いレイヤーを合成またはリストから明示的に特定のアイテムを削除することで作成されるリストの先頭または末尾に追加して表現されています。

Add as Strongest References in Prepend List

新しいリファレンスを、下位レイヤーのどのリファレンスよりも強く、現行アクティブレイヤー内のこれまでの"先頭に追加した"編集よりも強くします。

Add as Weakest References in Prepend List

新しいリファレンスを、下位レイヤーのどのリファレンスよりも強く、現行アクティブレイヤー内のこれまでの"先頭に追加した"編集よりも弱くします。

Add as Strongest References in Append List

新しいリファレンスを、下位レイヤーのどのリファレンスよりも弱く、現行アクティブレイヤー内のこれまでの"末尾に追加した"編集よりも強くします。

Add as Weakest References in Append List

新しいリファレンスを、下位レイヤーのどのリファレンスよりも弱く、現行アクティブレイヤー内のこれまでの編集よりも弱くします。

Remove References

このノードによってリファレンスされたレイヤーまたはPrimsは、Destination Primitive上のリファレンスのリストに追加ではなく削除されます。

この削除は、リスト編集として表現されているので、どのレイヤーがオリジナルのリファレンスを編集したかどうかに関係なく、リファレンスのリストから特定のレイヤーを選択的に削除することができます。

Number of Files (ファイルベースのモードと第一入力モード)

このノードは、指定したPrimに複数のリファレンスを追加することができますが、Reference Typeとオペレーションは、すべての追加に対して同じになります。

Reference File

Enable

このマルチパラメータのインスタンス内でリファレンスを実行します。

Reference File

Reference Type が"Reference Files"または"Payload Files"の時に参照するファイルのファイルパス。

Reference Primitive

Reference Type が"Reference Files"または"Payload Files"の時、これは、外部ファイルからどのPrimを取り込むのかを制御します。 Reference Type が"From First Input"または"From Multi-input"の時、ここには"Reference Specific Primitive"を設定してください(他のオプションは、たいていの場合では無意味です)。

Reference Automatically Chosen Primitive

参照したファイルにデフォルトPrimが設定されていれば、そのPrimが使用されます。 デフォルトPrimがない場合は、ルートにある最初のXform Primが使用されます。 ルートに何もXform Primがない場合は、任意のタイプの最初のルートPrimが使用されます。

Reference Default Primitive

参照したファイルにデフォルトPrimが設定されていれば、そのPrimが使用されます。 デフォルトPrimがない場合は、このノード上に警告が表示され、このマルチパラメータのインスタンスが無視されます。

Reference Specific Primitive

Reference Primitive Path パラメータのシーングラフパスを参照します。

Reference Primitive Path

Reference Primitive が"Reference Specific Primitive"の時、ここには、参照するPrimのシーングラフパスを指定します。

(このフィールドにautomaticPrimまたはdefaultPrimを設定すると、 Reference Primitive を"Reference Automatically Chosen Primitive"または"Reference Default Primitive"に設定した時の挙動と同じになります。)

Time Offset (in Frames)

ファイルのすべてのタイムサンプルをオフセットします。 これを使用することで、参照したファイルのアニメーションの時間を変更することができます。

Time Scale

ファイルのすべてのタイムサンプルをスケールします。 これを使用することで、参照したファイルのアニメーションの時間を変更することができます。

Reload Files

クリックすると、このノードで取り込まれたすべてのファイルの内容がリロードされます。

LOPノード

  • Add Variant

    Prim上のバリアントセットに1つ以上のバリアントを追加します。このノードは、そのPrimが存在しなければ、そのPrimを作成します。

  • Additional Render Vars

    複数のRender Varsを作成します。

  • Assign Material

    1つ以上のUSD Primsにマテリアルを割り当てます。VEXを使用することで、プログラム的にマテリアルを割り当てたり、プログラム的に割り当て毎にマテリアル設定をオーバーライドしたり、プログラム的にジオメトリサブセットにマテリアルを割り当てることもできます。

  • Attribute VOP

    VOPネットワークを使ってUSDアトリビュート値を作成/編集します。

  • Attribute Wrangle

    VEXスニペットを使ってUSD Primアトリビュートを作成/編集します。

  • Auto Select LOD

    カメラからPrimまでの距離に基づいて自動的にLODバリアントを選択します。

  • Bake Skinning

    "UsdSkelで駆動されたアニメーションをトランスフォームとポイントポジションにベイクします。

  • Begin Context Options Block

    このノードは、LOPノード群のブロックを開始します。このブロック内では特定のコンテキストオプションが特定の値を持ちます。

  • Blend

    小数点ウェイトに基づいてレイヤーのアトリビュートに部分的に編集を適用します。

  • Cache

    異なる時間におけるネットワークのクック結果をキャッシュ化することで、再生パフォーマンスを上げます。

  • Camera

    シーンにUSDカメラを追加します。

  • Capsule

    カプセル(開口部を半球で閉じたチューブ)形状Primを作成/編集します。

  • Collection

    選択したPrimsを使ってコレクションを作成/編集します。

  • Cone

    円錐形状Primを作成/編集します。

  • Configure Layer

    レイヤー上のメタデータを編集します。

  • Configure Primitives

    1つ以上のPrim上の色々なメタデータを編集します。

  • Configure Properties

    プロパティ(リレーションシップとアトリビュート)上のメタデータを修正します。

  • Configure Stage

    レイヤーをステージとAsset Resolutionに読み込むための方法を示したメタデータを修正します。

  • Create LOD

    PolyReduce SOPを使って高解像度モデルから複数のLODを自動的に生成し、それらのLODをUSDバリアントとして保存します。

  • Cube

    キューブ形状Primを作成/編集します。

  • Cylinder

    シリンダー形状Primを作成/編集します。

  • Dome Light

    USD Dome Light Primを作成/編集します。ドームライトは光を 内側 に放射して、シーンを囲んだ空/環境からの入射光を模倣します。

  • Drop

    重量によるPrimsの落下シミュレーションを実行します。

  • Duplicate

    Prim(とその子孫)のコピーを作成します。

  • Edit

    ビューア内でインタラクティブにPrimsをトランスフォームさせます。物理衝突を使用して、プロップを現実的に配置することができます。

  • Edit Context Options

  • Edit Material

    パラメータやシェーダ接続を変更することで既存のUSDマテリアルを編集することができます。これは、既存マテリアルが編集不可なレイヤーの場合に役立ちます。

  • Edit Properties

    アトリビュート値とリレーションシップ値を直接編集するためのSpareパラメータインターフェースを構築することができます。

  • Edit Prototype

    ポイントインスタンスまたはUSDインスタンス可能Primが別のプロトタイプをインスタンス化するように切り替えます。

  • Edit Target Layer

    アクティブレイヤー内のPrimsとアトリビュートをオーバーライドするのではなく、下位レイヤーで直接編集を適用することができます。

  • Error

    親アセット上で表示可能なメッセージ、警告、エラーを生成します。

  • Extract Instances

    インスタンスを"実際に"編集可能なPrimに変換します。

  • Fetch

    他のLOP(他のLOPネットワーク内のLOPも可能)の出力を取得します。

  • Follow Path Constraint

    Primがパスカーブに追従するように拘束します。

  • For Each

    For-Eachループブロックの終了ノード。

  • Geometry Subset VOP

    VEXpressionまたはVOPネットワークの評価に基づいて(SOPのグループと同様に)ジオメトリPrims内にUSDジオメトリサブセットを作成します。

  • Graft

    他の入力からシーングラフツリーを受け取り、それらのツリーを1番目の入力のシーングラフツリーのブランチに取り付けます。

  • Inline USD

    レイヤーを表現したusdaコードを解読し、そのレイヤーをレイヤースタックに追加します。

  • Instancer

    ポイント上にPrimsをインスタンス化またはコピーします。

  • Karma Procedural

    Karma向けにレンダリング時にインスタンス化される仕組みをセットアップします。

  • Karma Render Properties

    Karma(ベータ)用レンダープロパティを構成します。

  • Karma Standard Render Vars

    標準Karma Render Vars(AOVs/Image Planes)を作成します。

  • LOPノード

    LOPノードは、キャラクタ、プロップ、ライティング、レンダリングを記述したUSDを生成します。

  • Layer Break

    このノードより下流のノードで編集をするための新しいアクティブサブレイヤーを開始します。

  • Layer Replace

    特定のレイヤー内のすべての用途を2番目の入力の代替レイヤーに置換します。

  • Light

    USD Light Primを作成/編集します。このノードは、Karma固有のいくつかの便利アトリビュートも追加します。

  • Light Linker

    ルールに基づいてUSDライトリンクプロパティを作成します。

  • Light Mixer

    複数のライトに対してUSDプロパティをインタラクティブに編集することができます。

  • Load Layer

  • Look At Constraint

    Primがターゲットの方へ常に向くように拘束します。

  • Material Library

    Material VOPノードをUSDマテリアルPrimsとして取り込みます。

  • Material Linker

    ルールに基づいてマテリアルの割り当てを作成します。

  • Material Variation

    Prim/インスタンス単位でマテリアルパラメータをオーバーライドするためのアトリビュート/Primvarsを作成します。

  • Merge LOP

    入力ステージのレイヤー(s)をレイヤースタックに1本化します。

  • Modify Point Instances

    個々のポイントインスタンスに対してポイントトランスフォームとポイントプロパティ値を変更します。

  • Null

    このノードは何もしません。ネットワーク内の"固定位置"としてNullをネットワークに挿入することで、エクスプレッション/スクリプト内で名前によってその位置を参照するのに役立ちます。

  • Output

    サブネットワークの出力を表現します。複数の出力を使ってノードアセットを設計することができます。

  • Parent Constraint

    ツリー内のどこかの他のPrimのトランスフォーム階層をPrimに継承させたようにします。

  • Points Constraint

    ジオメトリのポイントポジションを使ってPrimsの位置と向きを拘束します。

  • Primitive

    特定のタイプの複数のアトリビュートを一括で作成します。

  • Prune

    Primsやポイントインスタンスを非表示または非アクティブにします。

  • Python Script

    このノード内にUSD APIを使ってPythonコードを記述することで、ステージを直接制御することができます。

  • Reference

    外部USDファイルの内容を既存シーングラフツリーのブランチで参照したり、既存の参照を削除/置換します。

  • Render Geometry Settings

    シーングラフ内のジオメトリにレンダラー固有のジオメトリ設定を適用します。

  • Render Product

    UsdRenderProduct Primを作成/編集します。このPrimは、そのRender Productの生成方法を指定したアトリビュートと共にレンダラーの出力(レンダリング画像またはレンダラーが生成した他のファイルなどの中間生成物)を表現します。

  • Render Settings

    UsdRenderSettings Primを作成/編集します。このPrimには、シーンをレンダリングするための全般的な設定を格納します。

  • Render Var

    レンダラー/シェーダで計算されるカスタム変数のシェーダ出力やLight Path Expression(LPE)を指定します。

  • Retime Instances

    選択したインスタンス上のアニメーションのタイミングをオフセット/スケールさせます。

  • SOP Create

    このノード内部のSOPネットワーク内でジオメトリを作成することができるので、別にSOPネットワークを用意することなくLOPネットワーク内のその場でジオメトリを作成することができます。

  • SOP Import

    SOPネットワークのジオメトリをUSDシーングラフに取り込みます。

  • SOP Modify

    USDジオメトリをSOPジオメトリに変換し、そのジオメトリに対してこのノード内部のSOPサブネットを実行し、その結果をUSDオーバーライドに戻します。

  • Scene Import

    Objectレベルのモデル、マテリアル、ライトをLOPネットワークに取り込みます。

  • Scope

    Scope Primを作成します。Scopeとは最も単純なグループ化の形式であり、トランスフォームを持ちません。Scopeはシーンツリーを整理するのに役立ちます。

  • Set Extents

    選択したPrimsの境界ボックスメタデータを設定します。

  • Set Variant

    Prim上のバリアントセットに格納されているどれかのバリアントを選択(切り替え)します。

  • Simulation Proxy

    物理シミュレーションに適した低解像度ポリゴン衝突ジオメトリを生成し、オリジナルモデルに対してプロキシリレーションシップを作成します。

  • Sphere

    球形状Primを作成/編集します。

  • Stage Manager

    一度に多くのファイルを参照して、それらをシーングラフツリー内に配置するための便利インターフェースを備えています。

  • Store Parameter Values

    ステージ内の一時的な(保存されていない)データを格納することができます。

  • Sublayer

    USDファイルまたは他のLOPノードチェーンをサブレイヤーとして取り込んだり、既存のサブレイヤーを削除/置換/並べ替えします。

  • Subnet

    LOPサブネットワークをカプセル化することで、一部のネットワークを整理して隠すことができます。

  • Surface Constraint

    Primがサーフェスに引っ付くように拘束します。

  • Switch

    パラメータ選択またはエクスプレッションに基づいて複数入力のどれかを通過させます。

  • TimeShift

    タイムラインの異なる位置におけるステージをそのまま出力します。

  • Transform

    選択したUSD Primsのトランスフォームを編集します。

  • Transform UV

    USD Prims上のテクスチャ座標を移動、回転、スケールさせます。

  • USD ROP

  • USD Render ROP

  • Value Clip

  • Vary Material Assignment

    いくつかのPrimsに対して異なるマテリアルを割り当ててバリエーションを生成します。

  • Volume

    フィールドPrimsを含んだボリュームPrimでディスク上のボリュームデータを参照します。

  • Xform

    Xform Primを作成/編集します。Xform(とそのサブクラス)はシーンツリー内のトランスフォームを表現します。