Houdini 19.5 Solaris

SolarisでのMaterialXの使い方

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

On this page

概要

MaterialXとは、シェーディングネットワークを記述するためのオープンソース規格です。 MaterialXシェーディングネットワークは、アプリケーションとレンダラー間で持ち運びできるように設計されています。

SolarisとKarmaは、USDでMaterialXシェーダを取り込めるようにするプラグインのUsdMaterialXを介してMaterialXを活用します。 Houdiniでは、MaterialXマテリアルをVOPで組んで、それを自動的にUsdShade Primに変換することができます。 VOPノードを.mtlxファイルに変換することができるスクリプトが存在しますが、Solarisがサポートしている基本ワークフローは、USD PrimとしてエンコードされているMaterialXノードが前提となっています。 Solarisは.mtlxファイル内で定義されているMaterialX Lookを参照することができますが、.mtlxファイルへの 書き込み のサポートはかなり制限が付いています。

Tip

Karma XPUはMantraとKarma XPUで使用されている従来のVEXベースのシェーダにまったく対応する予定はないので、おそらくMaterialXがKarmaレンダラーのシェーダを記述するための有望株になります。

Houdiniで使用されている公式のMaterialXの仕様書とドキュメントは、以下のドキュメントにあります:

Tip

HoudiniのMaterialXサポートには、Principled Shaderと同様の物理ベースな万能シェーダであるMtlX Standard Surfaceノードが含まれています。 独自のシェーダを定義しなくても、たいていはこのノードで賄うことができます。

制限事項

  • 現在のところ、KarmaはMaterialXのライトシェーダに対応していません。

  • MaterialXノードにはColor Spaceパラメータが備わっていますが、これは実際にはメタデータで、現在のところ、USDのHydraインターフェースはこのメタデータをレンダーデリゲートへ渡しません。

  • MaterialXではファイルパスに使用できるトークン(例えば、時間に関しては{frame})がいくつか定義されていますが、現在のところ、これらのトークンはKarmaでもHoudiniでも使用されていません。ただし、<UDIM>トークンは使用可能です。

  • Karmaはボリュームプリミティブ(VDBs)に対してVolumeマテリアルにしか対応していません。

  • 現在のところ、Karmaは同一プリミティブ上でのSurfaceマテリアルとVolumeマテリアルに対応していません。

  • Compositing系ノードがKarmaで対応していません。

  • 文字列入力は許可されていません。マテリアルのパブリックインターフェースからの単純なパラメータ入力接続さえも許可されていません。

マテリアルタイプ

MaterialXで作成されるマテリアルタイプは、主にSurfaceマテリアルとVolumeマテリアルの2つです。

マテリアルには異なるシェーダタイプを含めることができます:

BSDF

表面が光をどのように吸収、反射、屈折させるのかを表現します。これはSurfaceマテリアルで使用されます。

VDF

ボリュームに特化したシェーディングを表現します。これはVolumeマテリアルで使用されます。

EDF

発光/照明の特性を追加します。これは、SurfaceマテリアルとVolumeマテリアルの両方で使用可能です。

Surfaceマテリアル

  • MtlX Surface Material VOPはSurfaceマテリアルを定義します。MaterialXサーフェスシェーディングノードのネットワークをこのsurfaceshader入力に接続することでSurfaceシェーダを定義することができます。また、そのネットワークでディスプレイスメントを適用したいのであれば、そのネットワークをdisplacementshader入力に接続すれば良いです。これは、Houdiniネイティブマテリアルで言うCollect VOPと同様で、実際にネットワークを構築する時にMtlX Surface Material VOPの代わりにCollect VOPを使用することができます。

    (Houdiniネイティブマテリアルと同様に、ほとんどのMaterialXサーフェスシェーディング系ノードをスタンドアローンマテリアルとして使用可能です。ただし、サーフェスシェーダにディスプレイスメントシェーダを追加したい場合となれば、MtlX Surface Material VOPまたはCollect VOPを使用して、ディスプレイスメントネットワークをそこに接続する必要があります。)

  • BSDF/EDF/OpacityノードをMtlX Surface VOPに接続してサーフェスシェーディングを定義します。

    MtlX Thin Surface VOPを使用すれば、表面と裏面で異なるBSDFやEDFが定義された薄い両面ジオメトリのルックを作成することができます。

  • MtlX LayerMtlX AddMtlX MultiplyMtlX Mixを使用してBSDFsを合成することができます。

  • MtlX Displacement VOPを使用してディスプレイスメントを定義します。

  • Uniform EDF VOPを使用すれば、MtlX Surfaceに発光特性を追加することができます。

Volumeマテリアル

  • MtlX Volume VOPを使用してボリュームの散乱、吸収、発光を定義します。

  • MtlX Geometry Property Value VOPを使えば、名前によってボリュームフィールドをバインドすることができます。

テクスチャとパターン

MaterialXには、テクスチャを扱うノードがたくさん含まれています。

  • MtlX ImageMtlX Tiled ImageMtlX Triplanerは、テクスチャ画像を取り込みます。テクスチャファイル名に<UDIM>トークンを使用することができます(上記の制限事項を参照)。

  • MtlX Normalmap VOPは、法線マップテクスチャをMtlX Standard Surface VOPnormal入力の入力として使用できるようにワールド空間の法線に変換することができます。

    MtlX Normalmap VOPのin入力には、0から1までの範囲の(つまり、0.5を基準とした)接線空間の法線ベクトルが入った典型的な法線マップが必要です。 このノードのnormal入力とtangent入力は、0から1の範囲のベクトルでなければなりません。

    Note

    MaterialXノードを使用して 法線マップ を読み込む時は、カラー空間が入力データに適用されないように必ず SignatureVector3 に設定してください。

  • 現在のところ、MaterialXの仕様には、たくさんの既製のプロシージャルパターンが含まれていません。とはいえ、ローレベルの数学系ノードは非常に充実しています。それらのノードを使用してプロシージャルパターンを作成する方法の例は、以下のHow Toセクションを参照してください。

Primvarsとジオメトリアトリビュート

MaterialXシェーダは、USD Primsから任意のPrimvarを読み込むことができます。 その際には、そのノードの Signature をそのPrimvarのデータタイプに設定してください。 そのノードは自動的にそのPrimvarの補間を検知します。

  • MtlX Geometry Property Value VOPは任意のPrimvarを読み込むことができます(ここにはprimvars:接頭辞を含める必要はありません)。

    • このノードは、USD Primvar Readerノードと非常に似ているものの、現在のところMaterialXは文字列入力に対応していないので、そのPrimvar名をマテリアルのパブリックインターフェースに接続することができません。KarmaではUSD PreviewノードとMaterialXノードを混在させることができるので、MaterialXが文字列入力に対応するまでは、それが現在の解決策です。

    • Karma CPU限定になりますが、MtlX Geometry Property Value VOPを使用してグローバルのVEX変数を取り込むこともできます。

  • MtlX Geometry Colorは、primvars:displayColor Primvarを読み込みます。

  • MtlX Normalは、normals(vector3)を読み込みます。

  • MtlX Texcoordは、primvars:stまたはprimvars:uv(vector2またはvector3)を読み込みます。

色と色補正

MtlX Color Correctは、テクスチャマップや他の色信号を調整できるように1つにまとまったツールになっています。 色を調整するための他の関連ノードは以下のとおりです:

  • MtlX Contrastは、色の対比を増減させます。

  • MtlX HSV Adjustは、Hue(色相)、Saturation(彩度)、Value(明度)を使用してRGBカラーを調整することができます。このノードは、内部ではHSVとRGBの双方向変換の処理をしています。

  • MtlX Rangeは、色範囲をリマップしたり、ガンマを適用します。

  • MtlX Saturateは、色の彩度を増減させます。

さらに、MtlX RGB to HSVMtlX HSV to RGBを使用して、RGBとHSVの色表現を変換することができます。

How To

To...Do this

簡単にKarmaでマテリアルを作成してそれを割り当てる

  1. Material Library LOPを作成します。

  2. そのノードの中に入って、 Karma MaterialX Subnet を作成します。

  3. そのサブネットの名前を“quickstart_material”に変更して、そのサブネットの中に入ります。

Note

Karma MaterialX Subnet の中に入ると、⇥ TabメニューはKarma、Preview Surface、MaterialXと互換のあるシェーダのみが表示されるようにフィルタリングされます。

  1. そのサブネットの中で、MtlX Standard Surface VOPを作成し、既に接続されているMtlX Surface VOPを削除して、代わりにそのMtlx Standard Surface VOPを surface_output に接続します。

  2. 親のLOPネットワークに戻ります。

  3. Assign Material LOPを追加して、その入力を先程作成したMaterial Library LOPの出力に接続します。

  4. そのAssign Material LOPで、 Primitives パラメータにいくつかのPrimを設定し、 Material Path パラメータに/materials/quickstart_materialのパスを設定して、作成したマテリアルを割り当てます。

外部.mtlxファイルからマテリアルを参照する

Tip

MaterialX定義ファイルから特定のマテリアルをリファレンスすることで、シーンがすっきりして、シーン内の操作がしやすくなります。 一般的には、.mtlxシェーダはサブレイヤー化するよりもリファレンスする方がはるかに良いです。

  1. Reference LOPを作成します。

  2. ディスク上のMaterialX .mtlxファイルのファイルパスを Reference File に設定します。

  3. Reference Primitive ポップアップメニューから Reference Specific Primitive を選択して、読み込みたい特定のマテリアルを指定します。

  4. Assign Material VOPを追加してパラメータをセットアップして、参照するマテリアルをUSD Primに割り当てます。

Houdiniは、$HFS/houdini/materialx/resources/Materials/Examples/StandardSurface/内にサンプルのマテリアルをいくつか用意しています。

基本的なStandard Surfaceマテリアルを作成する

MtlX Standard Surface VOPは、Principled Shaderと同様の物理ベースの万能シェーダです。 独自のシェーダを定義しなくても、たいていはこのVOPで賄うことができます。

  1. Material Library LOPを作成します。

  2. そのMaterial Library LOPをダブルクリックして、そのVOPネットワークの中に入ります。

  3. その中に USD MaterialX Subnet を作成し、その中に入ります。

Note

現時点では、純粋なUSD MaterialXグラフに対応しているレンダラーはKarma以外には存在しません。 通常では、 Karma MaterialX Subnet の方が良いでしょう。

  1. その中にMtlX Standard Surface VOPを作成します。

  2. そのVOPのパラメータをセットアップします。そのMtlX Standard Surface VOPのテクスチャ入力にはテキスチャを接続することもできます(以下参照)。

  3. そのMtlX Standard Surface VOPには、意味が分かる名前を付けます(例えば、red_car_paint)。

  4. 親のLOPネットワークに戻ります。

  5. そのMaterial Library LOPのパラメータを使用して、そのマテリアルを取り込んで、それをUSDジオメトリに割り当てます。

Standard Surfaceマテリアルでテクスチャを使用する

  1. Standard Surfaceマテリアルの作成方法は上記を参照してください。そのMaterial Library LOPの中に入って、MaterialX Subnetの中に入ります。

  2. MtlX Texcoord VOPを作成します。 SignatureVector2 に変更します。

  3. MtlX Image VOPを作成します。

    • SignatureColor に変更します。

    • テクスチャ画像ファイルのファイルパスを Filename に設定します。

    • そのMtlX Texcoord VOPの出力をそのMtlX Image VOPのtexcoord入力に接続します。

    • そのMtlX Image VOPの出力をStandard Surface VOPのテクスチャ入力(例えば、base_color)に接続します。

BSDFを使用してゼロからサーフェスシェーダを作成する

  1. Material Library LOPを作成します。そのMaterial Library LOPをダブルクリックして、そのVOPネットワークの中に入ります。

  2. MtlX Surface Material VOPを作成します。

    (他にもCollect VOPをマテリアル出力として使用可能です。これは、レンダラー別に複数のシェーダを接続したい場合や手動でUSD Previewシェーダを作成したい場合に必要です。)

  3. MtlX Surface VOPを作成します。その出力をそのMtlX Surface Material VOPのsurfaceshader入力に接続します。

  4. MaterialX BSDF系VOP(例えば、MtlX Conductor BSDF VOP)を作成します。その出力をそのMtlX Surface VOPのbsdf入力に接続します。

  5. そのBSDF系VOPのパラメータをセットアップします。

  6. そのMtlX Surface VOPには、意味が分かる名前を付けます(例えば、red_metallic)。

プロシージャルパターンを作成する

MaterialXには、数値を制御するための非常にローレベルなVOPが用意されています。 あなたに十分な忍耐力があれば、それらのVOPを使用して、縞々やチェック柄といったプロシージャルパターンを構築することができます。

以下の例では、数学系VOPを使用してプロシージャルな縞々テクスチャを作成する方法について説明しています。

  1. Material Library LOPを作成します。そのMaterial Library LOPをダブルクリックして、そのVOPネットワークの中に入ります。

  2. MtlX Standard Surface VOPを作成します。

  3. MtlX Texcoord VOPを作成します。 SignatureVector2 に変更します。

  4. そのMtlX Texcoord VOPの出力をMtlX Separate2 VOPに接続します。

    これは、テクスチャ座標のvector2出力を別個の接続に分けます。

  5. MtlX Multiply VOPを作成します。そのSeparate2 VOPのoutxをこのVOPのin1に接続します。

    このVOPの in2 パラメータは、縞々の周波数を制御します。今のところは、そのパラメータ5に設定します。

  6. MtlX Sin VOPMtlX Ceil VOPを作成します。そのMtlX Multiply VOPの出力をそのMtlX Sin VOPの入力に接続し、そのMtlX Sin VOPの出力をそのMtlX Ceil VOPの入力に接続します。

  7. MtlX Mix VOPを作成します。

    • SignatureColor に変更します。

    • fgbg のカラーには、縞々の交互のカラーを設定します。

    • そのMtlX Ceil VOPの出力をそのMtlX Mix VOPのmix入力に接続します。

    • そのMtlX Mix VOPの出力をそのStandard Surface VOPのbase_color入力に接続します。

ビューアまたはScene Graph Treeペインからマテリアルインターフェースを編集する

  1. ビューアまたはScene Graph TreeペインでMaterial Primを選択します。

  2. ビューアまたはScene Graph TreeペインでそのPrim上でクリックして、 Edit Primitive ▸ New node to edit primitive… を選択します。

  3. これによって、選択されているPrimタイプに呼応してEdit Materialノードが作成されます。

ビューアまたはScene Graph TreeペインからShader Primを編集する

  1. ビューアまたはScene Graph TreeペインでShader Primを選択します。

  2. ビューアまたはScene Graph TreeペインでそのPrim上でクリックして、 Edit Primitive ▸ New node to edit primitive… を選択します。

  3. これによって、選択されているPrimタイプに呼応してEdit PropertiesノードまたはEdit Materialノードが作成されます。

MaterialX VOPノードのリスト

  • MtlX Absorption Vdf

    純粋な光吸収のVDFを構築します。

  • MtlX Absval

    チャンネル毎の入力のfloat/color/vectorの絶対値。

  • MtlX Acos

    入力値のアークコサイン。

  • MtlX Add

    入力のfloat/color/vector/matrixに値を加算してin1+in2を出力します。

  • MtlX Ambientocclusion

    現在のサーフェスポイントにおけるアンビエントオクルージョンを計算して、0から1の範囲のスカラー値を返します。

  • MtlX Anisotropic Vdf

    関与媒体のVDF散乱光を構築します。

  • MtlX Arrayappend

    2個の基本型の値から2要素配列の[in1, in2]を作成したり、同じ型のin1配列の最後にin2値を追加します。

  • MtlX Artistic Ior

    アーティストが馴染みやすいようにパラメータ化されたreflectivityとedge_colorを複雑なIOR値に変換します。

  • MtlX Asin

    入力値のアークサイン。

  • MtlX Atan2

    入力値のアークタンジェント。

  • MtlX Bitangent

    現行処理データに関連付けられているジオメトリ従法線ベクトルを、指定した座標空間で定義します。

  • MtlX Blackbody

    指定した温度の黒体放射体の放射放出率を返します。

  • MtlX Blur

    2D画像処理向けの畳み込みブラー。

  • MtlX Burley Diffuse Bsdf

    Burley拡散反射用BSDFノード。

  • MtlX Burn

    bg入力を使ってfg入力を暗くします。

  • MtlX Ceil

    チャンネル毎に入力のfloat/color/vector以上の一番近い整数値を返します。

  • MtlX Cellnoise2D

    セル状2Dノイズ。

  • MtlX Cellnoise3D

    セル状3Dノイズ。

  • MtlX Clamp

    入力値を、指定した値の範囲に制限します。

  • MtlX Combine2

    2本のストリームのチャンネルを特定の互換性のあるタイプの1本の出力ストリーム内に同じ数のチャンネルを結合します。

  • MtlX Combine3

    3本のストリームのチャンネルを特定の互換性のあるタイプの1本の出力ストリーム内に同じ数のチャンネルを結合します。

  • MtlX Combine4

    4本のストリームのチャンネルを特定の互換性のあるタイプの1本の出力ストリーム内に同じ数のチャンネルを結合します。

  • MtlX Conductor Bsdf

    マイクロファセットモデルと導体/金属フレネルカーブに基づいた反射BSDFノード。

  • MtlX Conical Edf

    法線方向を基準とした円錐内にEDF放射光を構築します。

  • MtlX Constant

    定数値。

  • MtlX Contrast

    線形勾配乗数を使って、入力のfloat/color値のコントラストを強弱させます。

  • MtlX Convert

    あるデータタイプのストリームを別のデータタイプに変換します。

  • MtlX Cos

    入力値のコサイン。

  • MtlX Crossproduct

    2本の入力のvector3ストリームから(vector3タイプの)外積を出力します。

  • MtlX Curveadjust

    入力値を滑らかにリマップします。

  • MtlX Determinant

    入力のmatrixNNストリームのfloat行列式を出力します。

  • MtlX Dielectric Bsdf

    マイクロファセットモデルと絶縁体フレネルカーブに基づいた反射/透過BSDFノード。

  • MtlX Difference

    2つの入力の差を取得します。

  • MtlX Directional Light

    ディレクショナルライトを表現したシェーダ。

  • MtlX Disjointover

    fgとbgのアルファの合計が1以下、1より大きいかに応じて、2本のcolor4入力を結合します。

  • MtlX Disney BSDF 2012

    Disney BSDF 2012。

  • MtlX Disney BSDF 2015

    Disney BSDF 2015。

  • MtlX Displacement

    ディスプレイスメントシェーダ用の構築ノード。

  • MtlX Divide

    入力のfloat/color/vector/matrixを値で除算します。

  • MtlX Dodge

    bg入力を使ってfg入力を明るくします。

  • MtlX Dot

    入力をそのまま出力に通過させます。

  • MtlX Dotproduct

    2本の入力のvectorNストリームから(floatタイプの)内積を出力します。

  • MtlX Exp

    入力値のe乗を返します。

  • MtlX Extract

    colorNまたはvectorNのストリームのチャンネルからfloatストリームを生成します。

  • MtlX Fake Caustics

    サーフェスのシャドウに擬似コースティクスを適用します。

  • MtlX Floor

    チャンネル毎に入力のfloat/color/vector以下の一番近い整数値を返します。

  • MtlX Fractal3D

    ゼロ中心の3Dフラクタルノイズ。

  • MtlX Frame

    ホスト環境で定義されている現行フレーム番号。

  • MtlX Generalized Schlick Bsdf

    マイクロファセットモデルと汎用Schlickフレネルカーブに基づいた反射/透過BSDFノード。

  • MtlX Geometry Color

    現行位置での現行ジオメトリに関連付けられているカラー。

  • MtlX Geometry Property Value

    現行ジオメトリの指定したジオメトリプロパティの値。

  • MtlX Glossiness Anisotropy

    光沢/異方性のスカラーパラメータ値から異方性のある表面粗さを計算します。

  • MtlX HSV to RGB

    入力カラーをHSV空間(HとSの範囲が0から1)からRGB空間に変換します。

  • MtlX Heighttonormal

    スカラータイプのHeightマップをvector3タイプの法線マップに変換します。

  • MtlX Hsvadjust

    カラーの色相、彩度、明度を調整します。

  • MtlX If Equal

    value1==value2ならin1、value1!=value2ならin2の値を出力します。

  • MtlX If Greater

    value1>value2ならin1、value1<=value2ならin2の値を出力します。

  • MtlX If Greater or Equal

    value1>=value2ならin1、value1

  • MtlX Image

    一枚の画像、または、マルチレイヤー画像内のレイヤーからデータをサンプリングします。

  • MtlX In

    bgアルファ内にあるfg値のみが保持されるように2本のcolor4入力をマージします。

  • MtlX Inside

    in値をmask浮動小数点で乗算してそのin入力をマスクします。

  • MtlX Invert

  • MtlX Invertmatrix

    入力のmatrixの逆マトリックスを出力します。

  • MtlX Layer

    dielectric_bsdf、generalized_schlick_bsdf、sheen_bsdf、thin_film_bsdfなどのレイヤー化可能なBSDFを、BSDFまたはVDF上に垂直に重ねます。

  • MtlX Light

    lightshaderタイプのコンストラクタノード。

  • MtlX Ln

    入力値の自然対数。

  • MtlX Luminance

    カラーからグレースケースの輝度を出力します。

  • MtlX Magnitude

    入力のvectorNストリームからfloatタイプの大きさ(ベクトル長)を出力します。

  • MtlX Mask

  • MtlX Matte

  • MtlX Max

    2つの入力値から最大値を選択します。

  • MtlX Measured Edf

    測定されたIESライトプロファイルに準拠して、EDF発光を構築します。

  • MtlX Min

    2つの入力値から最小値を選択します。

  • MtlX Minus

    fg入力からbg入力を減算します。

  • MtlX Mix

    2本の1-4チャンネルのfgとbgの入力とさらにオプションの1チャンネルのmix入力を受け取り、そのmix値に応じてfgとbgを混ぜます。

  • MtlX Modulo

    入力のfloat/color/vectorを値で除算して整数部を減算した後の残りの小数点値。

  • MtlX Multiply

    in1入力のfloat/color/vectorをin2値/ストリームで乗算、または、2個のmatrixを乗算します。

  • MtlX Noise2D

    2Dパーリンノイズ。

  • MtlX Noise3D

    3Dパーリンノイズ。

  • MtlX Normal

    現行処理データに関連付けられているジオメトリ法線ベクトルを、指定した座標空間で定義します。

  • MtlX Normalize

    入力のvectorNストリームから正規化したvectorNを出力します。

  • MtlX Normalmap

    法線ベクトルをオブジェクト/接線空間からワールド空間に変換します。

  • MtlX Oren Nayar Diffuse Bsdf

    拡散反射用BSDFノード。

  • MtlX Out

  • MtlX Outside

    mask浮動小数点の反転値でin入力をマスクして、そのmaskの外側にある入力を保持します。

  • MtlX Over

  • MtlX Overlay

  • MtlX Place2D

    2Dテクスチャ配置用の入力UVテクスチャ座標をトランスフォームします。

  • MtlX Plus

    fgにbg入力を加算します。

  • MtlX Point Light

    ポイントライトを表現したシェーダ。

  • MtlX Position

    現行処理データに関連付けられている座標を、指定した座標空間で定義します。

  • MtlX Power

    入力のfloat/color/vector値(in1)のin2の累乗を返します。

  • MtlX Premult

    入力のRまたはRGBチャンネルを入力のアルファチャンネルで乗算します。

  • MtlX RGB to HSV

    入力カラーをRGB空間からHSV空間(HとSの範囲は0から1)に変換します。

  • MtlX Ramp4

    四角バイリニア値のランプ。

  • MtlX Ramplr

  • MtlX Ramptb

    上から下への線形値のランプ。

  • MtlX Range

    入力値をfloat/color/vectorの値の範囲から別の範囲にリマップします。

  • MtlX Remap

    入力値をfloat/color/vector値のある範囲から別の範囲に線形的にリマップします。

  • MtlX Rotate2D

    原点を中心にvector2値を2Dで回転させます。

  • MtlX Rotate3D

    指定した単位軸ベクトルを基準にvector3値を回転させます。

  • MtlX Roughness Anisotropy

    粗さ/異方性のスカラーパラメータ値から異方性のある表面粗さを計算します。

  • MtlX Roughness Dual

    二重表面粗さのパラメータ値から異方性のある表面粗さを計算します。

  • MtlX Saturate

    カラーの彩度を調整します。

  • MtlX Screen

    fg入力とbg入力を反転させて、それらを乗算した結果を反転させます。

  • MtlX Separate Color 3

    color3の各チャンネルを別々のfloat出力として出力します。

  • MtlX Separate Color 4

    color4の各チャンネルを別々のfloat出力として出力します。

  • MtlX Separate Vector 3

    vector3の各チャンネルを別々のfloat出力として出力します。

  • MtlX Separate Vector 4

    vector4の各チャンネルを別々のfloat出力として出力します。

  • MtlX Separate2

    vector2の各チャンネルを別々のfloat出力として出力します。

  • MtlX Sheen Bsdf

    布のような材質の後方散乱特性用マイクロファセットBSDF。

  • MtlX Sign

    入力チャンネル毎の符号: -1, 0, +1。

  • MtlX Sin

    入力値のサイン。

  • MtlX Smoothstep

    lowからhighまでの入力値を0から1の範囲に(エルミート補間で)滑らかにリマップします。

  • MtlX Splitlr

    左右分割のマット。指定したU値で分割します。

  • MtlX Splittb

    上下分割のマット。指定したV値で分割します。

  • MtlX Spot Light

    スポットライトを表現したシェーダ。

  • MtlX Sqrt

    入力値の平方根。

  • MtlX Standard Surface

    物理ベースのシェーダ。

  • MtlX Standard SurfaceからUSD Preview Surface

    MtlX Standard SurfaceをUSD Preview Surfaceに変換するシェーダ。

  • MtlX Subsurface BSDF

    本当のサブサーフェススキャタリング用BSDF。

  • MtlX Subtract

    入力のfloat/color/vector/matrixから値を減算し、in1-in2を出力します。

  • MtlX Surface

    surfaceshaderタイプのコンストラクタノード。

  • MtlX Surface Material

    閉じた'厚みのある'オブジェクトの散乱と発光を表現したサーフェスシェーダを構築します。

  • MtlX Surface Unlit

    照明を受けない発光サーフェスシェーダ。

  • MtlX Switch

    セレクタパラメータの値に応じて、5本の入力ストリームの内どれかの値を渡します。

  • MtlX Swizzle

    入力ストリームのチャンネルを任意に並べ替えて、指定したタイプの新しいストリームを返します。

  • MtlX Tan

    入力値のタンジェント。

  • MtlX Tangent

    現行処理データに関連付けられているジオメトリ接線ベクトルを、指定した座標空間で定義します。

  • MtlX Texcoord

  • MtlX Thin Film Bsdf

    マイクロファセットベースのBSDFの上に虹色の薄い膜の層を追加します。

  • MtlX Thin Surface

    両面オブジェクト用コンストラクタノード。

  • MtlX Tiled Image

    一枚の画像からデータをサンプリングし、UV空間でその画像をタイル化したりオフセットできる準備をします。

  • MtlX Time

    ホスト環境で定義されている現行時間(秒)。

  • MtlX Transformmatrix

    指定したmatrixで入力のvectorN座標をトランスフォームします。

  • MtlX Transformnormal

    入力のvector3法線を、指定した空間から別の空間に変換します。

  • MtlX Transformpoint

    入力のvector3座標を、指定した空間から別の空間に変換します。

  • MtlX Transformvector

    入力のvector3ベクトルを、指定した空間から別の空間に変換します。

  • MtlX Translucent Bsdf

    純粋なディフューズ透過用BSDFノード。

  • MtlX Transpose

    入力のmatrixの転置行列を出力します。

  • MtlX Triplanar Projection

  • MtlX Uniform Edf

    均一発光用EDFノード。

  • MtlX Unpremult

    入力のRGBチャンネルを入力のアルファチャンネルで除算します。

  • MtlX Volume

    volumeshaderタイプのコンストラクタノード。

  • MtlX Volume Material

    ボリュームマテリアル。

  • MtlX Worleynoise2D

    2D Worleyノイズ。

  • MtlX Worleynoise3D

    3D Worleyノイズ。

  • MtlX glTF Pbr

    glTF-2.0のPBRシェーダ。

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

チュートリアル