このフィールドの入力の方法は、デジタルアセットの作成を参照してください。一度ネットワークをデジタルアセットに変換してしまえば、Materialネットワーク(例えば、/mat)でその新しいタイプのノードを作成できるようになります。レイヤー出力を独自マテリアルに追加する方法マテリアルを組み合わせることで、新しくブレンドされたルックを作成することができます(詳細は、マテリアルのレイヤー化を参照してください)。独自マテリアルをレイヤー化したい場合は、現在のところ、手動でレイヤー出力をマテリアルノードに追加する必要があります。Struct(レイヤー構造体)を生成します。BRDFを生成するノードには既にlayer出力を持っていることがあります。VOPを使用することで、F出力などの部分からレイヤー構造体を作成することができます。VOPsを作成します。layerに設定します。"Always"に設定します。surfaceに設定します。displaceに設定します。layer出力をこれら2つのParameterノードの入力に接続します。VOPsが親マテリアルの単一のlayer出力に結合されます。同じ名前の2つのExportは干渉しません。有効にしたことで、それぞれのシェーディングコンテキスト(surfaceまたはdisplace)に対してコードを生成すると、そのコンテキストのExportのみが"アクティブ"になるからです。"下流"のVOPsは、そのシェーダタイプに基づいて適切なレイヤー情報を選択します。これは、Mantraのアーキテクチャ上の問題を回避するために必要であり、実際にHoudiniではマテリアルを別々のシェーダにコンパイルしています。Shaderマテリアルにはディスプレイスメント用の入力(サーフェス法線沿いの浮動小数点変位のdispや3D変位ベクトルのvistp)があります。VOP)を作成して、それらのノードをマテリアルのディスプレイスメント入力に接続することができます。パラメータを有効にする必要があることに注意してください。これは、/matレベルでディスプレイスメントシェーダを試すのにも非常に役立ちます。次に、ノードをディスプレイスメント入力に接続することで、レンダビュー内でそのサーフェス上での効果を確認することができます。Boundsプロパティを探し出して、見つかればそのプロパティをマテリアルに追加します。これは、この特別な処理をするための唯一のプロパティです。これによって、ディスプレイスメント付きのマテリアルをレイヤー化することができます。VOP)を作成して、それらのノードをディスプレイスメントOutputノードのN入力(3D変位ベクトル)に接続することができます。Tipサーフェス法線沿い変位させたい浮動小数点距離があれば、その距離とディスプレイスメントグローバルノードの法線(N)出力を乗算することで、変位ベクトルを取得することができます。レンダープロパティをマテリアルの一部として割り当てる方法シーン内にレンダリングプロパティを設定する方法が3つあります:オブジェクト、カメラ、マテリアルなどのノード上にSpareパラメータとしてプロパティを追加する。マテリアルスタイルシートにプロパティを割り当てる。VOPを使って、マテリアルネットワークの一部としてプロパティを割り当てる。Builderノードにレンダープロパティを追加すると、そのレンダープロパティがマテリアルのインターフェースの一部になります。マテリアルネットワーク内部にプロパティを割り当ててしまうと、それらのパラメータをプロモートさせない限り、マテリアルのインターフェースの一部になりません。VOP上の空っぽの"shader"入力に接続します。Propertiesノードのインターフェースにレンダープロパティを追加します。詳細は、レンダープロパティを参照してください。パラメータエディタで、それらのプロパティ値を設定します。オブジェクトにマテリアルを割り当てると、そのオブジェクトにもレンダープロパティが適用されます。Note異なるレベルにおけるプロパティの継承の順番を忘れないでください。Subdivisionプロパティを追加して、そのマテリアルが適用されたオブジェクトすべてをサブディビジョン化したとします。Subdivisionプロパティがあります。このプロパティは、マテリアルのそのプロパティ値を上書きします。そのオブジェクトがマテリアルからそのプロパティ値を取得するようにさせるには、まず最初にそのオブジェクトからそのプロパティ値を削除する必要があります。シェーダ出力を理解する昔、Mantraは、サーフェスに対してサーフェスカラーやディスプレイスメント(さらにはfogシェーダなどの現在ではほぼ時代遅れになったタイプのシェーダ)を含む異なるシェーダを受け入れていました。マテリアルは、サーフェスシェーダ、ディスプレイスメントシェーダ、レンダープロパティをカプセル化することができます。Outputノードに接続します(Outputノード上のパラメータは、それらの入力が作成するシェーダの種類を制御します)。VOPは、Outputノードのシェーダ出力をマテリアルに結合します。この設計によって、シェーディングのルック(サーフェスカラー、光沢など)とオプションのディスプレイスメントのルック(例えば、肌の溝)を簡単に一枚のマテリアルに結合することができます。Outputノードから出力されている"shader"接続は、VOPネットワーク内の他の接続と同様のVEXデータを表現しているわけではありません。この接続は、そのシェーダを最終マテリアルにどのように寄与させるのかを示したメタデータを表現しています。VOPがネットワークの最後にあります。/matレベルの"緩い"マテリアルに関しては、Houdiniがノードチェーンをマテリアルに変換する時にその終了ノードが存在しなければ、Houdiniがあなたの代わりに自動的に終了ノードを追加します。VOPから接続を遡ってノードを追跡することができます)。VOPを挿入することで、シェーダの実装をプログラム的に切り替えることができます(これを必要とするケースはあまりありませんが)。以上のことから、2つの要素:シェーダ(サーフェスカラーやディスプレイスメントを計算するためのプログラム)とマテリアル(カラー、ディスプレイスメント、プロパティのシェーダ用のコンテナ)があることがわかりました。ユーザーがマテリアルを混在させて別々のルックをブレンドしたり上に重ねたりしたいです。混合材料として使用することができたのですが、混在させるシェーダを別々に評価して、その計算されたカラー値を合成させるにはあまりにも処理が重すぎました。代わりに、BRDFを混在させたほうが処理が軽く、重い処理のライティングの評価も一回で済みます。マテリアルのレベルで混在させることができたのですが、マテリアルコンテナでは、混在させるのに非常に手間がかかり、追加情報を扱うのも遅くなります。この構造体には、サーフェスシェーディングとディスプレイスメントに関する混在可能な情報を含んでいます。BRDFと他のデータをパッケージ化して、混在可能なサーフェスシェーダを表現します。Lightingステージを通過させて、シェーディングで使用される最終結果にする必要があります。(レイヤーは、Mantraがレンダリングで使用する本当の最終シェーダを表現しているOutputノードであることを忘れないでください。混在ができるようにマテリアルノードにレイヤー出力を持たせるかどうかは任意です。Houdiniに同梱されているすべての既製マテリアルにはレイヤー出力が備わっています(独自マテリアルにレイヤー出力を追加することで、その独自マテリアルを混在可能にすることもできます)。VOPに接続することで、それらのマテリアルをレイヤー化することができます(詳細は、マテリアルのレイヤー化を参照してください)。(このあたりのHoudiniは、新しいバージョンのHoudiniがリリースされる度に改良されていく予定です。将来のバージョンのHoudiniでは、おそらく過去の入り組んだ問題を解決したレイヤー中心のわかりやすいワークフローになることでしょう。VOPを追加することができます。古いバージョンのHoudiniでは、SHOPと呼ばれる別のネットワークタイプがありました。マテリアルは、そのSHOPレベルで割り当てられ、そのSHOPの中でVOPネットワークを使って構築されていました。16以降では、このような相反する二面性は存在せず、すべてのシェーディングネットワークはVOPネットワークで処理するようになりました。この以前のシステムから進化した現在のワークフローでは、シェーディングシステムというよりもMantraで動作させるために、レンダラーを完全にゼロから書き直す必要がありました。これが原因で、いくつか問題を解決する仕組みがあります。Builder(他のVOPを割り当てる時はシーンの背後で)内でHoudiniはレイヤー構造体のコンポーネントを分解するためのノードを追加します。マテリアルマテリアルの使い方マテリアルの使い方マテリアルを割り当てる方法とビルトインマテリアルのライブラリの使用方法。Paletteインタラクティブにオブジェクトやプリミティブにマテリアルを割り当てることができます。マテリアルのパラメータとプロパティを上書きする個々のオブジェクトまたはジオメトリのピースのマテリアルパラメータを変更する方法。OpenGLシェーダOpenGLビューポートでマテリアルの表示をカスタマイズする方法。マテリアルコードのキャッシュ化マテリアルをデジタルアセットとして事前コンパイルすることで、レンダリング時のシェーダコンパイルを高速化することができます。テクスチャとUVテクスチャの取り扱い方テクスチャを使ってマテリアルのルックを変更する方法。テクスチャ値の調節ユーティリティVOPによるマテリアルのテクスチャを修正する方法。ディスプレイスメントマッピングでディテールを追加する画像ファイルの変換Ptexテクスチャのベイク1つ以上のオブジェクトのレンダリングされた外観からテクスチャマップを生成します。マテリアルの作成マテリアルの構築Houdiniでマテリアルを作成、結合、修正する方法の基本。シェーダのレイヤー化2つ以上のマテリアルをミックスしたりレイヤー化して結合したマテリアルを作成する方法。マテリアルパラメータ独自マテリアル用のパラメータ/入力インターフェースを構築する方法。VOPの取り扱いVOPネットワークでシェーダを取り扱うためのTips。導師レベルマテリアルのエクスポートシェーダから追加情報をエクスポートして、それをレンダリング画像の一部として保存する方法。Dielectrics(入れ子状の絶縁体)異なるシェーダが定義されたジオメトリが重なっている時にそこから自動的にジオメトリを"抜き出して"、その内部に別々のシェーディングプロパティを割り当てることができます。Stylesheetsは、マテリアルの割り当てやパックジオメトリ上のマテリアルパラメータの上書きをするための高度なテクニカルソリューションです。VOPでのループと条件文VOPネットワークでノードのループと条件ブロックを作成する方法。他のレンダラーRenderManシェーディングRIS。