Houdini 19.5 Solaris

Component Builder

Component Builderツールは、マテリアル、バリアント、ペイロード、レイヤーをサポートし、SOPからUSDモデルを作成するためのネットワークスニペットを配置します。

On this page

概要

USDは、Model Kindsの階層を定義します。 “component”モデルは、Houdiniのジオメトリオブジェクトと概ね同様です。 コンポーネントは、ランプやキッチンテーブルといった、参照したりインスタンス化できる単一の“物体”を表わします(“group”や“assembly”といったその他のKindは、より高いレベルのコンポーネントグループを表わします。 component kindは“リーフ(末端)”タイプで、他のModel Kindsを内部に持つことはできません)。

Houdiniを以前からお使いの方は、コンポーネントとは、ジオメトリと独自のマテリアルネットワークを含むオブジェクトレベルのHDAのようなものだと考えてください。 コンポーネントは再利用することができ、さらにオリジナルを変更することなく特定のインスタンスをカスタマイズすることが可能です。

Component Builder ツールは、様々な最適な手法や機能を自動化または実行することができます(USDに慣れていないアーティストやスタジオに大変便利です):

  • ジオメトリをペイロードとしてセットアップすれば、アーティストは簡単にそれをアンロードすることができ、その場合でもビューポート内に境界ボックスを表示することができます。

  • ディスク上のファイルをディレクトリ構造で整理します。

  • バリアント(モデルの代替シェイプやマテリアルのルック)の追加を簡単にします。

  • Primにコンポジションアークをセットアップして、モデルがクラスプリミティブから継承するようにします。こうすると、コンポーネントにショットレベルのカスタマイズを簡単に適用できます。

  • 各コンポーネントは、ジオメトリとマテリアルを個別のファイル(レイヤー)に保持します。ファイルを生成し直すことなく置換したり、マテリアルなしでジオメトリのみを参照するといったことが可能で、柔軟性が向上します。

たいていの場合、コンポーネントだけのUSDを生成して書き出すために小さな単一.hipを用意したり、もしくは、同じファイルから異なるコンポーネントをすべて生成できるように複数のComponent Builderを含んだ大きな単一.hipを用意することになります。 それから、シーンの個別の.hipファイルまたはUSDファイルから、コンポーネント毎に生成されたコンポーネントレイヤーファイルを参照します。

ディスクに結果を書き出す方法やコンポーネントの使い方の詳細は、コンポーネント出力の使用を参照してください。

ノード

このツールは、以下のノードを使ってネットワークスニペットを作成します。

Component Geometry

モデルのジオメトリを定義するために使用するSOPネットワークを含みます。 このノードをダブルクリックすると、そのSOPネットワークの中に入ることができます。

Material Library

このモデル固有のマテリアルを定義するために使用するマテリアルネットワークを含みます。 このノードをダブルクリックすると、そのマテリアルネットワークの中に入ることができます。

Component Material

マテリアルネットワークからのマテリアルをコンポーネントジオメトリの特定のフェース/サーフェスに割り当てます。 上記のモデル固有のノードで定義されたマテリアルを割り当てることができます。

Component Output

その他のパーツ(ジオメトリ、マテリアル、メタデータ)をまとめて、モデルの最終的なUSD Primを作成します。

ネットワークには、デフォルトでは作成されないモデルのバリアントを作成するノードも追加することができます。

Component Geometry Variants

複数のComponent Geometryノードをコンポーネントのバリアントとして結合できます。 以下のバリアントの作成方法を参照してください。

How to

To...Do this

Component Builderネットワークをセットアップする

  1. LOPネットワーク内で⇥ Tabを押し、Component Builderと入力してからEnterを押して、4つのノードのComponent Builderネットワークスニペットを配置します。

  2. スニペットの一番下にあるComponent OutputノードのDisplayフラグをオンにします。

  3. Component Geometryノードをダブルクリックして、それに含まれるSOPネットワークの内部に入ります。

  4. モデルのジオメトリをセットアップします。それを緑(default)の出力ノードに接続します。

    簡素プロキシジオメトリを生成し、それを黄色のproxy出力に接続することも可能です。このジオメトリは、OpenGLビューアでの表示に使用できます。

    簡素衝突ジオメトリを生成して、それをピンクのsimproxy出力に接続することも可能です。このジオメトリは、シミュレーションで衝突を計算するのに使用されます。

    効率的な表示用プロキシジオメトリの作成方法などの詳細は、Component Geometryのヘルプのプロキシ出力を参照してください。

    • File SOPObject Merge SOPといった標準ノードを使用して外部ジオメトリをSOPネットワークにロードし、そこにSOPノードを追加してジオメトリを変更することができます。

    • PolyReduce SOPは、低解像度の表示用プロキシを素早く作成するのに便利です。

    • Convex Decomposition SOPは、低解像度の凸状の衝突プロキシを素早く作成するのに便利です。

  5. Uを押して、親のLOPネットワークに戻ります。

  6. モデルのバリアントを作成するには、以下の“コンポーネントのバリアントを作成する”を参照してください。

  7. Material Libraryノードをダブルクリックして、そこに含まれているVOPネットワークの中に入ります。

  8. USD Preview Surface VOPを作成します。ノードのパラメータを使用して、マテリアルのルックをセットアップします。

    (USDでマテリアルを作成する方法は多数あり、レンダラーによってサポートレベルが異なります。USD Preview Surfaceはシンプルですが、USD対応のレンダラーで使用する必要があります。)

  9. Uを押して、親のLOPネットワークに戻ります。

    モデルには、作成したプレビューマテリアルが含まれています。 これは、Component Materialノードにはデフォルトの割り当てがあるためです。 マテリアルライブラリで作成された最後に変更にしたマテリアルPrimを、Component Geometryノードで作成された最後に変更したモデルPrimに割り当てます。

    異なるマテリアルをモデルのサブセットに割り当てたり、共有ライブラリの既存のマテリアルを参照する方法は、以下のマテリアルを参照してください。

  10. Component Outputノードを選択します。デフォルトで、モデルPrimの名前は自動的にこのノードの名前(このノードの Root Prim パラメータの/$OS)に設定されます。手動で名前を設定するには、/donutなど Root Prim を分かりやすい名前(ルートレベル)に設定します。

    Component Builderのセットアップは、コンポーネントを自己完結型のUSDファイルにレンダリングした後、そのコンポーネントファイルを他のSolarisネットワークやUSDファイルで参照することで、そのコンポーネントを使用できる、という考えがベースになっています。 これが、コンポーネント出力がルートレべルにPrimを作成する理由です(自身のファイルのモデルは、ルートレベルのPrimによって定義する必要があります)。

マテリアル

To...Do this

マテリアルをグループ(フェースセット)に割り当てる

  1. Component Materialノードに含まれているVOPネットワーク内で、モデルの別のパーツに割り当てる新しいマテリアルを作成します。

  2. Component Geometryに含まれているSOPネットワーク内で、Group SOPを使用して、名前付きのフェースグループを作成します。

  3. LOPネットワークに戻ります。

  4. Component Geometryノードのパラメータの Attributes セクションで、 Subset Groups パラメータに、グループ名をスペースで区切ったリストを入力します(このテキストボックスの右側にあるドロップダウンメニューを使用すると、ジオメトリの既存のプリミティブグループから選択できます)。

    これにより、SOPグループに呼応したUSDサブセットが作成されます。 各サブセットは、コンポーネントのMeshジオメトリPrimの下にGeomSubset Primとして表示されます。

  5. Component Materialノードのパラメータで、サブセット毎にマルチパラメータインスタンスを作成します。

  6. 各サブセットをマテリアルにバインドするために、以下の操作を行ないます:

    • Primitives パラメータの横にある Reselectボタンを⌃ Ctrlクリックします。Select Primitivesダイアログで、バインドしたいGeomSubset Primを選択し(/ASSET/geo/shape/サブセット名)、 OK をクリックします。

    • Material Path パラメータの横にある Reselectボタンをクリックします。Select Primitivesダイアログで、バインドしたいマテリアルPrimを選択し(/ASSET/mtl/マテリアル名)、 OK をクリックします。

共有ライブラリからマテリアルをインポートする

  1. Reference LOPを作成します。

  2. Referenceノードのパラメータで、以下の操作を行ないます:

    • Primitive Path/ASSET/mtl/マテリアル名に設定し、Component Builderシステムがマテリアルがあると想定する場所にファイルの内容を取り付けます。

    • Reference File パラメータを、使用したいマテリアルを含むファイルへのパスに設定します。

  3. Referenceノードの出力をMaterial Libraryノードの入力に接続します。

    (外部ファイルから参照したマテリアル のみ を使用し、“ローカル”のマテリアルは定義したくない場合は、Referenceを直接Component Materialノードの2番目の入力に接続し、Material Libraryノードを削除して構いません。)

  4. Component Materialノードでは、参照したマテリアルを使用するようにバインドを編集することができます。バインドを変更するには、 Material Path パラメータの横にある Reselectボタンをクリックします。Select Primitivesダイアログで、バインドしたいマテリアルPrimを選択して(/ASSET/mtl/.../マテリアル名)、 OK をクリックします。

バリアント

To...Do this

ジオメトリバリアントを作成する

USDでは、複数のバリアント間でモデルを切り替えることができます。 例えば、1個の木コンポーネント、種が異なる複数の木のモデル(ニレ、トウヒ、カラマツなど)を含めることができます。

  1. LOPネットワーク内で、Component GeometryノードとComponent Materialノードの間にComponent Geometry Variantsノードを追加します。

  2. 追加のComponent GeometryノードをComponent Geometry Variantsノードのマルチ入力に接続します。バリアント毎に1個のComponent Geometryが必要です。

  3. Component Geometryノードの中に入り、そのバリアント用のモデルジオメトリを作成します。

  4. LOPネットワークレベルに戻ります。

  5. デフォルトで、各バリアントの名前は、呼応するComponent Geometryノードの名前に自動的に設定されます。バリアント名を手動で設定するには、Component Geometryノードの Advanced ▸ Geo Variant Name パラメータを編集します。

ジオメトリバリアントセットのデフォルト名はgeoです。 Component Geometry Variantsノードの Variant Set パラメータを変更すると、バリアントセットの名前を変更することができます。

ジオメトリバリアント固有のマテリアルを使用する

マテリアルがジオメトリバリアント固有の場合、バリアントのCompontent GeometryノードとComponent Geometry Variantsノードの間に接続された(Material LibraryまたはReferenceノードがその2番目の入力に接続された)Component Materialノードを使用して、マテリアルを割り当てることができます。

マテリアルバリアントを作成する

  1. Material Libraryネットワークの内部で、さらにマテリアルを定義します。

  2. LOPネットワーク内で、このツールによって作成されたデフォルトのComponent Materialノードの下に、Component Materialノードを追加します。マテリアルバリアント毎に1個のComponent Materialノードが必要です。

  3. 各Component Materialノードで、そのバリアントに使いたいマテリアルを割り当て、 Variant Name パラメータを設定します。

マテリアルバリアントセットのデフォルト名はmtlです。 各Component Materialノードの Material Variant Set パラメータを変更すると、バリアントセットの名前を変更することができます(または、複数のマテリアルバリアントセットをセットアップすることができます)。

デフォルトのバリアントを設定する

デフォルトのジオメトリおよびマテリアルバリアント(バリアントを明示的に指定せずにコンポーネントを参照する際に使用されるバリアント)を設定することができます。

  1. LOPネットワーク内で、Component Outputノードを選択します。

  2. パラメータエディタで、 Component Options ▸ Set Default Variants セクションをオンにして展開します。

  3. デフォルトのジオメトリやマテリアルバリアントの名前を入力します。

Extras

Component Outputノードをダブルクリックして、そこに含まれているLOPネットワークの中に入ります。 (Input Stageという疑似ノードから始まる)追加のLOPノードをこのネットワークに接続すると、/ASSET下にあるコンポーネントノードによって作成されたPrimをさらに変更することができます。 このネットワークで行なったすべての変更は、ファイル出力extras.usdcレイヤーとして分けて作成され、コンポーネントノードによって作成された弱いオピニオンを上書きします。

これは、ライティングや、アニメーションサイクルの継続維持などに便利です。

Tipsとメモ

  • Component MaterialとComponent Outputノードの間に他のLOPを挿入することができます。挿入したLOPをセットアップするだけで、Component GeometryとComponent Materialノードによって作成された(/ASSET下の)“temp”アセットPrimを編集することができます。

  • コンポーネントに使用したいジオメトリがディスクまたは既存のSOPネットワーク上にある場合、Component Geometryノードの Source パラメータを Internal SOP network から File または External SOP に切り替えることができます。

  • 使用したいジオメトリがLOPネットワークの上流で既にLOPにインポートされている場合は、Component Outputノードの Source パラメータを Upstream Component Geometry から Scene Import (Scene Import LOPによって生成された既存のPrimを処理)または Input Primitives (その下のジオメトリとマテリアルとともに、既存のPrimを使用)に切り替えることができます。

  • 現在のところ、Component Builderネットワークは、複数または入れ子化されたジオメトリバリアントセットに対応していません。

Prim出力

出力されるシーンツリーは次のようになります。 <component>はルートPrimの名前です(__class__の下の追加Primに関する情報についてはクラスプリミティブについてを参照してください)。

/<component>     (xform) ← Component Kind
    /geo         (scope) ← 表示Purpose: default
    /mtl         (scope)

/__class__       (class)
    /<component> (class) ← /<component>によって継承

Component Geometryノード内で追加の出力を使用して、表示および/またはシミュレーションプロキシジオメトリを定義する場合、geo Primnの下に追加のブランチが含まれます。

/<component>     (xform) ← Component Kind
    /geo         (scope)
        /proxy   (scope) ← 表示Purpose: proxy
        /render  (scope) ← 表示Purpose: render

親プリミティブでPurposeを管理すると、Hydraがアップデートの問題やクラッシュを回避しやすくなります。 また、アーティストはシーンの特定の場所にどのジオメトリが存在しているかを把握することができます。

コンポーネント出力の使用

通常では、Component Builderネットワークの最終目標は、コンポーネントを自己完結型のUSDファイルに書き出し、そのコンポーネントを必要とする他のUSDファイルによって参照できるようにすることです。 ファイルがファイルを参照する、ファイルの階層構造は、USDの主な構成原則の1つです。

コンポーネントを生成するためにセットアップしたLOPネットワーク内で、 ノード が出力するのは、ルートレベルのPrimにコンポーネントを含んだステージです。 このPrimは、USDファイルに書き出すことができます(参照されるファイルが、ファイルのルートレベルに単一のPrimを持つという要件に適合します)。 Component Outputノード上のコントロールを使ってディスクファイルを書き出すまで、情報は実際にはディスクに書き出されません。

Tip

Component Builderネットワークは、ディスクにファイルを書き出すようにセットアップされますが、同じネットワーク内のどこからでも必要に応じて出力コンポーネントPrimを参照することができます(以下を参照してください)。

ディスクへの書き出し時に、Component Builderは常に関連ファイルのディレクトリを出力します(詳細はディレクトリ構造を参照してください)。 これが最適な手法です。 関連ファイル(レイヤーファイル、モデルのサムネイル画像)はグループ化され、コンポーネントについて説明したファイル(read_me.txtファイルなど)を簡単に追加することができます。 必要なのは、ディレクトリ名が固有な名前であることくらいです(含まれるファイルは一般的な名前で構いません)。

To...Do this

コンポーネントをUSDレイヤーファイルのディレクトリに書き出す

  1. Component Outputノードを選択します。

  2. パラメータで、 Caching セクションを開きます。

  3. Component Outputノードには、ディレクトリやコンポーネントレイヤーファイルの命名を制御するためのパラメータがいくつかあります。デフォルトでは、Primの名前を使用するエクスプレッションが入っていますが、その名前自体はComponent Ouputノードの名前に基づいています。

    Component Outputノードの名前を分かりやすいもの(campfireなど)に設定したり、デフォルトのエクスプレッションを NameFile Name 、および/または Location フィールドで上書きすることができます。

    • Name は、他の2つのパラメータのデフォルトのエクスプレッションで使用されるベース名です。デフォルトのエクスプレッションは、 Root Prim の値を取得してこれを計算し、先頭にある/を取り除きます。

      ( Root Prim パラメータのデフォルト値は、それ自体がエクスプレッション(/$OS)で、Component Outputノードの名前の先頭に/を追加します)

    • Filename は、“メイン”のレイヤーファイルのファイル名です。デフォルトのエクスプレッションは、上記の Name パラメータの値に.usdを追加することで、これを計算します。

    • Location は、“メイン”のレイヤーファイルのファイルパスです(ノードは、このファイルと同じディレクトリ内に他の出力ファイルを書き出します)。デフォルトのエクスプレッションは、現在のシーンファイルに対する相対パスをusd/assets/Name/Filenameの形式で計算します。

    出力ファイルの出力先を“実際に”制御するパラメータは、 Location パラメータ(“メイン”のレイヤーファイルのファイルパス)です。 Name および Filename フィールドは、便宜上のものです。 例えば、 Name または Filename でエクスプレッションを編集して計算方法を変更すると、 Location では新たに計算された値が使用されます。 またはLocation を編集して、chs("name")およびchs("filename")エクスプレッションを含めることにより、計算されたName/Filenameを使用することができます。

  4. Save to Disk または Save to Disk in Background をクリックします。

    ディレクトリ構造や、ノードが書き出すUSDコンポジションアークの詳細については、以下を参照してください。

別のシーンのコンポーネントファイルを参照する

  1. ReferenceまたはAsset Referenceノードを使用して、モデルを参照します。

  2. アセットギャラリーデータベースにモデルを追加して、Layoutノードのブラシでそのモデルを使用できるようにします。

同じネットワーク内のコンポーネントを参照する

コンポーネントを同じネットワーク内の別のシーンツリーで参照することができます。 ディスクに書き出す必要はありません。

  1. Referenceノードをネットワーク内の別の場所に作成します。

  2. パラメータで、ノードを Reference from multi-input に設定します。

  3. Component Builderの出力をReferenceノードのマルチ入力に接続します。

自動でサムネイル画像を生成する

Component Outputノードには、コンポーネントのサムネイル画像を作成するためのオプションがあります。 このサムネイル画像は、Houdiniのアセットギャラリーやアセット管理システムで使用することができます。

  1. Component Outputノードを選択します。

  2. パラメータで、 Caching ▸ Thumbnail セクションを開きます。

  3. View Thumbnail Camera をオンにします。シーンにサムネイルプレビューカメラが追加され、カメラ越しの画が見られるようになります。カメラを移動/回転して(ビューをカメラにロックしたり、ビューアでパン/ドリーするなど)、思い通りにコンポーネントをフレーミングできます。プレビューカメラを非表示にするには、 View Thumbnail Camera をオフにします。

  4. Mode を、希望するサムネイルの生成方法に設定します。 Viewport は、ビューアが使用しているレンダラーを使用します。 Houdingi GL は、最も高速で、最も低品質の方法です。 Render では、Hydraデリゲート( Karma など)を使用してサムネイルをレンダリングするよう選択できます。これは最も高品質ですが、非常に低速の方法です。

    使用したいサムネイル画像が既にある場合は、 ModeFile に設定して、 Source File をその画像のファイルパスに設定します。 ノードが切り替わり、ファイルを書き出す際に画像を生成せずに、既存の画像をコピーします。

  5. Generate Thumbnail をクリックして、サムネイル画像を書き出します。

    これにより、thumbnail.pngまたはthumbnail.jpgファイルが Caching ▸ Location パラメータで指定した出力ディレクトリに作成されます。

ModeRender または Houdini GL に設定されている場合、 Auto-generate on export をオンにすることで、USDファイルを書き出す時に常にサムネイルを再生成することができます。

Tip

HoudiniがHoudiniパス上(ユーザー環境設定ディレクトリの$HOUDINI_USER_PREF_DIRなど)にThumbnail.usdaファイルを見つけた場合は、サムネイルの生成時、そのファイルがステージにサブレイヤー化されます。 これを使用すると、カスタムの背景、ライティングリグ、サイズ比較など、追加の“もの”を自動的にサムネイルに追加できます。

独自のカメラとライトを使ってサムネイル画像を生成する

Component Outputノードには2番目の入力があり、アセットのサムネイル用にこの入力を使用してカメラ、ライト、他のオブジェクトをセットアップすることができます。

  1. Component Outputノードを選択します。

  2. パラメータエディタで、 Caching ▸ Thumbnail セクションを開きます。

  3. Camera and SceneSecond Input に設定します。

  4. Thumbnail Scene Quickstart をクリックします。

    これは、Insertion Pointを追加し、さらに現行ビューに基づいたカメラを追加します。 この2番目の入力を介してライト、スケール用オブジェクト、背景板などの他のアイテムを追加することができます。

  5. Generate Thumbnail をクリックすると、サムネイルファイルが書き出されます。

    これは、 Caching ▸ Location パラメータで指定された出力ディレクトリ内にthumbnail.pngまたはthumbnail.jpgのファイルを作成します。

Tip

Save Thumbnail Scene to Disk を有効にすると、アセットディレクトリ内にThumbnail.usdaファイルが生成されます。 このThumbnail.usdaファイルをhuskに使用することで、そのサムネイルのレンダリング画像を再生成することができます。

コンポーネントをアセットギャラリーデータベースに追加する

Component Outputノードには、ディスクに書き出されたファイルを自動的にUSDアセットギャラリー(Layoutノードによって使用されます)に追加できるボタンがあります。 このためには、ファイルが既にディスクに書き出されている必要があります。 出力ファイルのファイルパスを使用するだけで、エントリーをレイアウトデータベースに追加することができます。

ファイルのデフォルトの出力パスでは、現在の.hipファイルの相対ディレクトリにファイルが置かれます。 コンポーネントを生成するのに使用する.hipファイルが共有/集中管理されたディレクトリにあれば、通常は問題ありません。 そうでない場合は、Component Outputノードを複製して、より集中管理された場所(共有アセットディレクトリなど)に書き出すようファイル出力パラメータを変更し、 ファイルをそこに書き出して からそれらのファイル をアセットギャラリーに追加することをお勧めします。

  1. Component Outputノードを選択します。

  2. パラメータで、 Caching セクションを開きます。

  3. Location パラメータを確認します。アセットギャラリーは、この場所からファイルをロードするので、集中管理/共有されたディレクトリである必要があります。

  4. Save to Disk をクリックして、ファイルを生成します。

    コンポーネントをアセットギャラリーに追加する前に、ファイルをディスク上に書き出す必要があります。

  5. Add to Asset Gallery をクリックします。

    ギャラリーデータベースに、ディスク上のファイルを指す新しいエントリーが作成されます。

Tip

フローティングウィンドウにアセットギャラリーを表示するには、メインメニューで Windows ▸ New Floating Panel を選択します。 次に、フローティングパネルのペインタブを右クリックし、 Solaris ▸ Layout Asset Gallery を選択します。

クラスプリミティブについて

Component Builderは、/__class__/prim_nameのPrimから 継承する ようにコンポーネントをセットアップします (例えば、ルートPrimが/campfireの場合、そのPrimは/__class__/campfireから継承します)。

Inherits(継承)は、USDの非常に強力かつ便利な機能です。基本的に、コンポーネントはシーンで参照される度に、Primが そのツリー内 の継承したいパスに存在するかどうかをチェックします。 継承元のPrimが存在する場合、そのアトリビュートがコンポーネントのアトリビュートを上書きします。 これにより、表示されるコンテキストに基づいてPrimをカスタマイズできます。

Houdiniでは、“Inherits(継承)”コンポジションアークを持つPrimを参照する際には、シーングラフツリーでPrimを右クリックして、 Edit Primitive ▸ New Node to Edit Inherit 継承されたパス を選択できます。 すると、LOPネットワークに新しいEdit Propertiesノードが自動的に作成され、継承されるPrimのプロパティを上書きできます (つまり このシーンでのみ 、継承するPrimをカスタマイズできます)。

(将来のバージョンのHoudiniでは、継承をより簡単にセットアップ、可視化、編集できるツールが追加される可能性があります。)

ディレクトリ構造

Component Builderネットワークのディレクトリ出力(バリアントなし)は、次のようになります:

/campfire
    campfire.usd    ← メインファイル、ペイロードを指す
    payload.usdc    ← シェイプおよびマテリアルレイヤーを参照
    geo.usdc        ← シェイプデータ
    mtl.usdc        ← マテリアル
    thumbnail.jpg   

ディレクトリには、テクスチャマップなどの他のファイルが含まれる場合もあります。 ネットワークに含まれるComponent Output内にExtraノードを作成すると、ディレクトリには、そのネットワークで加えられた変更を含むextra.usdcファイルが作成されます。

Tip

Component Outputノードのパラメータの Caching ▸ Export Options で、“sidecar”レイヤーファイル(payload.usdcgeo.usdcmtl.usdcextra.usdc)の名前を変更できます。

この図は、“メイン”のアセットファイルがどのように他のファイルを参照するかを示したものです:

(ペイロードレイヤーは、サブレイヤーではなくリファレンスを使用して、バリアントを使用する場合でも、各レイヤーのオピニオンが前述のより弱いレイヤーを上書きできるようにします)

バリアントファイル

Component Builderネットワークがバリアントをセットアップする場合、Component Outputノードはvariantsと呼ばれるサブディレクトリを生成します。 サブディレクトリ内には、各バリアントのサムネイルと、現行として設定されたバリアントでコンポーネントを参照するシンプルなレイヤーファイルがあります。 これにより、Solarisアセットギャラリーなどで、バリアントを個別のアセットとして扱いやすくなります。

/campfire
    campfire.usd
    payload.usdc
    geo.usdc
    /maps
        wood_diffuse.exr
        wood_normal.exr
    mtl.usdc
    thumbnail.jpg
    /variants
        campfire_blazing.usd
        campfire_blazing_thumbnail.jpg
        campfire_calm.usd
        campfire_calm_thumbnail.jpg
        campfire_smoldering.usd
        campfire_smoldering_thumbnail.jpg
See also

Solaris

USD

ジオメトリ

  • SOPをUSDに取り込む方法

    HoudiniがSOPジオメトリをUSDに変換する方法、その工程を制御する方法の詳細。

  • Component Builder

    Component Builderツールは、マテリアル、バリアント、ペイロード、レイヤーをサポートし、SOPからUSDモデルを作成するためのネットワークスニペットを配置します。

レイアウト

  • Editノード

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

  • Layoutノード

    インスタンス化されたUSDアセットをシーンに取り込むツールが備わっています。個々にコンポーネントを配置したり、カスタマイズ可能なブラシを使って色々な方法でコンポーネントをペイント/スキャッターしたり、既存のインスタンスを編集することができます。

  • カスタムレイアウトブラシ

    Layout LOPの挙動をカスタマイズして利用可能なレイアウトブラシデジタルアセットの作成方法。

シェーディング

  • シェーダフレームワーク

    シェーダノードのUSDプリミティブへの変換を含む、Solarisシェーディングフレームについて説明しています。

  • SolarisでのMaterialXの使い方

    HoudiniにはMaterialXシェーダノードに呼応させたVOPノードが用意されています。これらのノードを使用してシェーダネットワークを構築したり、既存のMaterialXシェーダをインポートすることで、(HoudiniのUSDレンダラーの)KarmaでMaterialXシェーダノードを利用することができます。

  • UDIM

    テクスチャ空間の異なるタイルを、それぞれ別の解像度で、異なるテクスチャファイルにエンコードすることができます。その後、kaiju.exrといったテクスチャファイル名を指定すると、Houdiniがロード時にそのトークンを特定のタイルアドレスに置き換えてくれます。

Karmaレンダリング

チュートリアル