Houdini 20.0 ノード シェーダノード

Material shader node

サーフェスシェーダ、ディスプレイスメントシェーダ、プロパティシェーダなどの複数のサブシェーダを含むことができるより高レベルなシェーダ。

On this page

概要

Materialノードは他のシェーダタイプ用のコンテナで、低レベルのシェーダ(サーフェスシェーダやディスプレイスメントシェーダ)と個別の設定を組み合わせて、 単一ユニットとして割り当てることができる新しい“ルック”へと“パッケージ化”することができます。

Material Paletteペイン内にあるマテリアルのギャラリーは、全てMaterialシェーダのカスタマイズした事例です。

Houdiniに同梱しているギャラリーマテリアルのドキュメントを参照してください。

マテリアルの作成と編集

HoudiniのEdit Parameter Interfaceウィンドウにより、パラメータを含んだシェーダからマテリアルへそのパラメータを プロモートすることで、ユーザには基本的なパラメータを操作可能にし、他のパラメータを隠した独自のインターフェースを持つマテリアルを作成することができます。

To...Do this

ゼロから新しいマテリアルを作成する

ネットワークエディタ内で、/shopレベルに移動し、Materialノードを作成したら、ノードをダブルクリックして内部に入ります。 マテリアル内部にシェーダノードを作成・編集し、それらを特別な“suboutput”ノードに接続します。

ギャラリーの既存マテリアルをカスタマイズする

Material Paletteペインをクリックしてください。ギャラリー(左側)からシーン内のシェーダのリスト(右側)へ、マテリアルを1つドラッグします。 すると、マテリアルの設定、内部のシェーダ、またはインターフェースの編集ができるようになります。

詳細は、Material Paletteのドキュメントを参照してください。

内部のシェーダからパラメータをMaterialノード上にプロモートする

マテリアルのパラメータエディタ内で Gearアイコンをクリックし、 Edit Parameter Interface を選択します。 Create Parameters 下にある From Nodes タブをクリックし、パラメータをマテリアル内部のシェーダから Existing Parameters リストへドラッグし、レベル上げをしてください。

詳細は、 Edit Parameter Interfaceウィンドウのドキュメントを参照してください。

オブジェクト毎またはプリミティブ毎にマテリアルの設定を上書きする

レンダリングプロパティを参照してください。

Examples

Down Hill Lava Flow Example for Material shader node

このファイルでは、傾斜が低い箇所にCrust(地殻)が集まって硬化する溶岩の流れを作成しています。このアニメーションは、シェーダで作成していて、ジオメトリそのものはアニメーションしていません。

Note

Lava(溶岩)マテリアルのパラメータのほとんどを、サーフェスノードで作成したPointアトリビュートで上書きしています。

FirePit Example for Material shader node

Note

このファイルでは、ジオメトリはアニメーションしていません。 テクスチャをアニメーションさせることで、すべてのアニメーションを表現しています。

炎は、UVテクスチャを簡単に適用できるようにグリッドで作成し、Magnet SOPを使ってメタボール周辺を歪ませています。 炎には、黄色または青のFlameテクスチャのどれかを割り当てています。 Flamesのopacity mask wrapをDecalに設定することで、テクスチャがFlameジオメトリの上部で単一ピクセルリングを繰り返して表示するのを回避しています。 また、flameOpacMap.jpgというマスクファイルを使って、上部にFlameの形状を調整しています。 noise offsetを$TでY軸を強くアニメーションさせることで、Flameが上昇しているように見せています。これは、Noise jitterもY軸に対して大きくなります。

炭は、変形させたグリッドにCopy Stampを適用した球で表現しています。 Attribute CreateSOPを使えば、SOPレベルでLava(溶岩)のテクスチャのパラメータを上書きしてCopy Stampすれば、$BBYなどのローカル変数を使ってテクスチャをアニメーションさせることができます。 そうすれば、テクスチャのCrust(地殻)とその値だけを使って、炭の上部の形状を修正することができます。 これは、炭の下部で使用するテクスチャのLava(溶岩)のアスペクト比を保持します。熱を発する炭の下部の残り火を表現するために、Lava(溶岩)の強度(Kdアトリビュート)をスタンプしてアニメーションしています。

StyleDisplacement Example for Material shader node

このサンプルファイルでは、2つの四角形で構成されたオブジェクトに対して、片方の四角形にはバンプマップを、もう片方の四角形にはTrue Displacementが適用されています。 そのオブジェクトが複製されており、2番目のコピーでは、スタイルシートを使用して、それらの2つの四角形に対してマテリアルの割り当てを逆にしています。

シェーダノード