MENU

3D Daring Dignified Art

3D Daring Dignified Art

MaterialX Lama

https://rmanwiki-27.pixar.com/space/REN27/542218994/MaterialX+Lama

RM Patterns

Lama Material

1. システム・構築用ノード(構造を作る)

これらのノードは、個別の質感をまとめ上げ、最終的なデータとしてレンダラーに渡す役割をします。

ノード名 役割
LamaSurface 最終出力ノード。すべてのLamaノードの終着点であり、これをPxrMaterialなどのマテリアルターミナルに接続します。
LamaLayer スタッキング(積み重ね)。Lamaの核となるノード。上の層が反射した残りの光を下の層に透過させる「エネルギー保存」を自動で行いながら層を重ねます。
LamaMix ブレンド(混合)。2つの質感を特定の比率(マスクなど)で混ぜ合わせる際に使用します。物理的な層構造ではなく「塗り分け」に適しています。
LamaAdd 加算。主に放射(Emission)などを既存の質感に「足す」場合に使用します。

2. 基本BSDFノード(物質の基礎)

光が表面でどのように反射・屈折するかを定義する、質感の「素」となるノードです。

ノード名 役割
LamaDiffuse 拡散反射。光沢のない、マットな質感を表現します(例:粘土、乾いた壁)。
LamaConductor 金属(導体)。金、銀、銅などの金属特有の反射をシミュレーションします。複素屈折率を用いた厳密な計算が可能です。
LamaDielectric 絶縁体(誘電体)。ガラス、プラスチック、水など、光を透過または表面反射する透明・半透明な質感を表現します。
LamaGeneralizedSchlick 汎用反射。Schlick近似を用いた柔軟な反射モデル。DielectricとConductorの中間的な質感や、アーティスティックな調整がしやすい反射を作ります。

※LamaDielectric や LamaConductor は、光の「波長」そのものの干渉までは計算しません(基本的には反射率や屈折率のみ)。

3. 特殊・散乱ノード(複雑な質感)

光が物質の内部に入り込んだり、微細な構造に反応したりする様子を再現します。

ノード名 役割
LamaSSS 下層散乱。光が内部で散乱して戻ってくる現象(例:肌、ワックス、大理石)を計算します。物理的に正確な計算モデルを採用しています。
LamaTricolorSSS 3色制御SSS。浅い層、中間層、深い層で異なる色を指定でき、より複雑な生体組織(人間の皮膚など)の深みを表現します。
LamaTranslucent 薄膜透過。光が裏側に突き抜ける現象(例:葉っぱ、紙、薄い布)を表現します。
LamaIridescence 薄膜干渉。シャボン玉やオイルの膜、昆虫の羽、熱せられた金属などに見られる、「見る角度や膜の厚みによって色が虹色に変化する現象」を再現します。
LamaSheen 光沢(微細繊維)。布の表面に見られる産毛のような微細な反射を再現します。ベルベットやサテンの表現に不可欠です。
LamaHairChiang 毛髪専用。Chiang氏のモデルに基づいた髪の毛専用シェーダー。髪の内部反射やキューティクルの光沢を物理的に再現します。
LamaEmission 発光。物体自体が光を放つ設定。LamaAddで重ねるのが一般的です。

4. ユーティリティ(ポスト処理)

ノード名 役割
LamaLPE Light Path Expression。コンポジット(合成)用に、特定の光の経路(反射だけ、屈折だけ、SSSだけ等)を個別の画像として出力するためのタグ付けを行います。

LamaLayer・LamaAdd・LamaMix の使い分け(Sample

「光のエネルギーをどのように分配・合成するか」の計算方法が決定的に異なります。

ノード名 合成の方向 物理的な意味 主なユースケース
LamaLayer (積層) 上層を通過(透過)した光が下層に届く(エネルギー保存を自動計算) クリアコート、埃、薄い液体、ガラス越しの素材
LamaMix (並列・空間) 空間的にマテリアルを切り替える(AかBか、またはその中間) 錆びた鉄、マテリアルの境界、異なる素材のパターン
LamaAdd 同一平面(加算) 独立した複数の光学的応答を単純に足し合わせる 蓄光・発光の追加、特殊な複層反射のカスタマイズ

1. LamaLayer(縦の積層)

LamaLayer は、物理的な「層(レイヤー)」をシミュレートします。

物理的な挙動

上層(materialTop)に入射した光は、一部が反射し、残りが透過して下層(materialBase)に到達します。このとき、上層のマテリアルの屈折率(IOR)や厚み(Thickness)に基づいて、下層に届く光のエネルギーが自動的に減衰(保存)されます。

正しい使い方・ユースケース

物理的に「何かの 上に 何かが乗っている」状態を表現するときに使用します。

  • カーペイント・クリアコート: 下層にメタリック(LamaConductor)、上層に透明なクリアコート(LamaDielectric)を重ねる。

  • 埃の被った机: 下層に木材(LamaDiffuse)、上層に微細な粒子(LamaSheen や微量の LamaDiffuse)を重ねる。

  • 濡れた路面: 下層にアスファルト、上層に薄い水の層(LamaDielectric)を重ねる。

💡 重要プロパティ: thickness(厚み)や absorptionColor(吸収色)を設定することで、上層を通過する光がどのように着色・減衰して下層に届くかを厳密にコントロールできます。

2. LamaMix(横の並列・空間的ブレンド)マスクを使って隣り合う

LamaMix は、2つのマテリアルを「空間的に混ぜ合わせる(またはマスクで塗り分ける)」ために使用します。

物理的な挙動

2つのマテリアル(material1material2)を、mix(0.0〜1.0)の値で線形補間(LERP)します。これは「微視的な領域で、AがX%、BがY%の割合で並んでいる」状態を意味し、エネルギーの合計は常に100%以内に保たれます。光が「層を透過する」という概念はありません。

正しい使い方・ユースケース

物理的に「マテリアルが 部分的に切り替わっている」状態を表現するときに使用します。

  • テクスチャマスクによる塗り分け: 鉄の表面(LamaConductor)に、ノイズマスクを使って錆(LamaDiffuse)を斑点状に混ぜ合わせる。

  • パッチワーク・パターンの布: 異なる質感の織り目をテクスチャマップで切り替える。

  • 境界のボケ(グラデーション): 2つの異なる素材が滑らかに切り替わるグラデーション境界。

3. LamaAdd(同一平面での加算)(この世に存在しない質感の表現)

LamaAdd は、2つのマテリアルの計算結果を単純に足し算します。

物理的な挙動(weight1+weight2= 1.0 でなければいけない)

エネルギー保存則の計算(片方が光を遮ったから、もう片方への光が減るという処理)を行いません。そのため、単純に weight1 = 1.0, weight2 = 1.0 で結合すると、反射率が1.0を超えてしまい、物理的に破綻(エネルギーが増幅して不自然に明るくなる)する危険性があります。

正しい使い方・ユースケース

通常、Lamaシステムにおいてベースマテリアル(DiffuseとSpecularなど)を組み合わせる際は LamaLayer を使うのが安全ですが、以下のような「エネルギー保存の相互作用を無視して独立して足したい特殊なケース」で LamaAdd を使用します。

  • 発光(Emission)の追加: 既存のベースマテリアルに対して、自ら光る成分(LamaEmissionを上乗せする。

  • 独自のBRDFの構築: 物理的な層構造ではなく、数学的に特定の反射成分(例: 異なる粗さを持つ2つのSpecularコンポーネント)をウェイト管理(例: 0.3 と 0.7)しながら1つのレイヤーとして統合する。

まとめ:使い分けのフローチャート

迷ったときは、作成したい質感に対して以下の質問を投げかけてみてください。

  1. ベースに「発光」を足したい、あるいは特殊な反射を自前で足し算したいか?

    • YES: LamaAdd を使用(ウェイトの合計が1.0を超えないよう注意、またはEmissionを足す)。

  2. 片方の素材が、もう片方の素材の「上に乗って」覆っているか?(光が透過して下に届くか)

    • YES: LamaLayer を使用(Topに透明・半透明な素材、Baseに下の素材)。

  3. テクスチャマスク等を使って、表面の「場所によって」素材を切り替えたいか?

    • YES: LamaMix を使用。

Lamaシステムのポテンシャルを最大限活かすには、基本的に 「プラスチックや金属のコート層には LamaLayer を使い、「汚れや素材の切り替えには LamaMix を使う、という設計思想をベースにするのが最もプロダクションで破綻しにくいアプローチです。

💡 Lamaを使いこなすためのヒント

Lamaで実写クオリティを作る際の基本フローは以下の通りです。

  1. Baseを決める: LamaConductor(金属)か LamaDielectric(非金属)を選ぶ。

  2. 層を重ねる: LamaLayer を使い、その上に「クリアコート」としての LamaDielectric や、「埃」としての LamaDiffuse を物理的に積み上げる。

  3. 繋ぐ: 最後に LamaSurface を通して出力する。