MaterialX Lama

https://rmanwiki-27.pixar.com/space/REN27/542218994/MaterialX+Lama
Lama Material
- LamaSurface
- LamaLayer (層の積み重ね)
- LamaMix (ブレンド・混合)
- LamaAdd (加算)
- LamaDiffuse (拡散反射用)
- LamaConductor (金属用)
- LamaDielectric (絶縁体(プラスチック、ガラス、水)用)
- LamaGeneralizedSchlick (汎用型、金属と絶縁体の間・以外の質感用)
- LamaSSS (下層散乱(例:肌、ワックス、大理石))
LamaTricolorSSS (3色制御SSS(例:複雑な生体組織(人間の皮膚)の深みを表現))XPU非対応- LamaIridescence (薄膜干渉(例:シャボン玉、オイルの膜))
- LamaSheen (光沢(微細繊維)(例:ベルベット、サテン))
- LamaEmission (発光)
- LamaTranslucent (薄膜透過(例:葉っぱ、紙、薄い布))
- LamaHairChiang (毛髪専用)
- LamaLPE (合成用)
1. システム・構築用ノード(構造を作る)
これらのノードは、個別の質感をまとめ上げ、最終的なデータとしてレンダラーに渡す役割をします。
2. 基本BSDFノード(物質の基礎)
光が表面でどのように反射・屈折するかを定義する、質感の「素」となるノードです。
3. 特殊・散乱ノード(複雑な質感)
光が物質の内部に入り込んだり、微細な構造に反応したりする様子を再現します。
4. ユーティリティ(ポスト処理)
LamaLayer・LamaAdd・LamaMix の使い分け(Sample)
「光のエネルギーをどのように分配・合成するか」の計算方法が決定的に異なります。
1. LamaLayer(縦の積層)
LamaLayer は、物理的な「層(レイヤー)」をシミュレートします。
物理的な挙動
上層(materialTop)に入射した光は、一部が反射し、残りが透過して下層(materialBase)に到達します。このとき、上層のマテリアルの屈折率(IOR)や厚み(Thickness)に基づいて、下層に届く光のエネルギーが自動的に減衰(保存)されます。
正しい使い方・ユースケース
物理的に「何かの 上に 何かが乗っている」状態を表現するときに使用します。
-
カーペイント・クリアコート: 下層にメタリック(
LamaConductor)、上層に透明なクリアコート(LamaDielectric)を重ねる。 -
埃の被った机: 下層に木材(
LamaDiffuse)、上層に微細な粒子(LamaSheenや微量のLamaDiffuse)を重ねる。 -
濡れた路面: 下層にアスファルト、上層に薄い水の層(
LamaDielectric)を重ねる。
💡 重要プロパティ:
thickness(厚み)やabsorptionColor(吸収色)を設定することで、上層を通過する光がどのように着色・減衰して下層に届くかを厳密にコントロールできます。
2. LamaMix(横の並列・空間的ブレンド)マスクを使って隣り合う
LamaMix は、2つのマテリアルを「空間的に混ぜ合わせる(またはマスクで塗り分ける)」ために使用します。
物理的な挙動
2つのマテリアル(material1 と material2)を、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つのレイヤーとして統合する。
まとめ:使い分けのフローチャート
迷ったときは、作成したい質感に対して以下の質問を投げかけてみてください。
-
ベースに「発光」を足したい、あるいは特殊な反射を自前で足し算したいか?
-
➔ YES:
LamaAddを使用(ウェイトの合計が1.0を超えないよう注意、またはEmissionを足す)。
-
-
片方の素材が、もう片方の素材の「上に乗って」覆っているか?(光が透過して下に届くか)
-
➔ YES:
LamaLayerを使用(Topに透明・半透明な素材、Baseに下の素材)。
-
-
テクスチャマスク等を使って、表面の「場所によって」素材を切り替えたいか?
-
➔ YES:
LamaMixを使用。
-
Lamaシステムのポテンシャルを最大限活かすには、基本的に 「プラスチックや金属のコート層には LamaLayer」 を使い、「汚れや素材の切り替えには LamaMix」 を使う、という設計思想をベースにするのが最もプロダクションで破綻しにくいアプローチです。
💡 Lamaを使いこなすためのヒント
Lamaで実写クオリティを作る際の基本フローは以下の通りです。
-
Baseを決める:
LamaConductor(金属)かLamaDielectric(非金属)を選ぶ。 -
層を重ねる:
LamaLayerを使い、その上に「クリアコート」としてのLamaDielectricや、「埃」としてのLamaDiffuseを物理的に積み上げる。 -
繋ぐ: 最後に
LamaSurfaceを通して出力する。



