Houdini 19.5 Solaris

LOPs入門チュートリアル 1 アセット部署編: ビルド

最初のチュートリアルでは、アセットを/stageコンテキストに取り込んで、そのアセットのマテリアルをセットアップし、そのアセットのバリアントを作成することでLOPsを学んで行きます。

On this page

このチュートリアルについて

前提条件

必要なサポートファイル$HIP/LOPS_DEMO_FILESにダウンロードして解凍してください。

あなたが学習する内容

  • アセットのバリアントセットの作成方法。

  • USDのアセットを用意する方法。

  • アセットをUSDとしてエクスポートする方法。

はじめに

普段のプロダクションパイプラインでは、アセット部署は複数のサブ部署(モデリング部署やテクスチャ部署)で構成されていることが多いです。 従来からアセット構築は複雑であり、通常ではアセットは、たくさんの異なるファイルフォーマットで複数の異なるソースから構成されます。

このチュートリアルでは、プロダクションパイプラインの初期ステージの1つである- アセット作成 -を 簡略化した 内容を学んで、アセット部署の役を演じましょう。 .objファイルとして渡された樽を取り込んで、いくつかのちょっとした問題を修正し、樽の.pngテクスチャを取り込んで、樽にシェーダを割り当てて、樽のバリアントを作成し、USD用の樽を用意し、そして、その樽をUSDファイルにエクスポートします。

  • このチュートリアルでは、アセット部署が 1部署 であることを想定しています。

  • Houdini Apprenticeライセンス所有者は、.usdncファイルに しか 書き出すことができません。このファイルは非商用バージョンのUSDで、Houdiniでしか読み込むことができません(USDに対応している他のパッケージでは読み込むことが できません )。その制限以外は、.usdncは完全に通常の.usdファイルと同じです。

Tips

  • 作業する時はシーンファイルを頻繁に保存するようにしてください。例えば、lops_tutorial_1.1.hipのような名前でファイルを保存するようにしてください。

  • このチュートリアルの途中で何か問題に遭遇した場合、トラブルシューティングのセクションが役に立つので参照してください。


開始

ステップ 1 - アセットをHoudiniに取り込む

最初のステップでは、 File SOPノードを使用してアセットをHoudiniに取り込みます。

  1. 新しくHoudiniセッションを開始します。

  2. Solaris デスクトップに切り替えます。

    • Solaris デスクトップが 見つからない 場合は、各自で作成してください。

    • パネルのどれかでScene Graph Treeパネルを表示してください。

  3. ネットワークエディタ で、/objコンテキストに切り替えます。

  4. ⇥ Tabメニューから File を選択します。

    これは、 File SOPを含んだGeometry Objectノードを作成します。

  5. この Geometry Object ノードの名前を Source に変更します。

    このオブジェクトの中で、樽を取り込んでUSDの準備をします。

    Note

    一部のパイプラインでは、USDを直接取り込む場合があり、その場合には、この手順をスキップします。

  6. Source ノードの中に入ります。

    ノードをダブルクリック、または、ノードを選択してEnterを押します。

  7. このチュートリアル用にダウンロードしたLOPsサポートアーカイブからファイルを読み込むように File SOP ノードを編集します。

    Geometry File パラメータフィールドに以下のファイルパス文字列を入力します:

    $HIP/LOPS_DEMO_FILES/BaseGeo/repacked_BarrelWithLid_UV.obj
  8. プロップをワールド空間の中心に配置するために、 Match Size SOPノードを追加して、 パラメータエディタ で以下の設定をします:

    • Translateオン にします。

    • Target Position0, 0, 0に設定します。

    • Justify YMinに設定します。

  9. File SOP ノードの出力を Match Size SOP ノードの 1番目 の入力に接続します。

  10. Null SOPノードを追加し、名前をOUT_BARRELに変更します。

  11. Match Size SOP ノードの出力を OUT_BARREL の入力に接続します。

  12. OUT_BARREL 上でを押したままにすると、その樽には既にBarrel(樽)Lids(蓋)MetalStraps(帯金)のグループが設定されていることがわかります。

ステップ 2 - アセットをLOPsに取り込む

このステップでは、 SOP Import LOPノードを使用してアセットをLOPsに取り込みます。

  1. ネットワークエディタ で、/stageコンテキストに切り替えます。

    Note

    Houdini内のどのレベルでもLOPネットワークを作成することができます。 しかし、このチュートリアルでは、/stageコンテキスト内で作業しましょう。

  2. SOP Import LOPノードを追加して、 パラメータエディタ で以下の設定をします:

    • SOP Path パラメータフィールドに以下を入力します:

      /obj/Source/OUT_BARREL

      ジオメトリをLOPに取り込んだら、そのジオメトリのことをプリミティブ(または Prim )と呼びます。 USDでのプリミティブという定義は、Houdiniのネイティブのプリミティブの定義とは異なります。

    • Load As Referenceオン にします。

      Reference(リファレンス)とは、よく使用するコンポジションアークの1つで、通常ではこれを使ってアセットとプロップをステージ内に合成します(例えば、セットにアセットを組むとき)。 リファレンスは、見た目はインスタンスかもしれませんが、( Make Instanceable パラメータを有効にして、これをインスタンスにすることを明示しない限り)実際はインスタンス化 されていません

      リファレンスは、シーン記述をコンパクトに再利用するための1種の マクロ と考えてください。 リファレンスは、例えば本棚に本をしまう際に使用します。 本棚と本は、それぞれ本棚アセットと本アセットを参照します。

    • Primitive Path パラメータフィールドに以下を入力します:

      /Barrel/BarrelGeo

      ここには、USD内部ファイル構造に呼応したこのPrimのリファレンスの格納先となるLOPシーングラフ内の位置を指定します。

    • Layer Save Path パラメータフィールドに以下を入力します:

      $HIP/tutorial1/Geo/BarrelBase.usd

      ここには、このPrimを含んだ 実際の ディスク上の.usdファイルの保存場所をUSDに伝えます。 詳細は、このチュートリアルの後半のUSD ROPで説明します。

  3. Scene Graph Treeペインを見てください。

    • Scene Graph Tree 内ではUSDステージのレイアウトを確認することができます。

    • USDステージが論理的に構成されているかどうかを確認するために、定期的に Scene Graph Tree を参照することになります。

      Note

      Scene Graph Tree 内でKind(種類)表示されていない 場合は、ギアメニューをクリックしてKindにチェックを付けてください。

    • BarrelのKindが group になっていて、その入れ子になっているBarrelGeoのKindが component になっていることがわかります。

      これらの体系的な構造の種類( アセンブリグループコンポーネントサブコンポーネント など)に関する情報は、Solaris用語集を参照してください。

  4. ネットワークエディタ で、 SOP Import LOP ノードをクリックして表示されるコンテキストメニューから LOP Actions ▸ Inspect Active Layer を選択します。

    • 作成されたUSDコードを見てみましょう。USDコードには、合成ステージ(Houdiniで言う シーン )が含まれています。

    • Barrelgroup で、その下のBarrelGeocomponent になっています。

    • このBarrelGeoPayload(ペイロード)として追加されています。

ステップ 3 - マテリアルライブラリをネットワークに追加する

このステップでは、 Material Library LOPノードを使用して、ステップ 4の樽アセットに割り当てるマテリアルのライブラリを構築します。

  1. /stageコンテキスト内で、 Material Library LOPノードを追加します。

    このノードをまだどこにも接続 しないでください

  2. Material Library LOP ノードの中に入ります。

    ノードをダブルクリック、またはノードを選択してEnterを押します。

  3. Principled Shader VOPノードを追加して、名前を Barrel に変更し、 パラメータエディタ ▸ Surface タブで以下の設定をします:

    • Basic ▸ Base Color1,1,1に設定します。

    • Specular ▸ Roughness1に設定します。

    • Reflection ▸ Metallic1に設定します。

  4. Textures タブで、 Base ColorRoughnessMetallicUse Textureオン にします。

  5. ディスク上のテクスチャの場所を指定します。

    • Base Color ▸ Texture パラメータフィールドで、以下を入力します:

      $HIP/LOPS_DEMO_FILES/Library/Assets/Barrels/Textures/repacked_BarrelWithLid/repacked_BarrelWithLid_UV_<UDIM>_BaseColor.png
    • Roughness ▸ Texture パラメータフィールドで、以下を入力します:

      $HIP/LOPS_DEMO_FILES/Library/Assets/Barrels/Textures/repacked_BarrelWithLid/repacked_BarrelWithLid_UV_<UDIM>_Roughness.png
    • Metallic ▸ Texture パラメータフィールドで、以下を入力します:

      $HIP/LOPS_DEMO_FILES/Library/Assets/Barrels/Textures/repacked_BarrelWithLid/repacked_BarrelWithLid_UV_<UDIM>_Metallic.png

    警告

    • 上記で記述しているような適切なUDIM構文を使用するように注意してください。

    • ファイル選択ダイアログを使用してテクスチャを選択する場合、必ずファイル選択ダイアログオプションでUDIMを選択してください。これによって、適切なUDIM構文が使用されます。

  6. /stageに戻ります。

    Tip

    ネットワークの上位階層に移動するにはUキーを押します。

  7. Material Library LOP ノードのパラメータエディタで、 Auto-fill Materials をクリックします。

    さきほど作成したPrincipled Shaderがこのパラメータインターフェースに収集されます。

    Note

    別の方法としては、 Material VOP パラメータフィールドに*(アスタリクス)を入力して、 Include Only VOPs with Material Flag Setオン にする方法でも可能です。

  8. Configure Layer LOPを追加して、 パラメータエディタ で以下の設定をします:

    • Save Path パラメータフィールドに以下を入力します:

      $HIP/tutorial1/Materials/BarrelMaterials.usd

      これは、マテリアルの保存場所をUSDに伝えます。

  9. Material Library LOP ノードの出力を Configure Layer LOP ノードの入力に接続します。


これで、アセット用のマテリアルライブラリが用意できました。

ステップ 4 - アセットにマテリアルを適用する

では、Primsにマテリアルを割り当てて行きましょう。

  1. SOP Import LOP ノードを選択します。

  2. Reference LOPノードを追加して、 パラメータエディタ で以下の設定をします:

    • References タブの Multi-input セクションのチェックボックスをオンにします。

    • References タブの Multi-input セクション下の Primitive Path パラメータフィールドで、以下を入力します:

      /Barrel/materials

      これは、樽アセット用のマテリアルの格納先です。

    Note

    Reference(リファレンス)は、シーン記述をコンパクトに再利用するための1種の マクロ と考えてください。

  3. SOP Import LOP ノードの出力を Reference LOP ノードの 1番目 の入力に接続します。

  4. Configure Layer LOP ノードの出力を Reference LOP ノードの 2番目 の入力に接続します。

  5. Reference LOP ノードの Primitive Path/materialsだけに変更した場合、 Scene Graph Tree でどのように変化するのかを見てください。

    確認したら、 Primitive Path/Barrel/materialsに戻してください。

  6. Assign Material LOPノードを追加します。

  7. Reference LOP ノードの出力を Assign Material LOP ノードの入力に接続します。

  8. Scene Graph Tree から以下のパスを Assign Material LOP ノードのそれぞれのパラメータフィールド上にドラッグアンドドロップして割り当てます:

    • BarrelGeoPrimitives パラメータフィールドまでドラッグします。以下のパスがそのパラメータフィールドに入ったはずです:

      /Barrel/BarrelGeo
    • BarrelMaterial Path パラメータフィールドまでドラッグします。以下のパスがそのパラメータフィールドに入ったはずです:

      /Barrel/materials/Barrel


これで、シェーディングとテクスチャが付いた樽アセットができました。

ステップ 5 - アセットのバリアントを作成する

では、樽とマテリアルが用意されたので、アセットから単純なバリアントを作成しましょう。

このステップでは、蓋を隠して、蓋付きの樽と蓋なしの樽の 2個 の樽を利用できるようにしたいと思います。 さらに、SOPsでは可視なグループをLOPsで利用できるようにする必要があります。 これをするには、既存のLOPチェーンを修正する必要があります。

  1. 既存の SOP Import LOP ノードを選択して、パラメータエディタで以下の設定をします:

    • Primitive Path パラメータフィールドに、以下を入力します:

      /Barrel/BarrelGeo/Body

      これは、USD内部構造に保存されるアセットバリアントのディレクトリ場所です。 この場所は、 Scene Graph Tree で確認することができます。

    • Parent Primitive Kind パラメータドロップダウンメニューで、 Component オプションを選択します。

      これは、樽バリアントの別々の部位を コンポーネント にします。 これによって、アセットを整理することができます。

      このような体系化構造の詳細は、Solarisの用語集を参照してください。

    • Layer Save Path パラメータフィールドのパスは、前回のチュートリアルで設定した時と変わっていないので変更する必要はありません。

    • Import Group パラメータフィールドに、以下を入力します:

      Barrel MetalStraps

      右側にあるドロップダウンメニューを使って、これらのグループを選択することができます。

  2. 既存の SOP Import LOP ノードをAltドラッグしてそのノードのコピーを作成してから、そのコピーを 最初 (オリジナル)の SOP Import LOP ノードの下のワイヤー上に乗せます。

  3. 2つ目 (コピー)の SOP Import LOP ノードを選択して、 パラメータエディタ で以下の設定をします:

    • Primitive Path パラメータフィールドに、以下を入力します:

      /Barrel/BarrelGeo/Lids
    • Layer Save Path パラメータフィールドに、以下を入力します:

      $HIP/tutorial1/Geo/BarrelLids.usd
    • Import Group パラメータフィールドに、以下を入力します:

      Lids

    Warning

    Import Group パラメータフィールドにはLids のみ を指定してください。

  4. Null LOPノードを追加し、名前をBarrel_w_Lidに変更してから、 Assign Material LOP ノードの 出力 をその Barrel_w_Lid ノードの 入力 に接続します。

  5. Scene Graph Tree を見てみましょう。BarrelGeo下にBodyLidsがコンポーネントとして存在しているのがわかります。

  6. BodyLidsBarrelGeoサブコンポーネントにした方が理にかなっていたように思います。

    Configure Primitives LOPノードを追加してから、 2つ目SOP Import LOP ノードの 出力Configure Primitives LOP ノードの 入力 に接続します。

  7. Configure Primitives LOP ノードを選択して、 パラメータエディタ で以下の設定をします:

    • Primitives パラメータフィールドに、以下を入力します:

      /Barrel/BarrelGeo/*

      Note

      このパスの最後にある*(アスタリスク)は、 すべてに合致 を意味します。

    • Kind パラメータドロップダウンメニューから、 Subcomponent オプションを選択します。

  8. 再度 Scene Graph Tree を見てください。

    これで、階層を グループ から コンポーネント に、 コンポーネント から サブコンポーネント に変更する方法を学びました。 (グループを サブコンポーネント からコンポーネントへといったように)この階層を崩すことは できません 。 そうしても、USDは失敗するでしょう。

    Tip

    荷台の上に10本の樽を置きたいとなった場合、階層内に アセンブリ を配置しても良いでしょう。

    アセンブリの詳細は、Solarisの用語集を参照してください。


単純なバリアントを作成する

このステップでは、単純な樽のバリアントを作成します。

  1. Prune LOPノードを追加して、 Assign Material LOPノードの 出力 をその Prune LOP ノードの 入力 に接続します。

  2. Prune LOP ノードを選択します。

  3. Scene Graph Tree ペインからLidsをそのPrune LOPノードの パラメータエディタ 内の Primitive Pattern パラメータフィールドにドラッグします。

  4. Prune LOP を選択して、ディスプレイフラグを 有効 にします。

    ビューポートでLidsが消えたのがわかります。

  5. Null LOPノードを追加して、名前をBarrel_No_Lidに変更します。

  6. Prune LOP ノードの 出力Barrel_No_Lid ノードの 入力 に接続します。

  7. ⇥ Tabメニューから Add Variants to New Primitive を選択して、 Add Variant LOPを追加します。

  8. Barrel_w_Lid ノードの 出力Add Variant LOP ノードの 1番目の入力 に接続し、 Barrel_No_Lid ノードの 出力Add Variant LOP ノードの 2番目の入力 に接続します。

  9. Add Variant LOP ノードをクリックして表示されるコンテキストメニューから LOP Actions ▸ Inspect Active Layer を選択します。

  10. 表示されたUSDコードを見てください。そのLOPが新しく樽をまるごと構築してから、その蓋を隠しているだけであることに気づくと思います。これは、あまり 効率的ではありません

    この 単純なオブジェクト に関しては、さほど重大ではないですが、もっと複雑なオブジェクトだったり、アセットがたくさんあった場合のことを想像してください。 そのような場合だと、アセットをもっと効率化したいです。

Context Option Blockを使ってバリアントを作成する

このステップでは、樽のバリアントをもっと効率化します。

  1. ⇥ Tabメニューから Add Variants to Existing Primitive を選択して バリアントブロック を作成します。

    Begin Context Options Block LOPノード(variantblock_begin)と Add Variant LOPノード(variantblock_end)の間にLOPノードを接続するためのブロックが ネットワークエディタ に表示されます。

  2. 作成したこのブロックの中にある variantblock_end ノードを選択します。

    Note

    Variant Block End LOPVariant Name Default パラメータ内の`opinput(“.”, $IIDX)`のエクスプレッションが何を意味しているのか気になっていることでしょう。

  3. Scene Graph Tree からBarrelGeoをパラメータエディタの Primitive Path パラメータフィールドまでドラッグします。

    Tips

    • Scene Graph Tree のフォーカスが変わらないようにするには、Barrel_w_Lidノードを選択してから、その Scene Graph Tree ペインをピン留めします。

    • ペインをピン留めしてドラッグアンドドロップするのが面倒くさいのであれば、 Scene Graph Tree ペイン内で、あなたが欲しいパスを選択してから、 クリック ▸ Copy Path でコピーして、 Primitive Path パラメータフィールドにそのパスをペーストすることができます。

    プリミティブパターンを指定する方法に関しては、プリミティブマッチングパターンのページを参照してください。

  4. ブロック内に Null LOPを追加して、名前をLidに変更します。

  5. ブロック内に Null LOPを追加して、名前をNo_Lidに変更します。

  6. ブロック内にPrune LOPを追加します。

  7. この Prune LOP ノードを選択してから、 Scene Graph Tree からLidsをパラメータエディタの Primitive Path パラメータフィールドまでドラッグします。

  8. これらのノードを以下のように接続します:

    • variantblock_begin ノードの 出力 を、 Lid入力Prune LOP ノードの 入力 の両方に接続します。

    • Prune LOP ノードの 出力No_Lid ノードの 入力 に接続します。

    • Lid ノードの 出力variantblock_end ノードの 2番目の入力 に接続します。

    • No_Lid出力variantblock_end ノードの 2番目の入力 に接続します。

    • Barrel_w_Lid出力variantblock_begin ノードの 入力 に接続します。

    • Barrel_w_Lid ノードの 出力variantblock_end ノードの 1番目の入力 に接続します。

    /stageネットワークが下図のようになっているはずです。

    variantblock_end ノードの 1番目の入力 には、変更なしのノードを接続します。ここではBarrel_w_Lidを接続します。 このBarrel_w_Lidが変更を加えたいアセットとなります。他の入力にはバリアントを接続します。

    variantblock_end ノードの 2番目の入力 では、 Prune LOP を使って樽の蓋を非アクティブにして樽から蓋を除去したバリアントを接続します。

  9. アクティブレイヤーを見てみましょう。

    • variantblock_end ノードをクリックして表示されるコンテキストメニューから LOP Actions ▸ Inspect Active Layer を選択します。

    • このUSDコードと前に作成したUSDコードを比較してください。USDコードがもっとコンパクトに収まったことに注目してください。

    前のコードでは樽をまるごと再び追加して蓋を非表示にしていたわけですが、このコードでは、数行の追加で蓋を隠してバリアントを生成しています。

ステップ 6 - デフォルトのバリアントを選択して、USDを保存する

このステップでは、樽アセットのデフォルトのバリアントを指定して、そのUSDを保存します。

Note

LOPノードやUSD ROPでは、まだ 存在していない ディスク上のファイルのパスを指定することができ、ROPが実行されると、見つからないディレクトリが自動的に作成されます。

  1. Set Variant LOPノードを追加します。

  2. variantblock_end ノードの 出力 をその新しい Set Variant LOP ノードの 入力 に接続します。

  3. Set Variant LOP ノードを選択して、パラメータエディタで以下のように設定します:

    • Variant Set パラメータドロップダウンリストからmodelを選択します。

    • Variant Name パラメータドロップダウンリストからLidまたはNo_Lidを選択します。

      これがデフォルトのバリアントになります。

  4. Null LOPノードを追加して、名前を BarrelSets に変更します。

  5. Set Variant LOP ノードの 出力BarrelSets ノードの 入力 に接続します。

  6. Configure Layer LOPノードを追加します。

  7. BarrelSetsノードの 出力Configure Layer LOP ノードの 入力 に接続します。

  8. Configure Layer LOP ノードを選択して、この樽セットの書き出し先のUSDファイルを以下のように指定します:

    • Default Primitive パラメータを有効にして、そのパラメータのドロップダウンリストから/Barrelを選択します。

    • Save Path パラメータを有効にして、そのパラメータフィールドに以下を入力します:

      $HIP/tutorial1/Geo/Barrels.usd
  9. USD ROP LOPノードを追加します。

  10. Configure Layer LOP ノードの 出力USD ROP LOP ノードの 入力 に接続します。

    /stageネットワークが下図のようになっているはずです。

  11. USD ROP LOP ノードを選択して、 パラメータエディタOutput File パラメータフィールドにUSDファイルの出力パスを入力します。例えば、$HIP/tutorial1/BarrelsAsset.usd

  12. Output Processing セクションの Use Relative Paths オプションを 有効 にしてください。

    これを有効にすることで、このLOPネットワーク内のどこの場所でも$HIPを使用することができます。 USD ROP LOP ノードは、USDファイルに書き出す際に、このLOPネットワークから$HIPの参照先を調べて、相対参照に置換します。

    相対パス は実際にUSDで非常に複雑な部分で、初心者には本当に混乱を招いてしまいます。 このコントロールを使用することで、馴染みのあるファイル構造で作業して、LOPsに内部でUSD用のパスを作成させることができます。

  13. Extra Files セクションには、 Error Saving Layers with Implicit Paths オプションがあります。

    このオプションは、レイヤーの設定を間違えてLOPsがデータの保存先を分からなくなった時に USD ROP LOP ノードにエラーを出させます。

    これを試したいのであれば、この USD ROP LOP ノードのちょうど上にある Configure Layer LOP ノードをバイパスにしてみてください。 ファイルの保存をしてみると、 USD ROP LOP ノードでエラーが出ます。

  14. USD ROP LOP ノードのパラメータリストの上部にある Save to Disk ボタンを押して、USDファイルをディスクに保存します。

ステップ 7 - 変更内容を確認する

このステップでは、さきほど保存したUSDファイルをチェックして、すべてが動作したかどうかを確認します。

USDをHoudiniに読み戻す

  1. さきほど保存したUSDファイルを読み込みます。

  2. Reference LOPを追加します。このLOPはどこにも 接続しないでください

  3. パラメータエディタ で、以下の設定をします:

    • File and Internal References セクションの Primitive Path パラメータフィールドに、以下を入力します:

      /Barrel
    • File and Internal References セクションの File Pattern パラメータの右側のファイル選択ダイアログボタンをクリックしてUSDファイルを選択して、そのUSDを読み込みます:

      $HIP/tutorial1/BarrelsAsset.usd

      LOPネットワーク内の最後のROPと同じ結果が得られるはずです。

  4. Set Variant LOPノードを追加して接続し、 パラメータエディタ で以下の設定をします:

    • Scene Graph Tree からBarrelGeoPrimitives パラメータフィールドまでドラッグします。

    • Variant Set パラメータフィールドにmodelと入力します。

    • Variant Name パラメータのドロップダウンリストからバリアントを選択します。

USDファイル構造を検査する

ファイルブラウザウィンドウで、USDファイルを保存した場所に移動します。

この場所には5個のファイルがあるはずです

├── BarrelsAsset1.usd
├── Geo
│   ├── BarrelBase.usd
│   ├── BarrelLids.usd
│   └── Barrels.usd
└── Materials
    └── BarrelMaterials.usd

トラブルシューティング

Reference LOPを使ってUSDをHoudiniに読み込んでみると、LOPチェーン内の最終ノードと同じルックにならない。

(上記のとおりに)ファイル構造内に 5個 のファイルが存在していますか? 存在していないのであれば、2個以上のLOPで同じファイルパスが指定されている可能性があります。 こうしてしまうと、ファイルがお互いに上書き保存してしまいます。

樽に何もマテリアルが表示されない。

シェーダのTextureパラメータに正しいUDIM構文が使用されていますか? マテリアルライブラリのセクションと特に警告を確認してください。


終了

おめでとうございます!最初のUSDアセットを構築し、次のチュートリアルに進む準備ができました。

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レンダリング

チュートリアル