Houdini 19.0 Solaris

KarmaでのMaterialXの使い方

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

On this page

概要

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

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

MaterialXマテリアルは、ディスク上の.mtlxファイル(これは、エレメントを使ってネットワークを記述したXMLフォーマットです)で定義したり、USDステージ内のUsdShade Primとしてエンコードすることができます。 Houdiniでは、VOPでMaterialXマテリアルを構築し、それを自動的にUsdShade Primに変換することができます。

Tip

MaterialX定義ファイルから特定のマテリアルを参照するようにすれば、シーンがもっとスッキリして、シーンをもっと扱いやすくできます。

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)を読み込みます。

How To

To...Do this

外部.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. その中にMtlX Standard Surface VOPを作成します。

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

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

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

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

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

  1. Standard Surfaceマテリアルの作成方法は上記を参照してください。

  2. Material Library LOPの中に入って、Standard Surface VOPを作成します。

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

  4. 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入力に接続します。

MaterialX VOPノードのリスト

  • MtlX AOV

    シェーディングシグナルをAOVsに出力します。

  • 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

    畳み込みブラー。

  • MtlX Burley Diffuse Bsdf

    Burley拡散反射用BSDFノード。

  • MtlX Burn

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

  • MtlX Ceil

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

  • MtlX Cellnoise2D

    セル状2Dノイズ。

  • MtlX Cellnoise3D

    セル状3Dノイズ。

  • MtlX Clamp

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

  • MtlX Color Cubic Ramp

    入力値に基づいてCatmull-Romスプライン補間されたカラーランプを適用します。

  • MtlX Color Ramp

    入力値に基づいて線形補間されたカラーランプを適用します。

  • 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 Float Cubic Ramp

    入力値に基づいてCatmull-Romスプライン補間された浮動小数点ランプを適用します。

  • MtlX Float Ramp

    入力値に基づいて線形補間された浮動小数点ランプを適用します。

  • 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 Hcatmullrom

    4個のコントロールポイントで定義されたCatmull-Romスプラインを使用して値を補間します。

  • MtlX Heighttonormal

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

  • MtlX Hinvlinear

    0から1までの範囲の入力値を、最大10個までの不均一に分布したキーにリマップします。

  • MtlX Hsvadjust

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

  • MtlX Huniformcubic

    最大10個までの均一に分布したキー値(浮動小数点またはカラー)間でCatmull-Romスプラインを使って補間を行なう均一ランプ。

  • MtlX Huniformramp

    最大10個までの均一に分布したキー値(浮動小数点またはカラー)間で線形補間を行なう均一ランプ。

  • 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値の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 Subsurface BSDF

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

  • MtlX Subtract

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

  • MtlX Surface

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

  • MtlX Surface Material

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

  • 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 USD Preview Surface

    MaterialX版USD Preview Surfaceシェーダ。

  • MtlX USD Primvar Reader

    MaterialX版USD Primvar Reader。

  • MtlX USD Transform 2D

    MaterialX版USD Transform 2Dシェーダ。

  • MtlX USD UV Texture

    MaterialX版USD UV Textureシェーダ。

  • MtlX Uniform Edf

    均一発光用EDFノード。

  • MtlX Unpremult

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

  • MtlX Volume

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

  • MtlX Volume Material

    ボリュームマテリアル。

  • MtlX Worleynoise2D

    2D Worleyノイズ。

  • MtlX Worleynoise3D

    3D Worleyノイズ。

Solaris

USD

ジオメトリ

  • SOPをUSDに取り込む方法

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

  • Component Builder

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

レイアウト

  • Editノード

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

  • Layoutノード

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

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

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

シェーディング

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

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

  • KarmaでのMaterialXの使い方

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

  • /solaris/materialx_nodes

Karmaレンダリング

チュートリアル