standard_surface

クラス

 

Shader

出力

RGB

概要

 

standard_surface シェーダは、多くのタイプのマテリアルを作成することができる物理ベースのシェーダです。 これには、拡散反射光レイヤ、金属用の複雑なフレネルを使用する鏡面反射光レイヤ、ガラス用の鏡面反射光透過、スキン用のサブサーフェス スキャッタリング、水および氷用の薄い散乱、二次鏡面反射光コート、発光が含まれます。


このシェーダは、次の図に示すように、階層ごとにレイヤ化され、混合された 10 個のコンポーネントで構成されるマテリアルをモデル化したものです。個々のコンポーネントのプロパティは、サーフェスによって異なる場合があります。

standard_surface がエミュレートする理想化されたマテリアル モデルの略図。コンポーネントの水平スタックは統計的な混合を表し、垂直のスタックはレイヤ化を表します。アスタリスクが付いたコンポーネントは省略可能です。

マテリアル タイプ

既定では、このパラメータはプラスチック、木材、石などのマテリアルに適しています。 いくつかの主要なパラメータを 1 に設定することで、さまざまなタイプのマテリアルをすばやく作成できます。

  • Metalness: 金、銀、鉄、車の塗装。
  • Transmission: ガラス、水、はちみつ、シャボン玉。
  • Subsurface: スキン、大理石、ワックス、紙、木の葉。
  • Thin Walled: 紙、木の葉、シャボン玉。

 

0 と 1 の間のパラメータ値を使用すると、基本のマテリアル タイプをミックスさせたより複雑なマテリアルを作成することができます。

Arnold に含まれている、standard_surface マテリアル プリセットの例

エネルギー保存

Standard Surface は既定ではエネルギー保存の法則に従います。サーフェスを離れるライトの量が入射ライトの量を超えないようにレイヤすべてのバランスが調整されます。 たとえば、サーフェスをよりメタリックにすると、鏡面反射光レイヤの影響が強まり、エネルギー保存の法則を満たすためにこれに応じて拡散反射光レイヤの影響が減ります。

荒い拡散反射光(左)と金属の鏡面反射光(右)の比較。

レイヤのウェイトまたはカラーの値が 1 より大きい場合、エネルギー保存は崩壊します。 このようなマテリアルの作成は推奨されません。異なるライティングで予想どおりに動作せず、ノイズが増加してレンダリング パフォーマンスが低下する可能性があるためです。

base

ベース カラーのウェイトです(既定は 0.8)。

base_color

base_color は、白色の光源で直接照らされたとき(強度 100%)のサーフェスの明るさを設定します。 サーフェスの下でライトが散乱するときに吸収されない、RGB スペクトルの各コンポーネントのパーセンテージを定義します。 金属のベース カラーは通常、黒または非常に濃い色になりますが、さびた金属には何らかのベース カラーが必要です。 通常、base_color マップが必要になります。

Diffuse file texture -> Base Color

diffuse_roughness

ベース コンポーネントはサーフェスの粗さを伴う Oren-Nayar 反射モデルに従います。 値 0.0 は Lambert 反射に相当します。 値が大きいほど、コンクリート、プラスター、砂などのマテリアルに適切な粗い見た目のサーフェスになります。

specular

specular_weight。鏡面反射光ハイライトの明るさに影響を与えます。

specular_color

鏡面反射の調節に使用されるカラー。 このカラーを使用して、鏡面反射光ハイライトに「色付け」します。 色付きの鏡面反射光は特定の金属にのみ使用する必要があります。一方、非金属のサーフェスには通常、モノクロの鏡面反射光カラーが付いています。 通常、非金属のサーフェスには色付きの鏡面反射光はありません。

specular_roughness
鏡面反射の光沢度をコントロールします。 値が低いほど、反射がはっきりします。 制限内では、値が 0 の場合は完全に鮮明なミラー反射になり、値が 1.0 の場合は拡散反射に近い反射を生成します。 鏡面反射光ハイライトのさまざまなバリエーションを取得するには、ここでマップを接続する必要があります。

サーフェスの「微細な」起伏が、光の拡散と反射に影響を与えます。この「マイクロ サーフェス」のディテールは、鏡面反射に対して最も顕著な効果を与えます。 次の図では、平行な各入射光が粗いサーフェスの特定の部分にぶつかると、それぞれ異なる角度で反射していることがわかります。簡単に言うと、サーフェスが粗くなるほど、反射光の発散は強くなるか、「ぼやけて」見えます。

粗さの一般的な基準として表される「マイクロサーフェス」のディテール(このサーフェスは、specular_roughness の値が高く設定されています)。

 

standard_surface シェーダのエネルギー保存の性質上、鏡面反射光ハイライトの明るさはそのサイズに自動的に関連付けられます。 下の例では、すべてのマテリアルが同じ量の光を反射していますが、サーフェスが粗いほど、光はさまざまな方向に拡散しています。 逆に、粗くないほど、サーフェスは光を集めて反射しています。

サーフェスのハイライトのさまざまなバリエーションを取得するには、Specular Roughness にマップを接続する必要があります。 これはハイライトの明るさだけでなく、環境反射のサイズおよび鮮明さにも影響を与えます。

ファイル テクスチャを range シェーダに接続して、specular_roughness の効果をコントロールすることができます。


Fingerprint texture -> specular_roughness

specular_roughness は鏡面反射と屈折の両方に影響します。 また、必要に応じて屈折に対して粗さを追加する transmission_extra_roughness パラメータもあります。 ただし、シャープな屈折の上に粗い反射レイヤを作成するには Coat を使用することもできます。



specular_IOR

IOR パラメータ(屈折率)はマテリアルのフレネル反射率を定義し、それは角度の関数として定義されます。実質的に、IOR は正面に向いたサーフェスの反射とサーフェス エッジの反射とのバランスを定義します。反射強度は変更されませんが、正面側の反射強度は大きく変化することがわかります。


非常に高い IOR 値を使用することは、metalness とよく似ているように見えます。 base_colorspecular_color に、specular_color を黒に設定した場合と同じ外観になります。 違いは specular_color でエッジの色付けをコントロールすることにより、エッジで追加の反射が得られることです。 金属フレネルは、外観に関するパラメータを使用して、新しい複雑な IOR シェーダで同様に動作します。

通常、プラスチック、ガラス、またはスキン(誘電体フレネル)などのマテリアルには IOR を使用し、メタル(complex_IOR を使用する伝導性フレネル)には metalness を使用する必要があります。 その他の理由として、metalness は 0 から 1 の範囲であるためテクスチャがより簡単になります。また、Substance Painter のようなアプリケーションからテクスチャを使用する場合、IOR ではなく metalness を使用するときに最適に動作します。
透過の鏡面反射光 IOR

既定値の 1.0 は、真空の屈折率です。つまり、IOR が 1.0 のオブジェクトが空白の空間にある場合はレイが屈折しません。簡単に言えば、1.0 は「屈折なし」を意味します。standard_surface シェーダは、どのジオメトリにも外側に向かう法線があること、オブジェクトが空気中(IOR 1.0)に埋め込まれていること、およびオーバーラップするサーフェスがないことを前提としています。 

法線

屈折したサーフェスをレンダリングする場合、ジオメトリの法線が正しい方向を向くようにすることは非常に重要です。 次の例(左)では、正しい方向(外側)を向いている法線と、間違った方向(内側)を向いている法線の違いがわかります。 これは、ガラスなどの両面の深さがあるサーフェスをレンダリングする場合に特に重要です。 法線の方向は、自動車のフロント ガラス(右)などの片面サーフェスをレンダリングするときも同様に重要です。

外側を向いている法線(正しい)。 イメージの上にカーソルを合わせると、法線が内側を向いている場合を示します(正しくない)。
フロント ガラス モデル(片面)。 イメージの上にカーソルを合わせると、法線が内側を向いている場合を示します(正しくない)。

屈折している場所が黒く見える場合、transmission_ray_depth 値(レンダリング設定の ray_depth セクション)が低い可能性があります。既定値は 8 で、ほとんどの場合はこれで十分です。

specular_anisotropy

異方性反射は、方向バイアスをかけて光を反射して伝達し、特定の方向ではマテリアルの粗さまたは光沢が強調されるようにします。異方性反射の既定値は 0 で、これは「等方性」を意味します。 1.0 の方向にコントロールを移動すると、サーフェスの U 軸の異方性がより高くなります。

異方性反射は、ブラシの方向がはっきりしたマテリアルに適しています。たとえば、小さな溝が「広がりのある」異方性反射を形成しているブラシ仕上げの金属などに向いています。

多数の小さなディスクが一体となって、異方性反射の効果を出す

 

異方性反射は、下の例にあるようなブラシ仕上げの金属の効果を出すのに適しています。

anisotropic_rotation に割り当てられたテクスチャ

 

 

異方性反射を使用する場合、ハイライトにファセット化が生じる場合があります。 Smooth Subdivision Tangents を有効にすると(Arnold の subdiv_smooth_derivs パラメータを使用)、ファセット化された外観を除去できます。 そのためには、1 つ以上のサブディビジョンの反復がポリメッシュに適用されている必要があることに注意してください。

異方性ファセット化を除去するには、subdivision_iterations を大きくします。

specular_rotation

回転値により、UV スペースでの異方性反射の方向が変わります。 0.0 では回転はありませんが、1.0 では 180 度回転します。 ブラシ仕上げの金属のサーフェスの場合、この値はマテリアルのブラシ仕上げの角度をコントロールします。 金属のサーフェスの場合、異方性反射ハイライトはブラシの向きに対して垂直方向に伸びている必要があります。

回転にテクスチャを割り当てることができます。 その場合、テクスチャ フィルタリングは行わないことをお勧めします。 そのためには、MIP マッピングと拡大フィルタを無効にします(既定では「スマート バイキュービック」に設定されています)。1 つの方法は、イメージ ノードの mipmap_bias を強い負の値(-8 など)に設定することです。これは、「MIP レベルが通常より 8 高い解像度を使用」するという意味です。

 

metalness

メタル 1.0 でサーフェスは完全な鏡面反射と複雑なフレネルを使用して金属のように動作します。

完全に鮮明な鏡のような反射にするには、metalness を 1 に増やし、specular_roughness を 0 に減らします。base_weight も 1 に設定する必要があります。

metalness を有効にすると、specular_weightspecular_color はエッジの色付けをコントロールするだけである一方、base は依然として粗さの影響を受けます。

メタルの外観は、base_color (向き)と specular_color (エッジの色付け)のパラメータを使用してコントロールされます。同じ外観でも簡単にカラーを調整およびテクスチャリングできるように、これらは自動的に物理の η 値と κ 値に変換されます。 実世界の金属の値の例を次にいくつか示します。

  Base Color Specular Color
アルミニウム(Al)0.912 0.914 0.9200.970 0.979 0.988
銅(Cu)0.926 0.721 0.5040.996 0.957 0.823
金(Au)0.944 0.776 0.3730.998 0.981 0.751
鉄(Fe)0.531 0.512 0.4960.571 0.540 0.586
鉛(Pb)0.632 0.626 0.6410.803 0.808 0.862
水銀(Hg)0.781 0.779 0.7790.879 0.910 0.941
ニッケル(Ni)0.649 0.610 0.5410.797 0.801 0.789
白金(Pt)0.679 0.642 0.5880.785 0.789 0.784
銀(Ag)0.962 0.949 0.9220.999 0.998 0.998

 

Metalness 値を 0.0 ~ 1.0 に設定すると、さびた鉄のようなサーフェスのテクスチャに使用することができます。反射が大きいクリーンな金属と拡散反射光が大きいさびをサーフェスの異なる領域に持たせることができます。 このパラメータには、Substance Painter のようなアプリケーションからの PBR メタル マップを接続することができます。

Rusted iron texture -> metalness

 

metalness テクスチャを使用するシェーダ


transmission

transmission を使用すると、ガラスや水のようなマテリアルのサーフェスで光を散乱させることができます。

 

transmission_color

屈折されたレイの移動距離に基づいて屈折をフィルタリングします。 メッシュの内側の光の移動が長くなるほど、transmission_color から受ける影響は大きくなります。したがって、レイが厚みのある部分を通過するとき、緑色のガラスは濃い緑色になります。 効果は指数で表され、ベールの法則を使用して計算されます。 軽く、微妙なカラー値を使用することをお勧めします。

transmission_color: 赤(transmission_depth: 1 ~ 10)

(1, 0, 0)のように完全に飽和状態のカラーを使用する場合、赤色光はすべて通過可能で緑色光と青色光はまったく通過しないと解釈されます。 transmission_color 値を 0 に近付けるとメッシュの内側が非常に高密度になりすべてのライトをブロックします。このため、depth 乗数を 0.001 などの小さな値に設定しても、depth が大きいために大した違いが生じないことがあります。 

transmission_color を完全に飽和状態のカラーにすることはお勧めできません


この値にカラーがあり、そのカラーで色付けしたシャドウが必要な場合は、standard_surface シェーダが割り当てられているメッシュで opaque を無効にします。次の例では、opaque を有効にすると、レイが球を通過できないのがわかります。 一方、opaque を無効にすると、レイが球を通過できるようになり、transmission_color によって設定されたカラーを吸収します。そのため、色付きのシャドウ効果が生じます。

transmission_color は、thin_walled が有効になっていない限り片面ジオメトリでは機能しないことに注意してください。

transmission_depth

レイがどのくらいの深度を通過した時に透過カラーになるかを決定します。 この値を大きくするとボリュームが薄くなり、吸収と散乱が少なくなります。これはスケール係数なので、transmission_color を設定してから、オブジェクトのサイズに適するように depth を微調整することができます。

 

transmission_depth の値を大きくする効果は、次のアニメーションで見ることができます。 このケースでは、transmission_scatter カラーも使用されています。

Depth はシーン スケールに依存しており、その外観に大きな影響を与える可能性があります。 transmission_color および depth は透過率または吸収をコントロールし、これはオブジェクトのスケールに依存します。このため、小さいオブジェクトで確認するには非常に低い depth を設定する必要があり、大きいオブジェクトでは高い値を設定する必要があります。 depth の効果を確認できない場合は、シーンのサイズをチェックする必要があります。

 

シーン スケールが小さすぎる場合、transmission_color (オレンジ)は transmission_depth が 1 であると(左のイメージ)不適切な見た目になります。transmission_depth を小さくすると、修正されます(右のイメージ)。 このような状況を避けるには、実世界のスケールでモデリングすることをお勧めします。

transmission_scatter

transmission_scatter は、水域やハチミツなど、かなり濃い液体や、散乱が目に見えるようになるほど濃い液体に適しています。 グラス 1 杯の水には散乱は不要ですが、海には必要になります。 その他の例としては、氷、オパール色に光るガラス、乳白色のガラスなどのマテリアルが含まれます。

散乱を機能させるには、standard_surface シェーダを割り当てているメッシュの opaque を無効にします。 

transmission_scatter_anisotropy

散乱の方向偏り、または指向性。既定値のゼロでは等方性散乱となり、ライトがすべての方向に均等に散乱します。 正の値は前方(ライトの進行方向)に散乱効果をバイアスします。一方、負の値は後方(光源の方向)に散乱効果をバイアスします。

 

transmission_dispersion

マテリアルのアッベ数を指定します。これは、波長間で屈折率が異なる度合いを示します。ガラスやダイアモンドの場合、10 ~ 70 の範囲が一般的です。値が小さくなるほど分散は増えます。 既定値は 0 で、分散はオフになります。 色ノイズは、グローバル カメラ(AA)サンプルまたは屈折サンプルのいずれかを増やすことにより軽減できます。

transmission_dispersion は、ダイアモンドのような宝石のマテリアルに最適です。

transmission_extra_roughness

等方性マイクロファセット BTDF を使用して計算された屈折のぼけ具合を追加します。 範囲は -1 ~ 1 で、0 は粗さがないことを意味します。次のように計算されます 

transmission_roughness = specular_roughness + transmission_extra_roughness

 

負の値を指定すると、透過の粗さは反射の粗さよりも低くなります。

specular_roughness: 0.3

transmit_aovs

有効にすると、transmission が AOV を通過するようになります。 バックグラウンドが透明な場合、透過サーフェスは、他のバックグラウンドの上にコンポジットできるように透明になります。 ライト パス エクスプレッション AOV が通過するようになるため、たとえば、透過サーフェスを通して見る拡散反射サーフェスは拡散反射光 AOV になります。他の AOV も(不透明度のブレンドなしで)そのまま通過するため、マスクの作成などに使用することができます。

アルファ マスク(イメージの上にカーソルを置くとビューティ レンダリング)


 

sss_synopsis

 

サブサーフェス スキャッタリング(SSS)は、オブジェクトに入り、そのサーフェスの下で散乱する光の効果をシミュレートします。すべての光がサーフェスで反射するわけではありません。 一部は照らされているオブジェクトのサーフェスを貫通します。 そこで、マテリアルによって吸収され、内部で散乱されます。 この散乱した光の一部は、サーフェスの外に戻り、カメラで確認できるようになります。 これは「サブサーフェス スキャッタリング」または「SSS」として知られます。 SSS は、大理石、スキン、リーフ、ワックス、ミルクなどのマテリアルのリアルなレンダリングに必要です。 このシェーダの SSS コンポーネントは、ブルートフォース レイトレース方式を使用して計算されます。

ジオメトリ法線が正しい方向を向いていることを確認する必要があります。そうしないと、SSS は正しくレンダリングされません。

 

SSS は、例えばプラスチックなどのリアルなマテリアルを複製するときに重要です。

subsurface

拡散反射光とサブサーフェス スキャッタリング間の「ブレンド」です。 1.0 に設定すると SSS のみになり、0 に設定すると Lambert のみになります。 ほとんどの場合は 1.0 (完全 SSS)にします。

subsurface_color
サブサーフェス スキャッタリングの効果を決定するために使用されるカラーです。 たとえば、スキン マテリアルを複製する場合は、肉質のカラーを設定します。

 

スキン カラー
一般的には、カラー テクスチャ マップを subsurface_color に接続し、サブサーフェスの半径をスキンに対して適切な値に設定します(赤が主に血液から生じていると仮定した場合、赤チャネルの値は大抵高くなります)。半径の調整には、必要があればテクスチャを使うことができます。静脈はカラー テクスチャ マップの一部になります。カラーに影響するだけでなく、サブサーフェス スキャッタリングの動作の仕方にも影響します。
standard_surface では、base と SSS 間でのミックスが可能です。スキンの拡散反射光を使用する場合、選択します。 フェース ペイントなどにマスクを使用して異なるテクスチャをミックスしたり、base_colorsubsurface_color の両方に同じテクスチャを接続してブレンド係数を変更することによって、鮮明さを変更するのに使用できます。


subsurface_radius

ライトがサーフェスの下に散乱できる、おおよその最大距離です。「平均自由工程」(MFP)とも呼ばれます。 このパラメータは、散乱したライトが外に戻る前にサーフェスの下に伝播する平均距離に影響を与えます。 距離に対するこのような効果は、カラー コンポーネントごとに個別に指定できます。 値を大きくするとサブサーフェス スキャッタリングの外観がスムーズになります。一方、値を小さくすると不透明な見た目になります。

カラーが明るくなるほど、光の散乱が多くなります。 値が 0 の場合、散乱効果は生成されません。 

半径の値を大きくすると、マテリアルの外観が、皮革風から大理石風のように、大幅に変更される可能性があります。 SSS はスケールに大きく依存しています。 半径の乗数はモデルのサイズに応じて調整する必要があります。 既定の SSS 設定を使用してレンダリングすると、外観が適切に見えない場合があります。 また、シーン スケールを調整すると、同様の結果になる可能性があります。

すべてのカラーを同程度に分散させるのではなく、RGB のカラーごとに異なる半径値を選択することもできます。 たとえば、スキンのような マテリアルは、緑と青よりも赤い半径を大きくする必要があります。

スキンをレンダリングするときは、1.00.350.2 などの値を使用します。これは、赤が最も深く散乱し、緑と青が控えめになることを示します。 これにより、スキンの 3 層レイヤのワークフロー(深いレイヤ、中間レイヤ、浅いレイヤ)が置き換えられ、深いレイヤを赤にしてその深さではより大きな半径で散乱させることができます。scatter_radius.R をより大きな値に設定することがこれに対応します。

下のイメージは、赤の半径のカラーを大きくしたときの効果を示しています。円のエッジの周りの色が付いた「フリンジング」効果に注目してください。 コンポジット用ソフトウェア内のソース イメージの赤のチャネルにガウス ブラーを適用すると同じ効果が発生します。

subsurface_scale

反射が戻る前にライトがサーフェスの下で移動する可能性のある距離をコントロールします。 スキャッタリングの半径をスケールして、sss_radius_color を乗算します。

シーンがメートル単位の場合は、 SSS Scale を 0.01 に設定し、sss_radius をセンチメートル単位で指定することができます。たとえば、スキンの場合、sss_radius は 0.37cm0.14cm0.07cm のように指定できます。

subsurface_anisotropy

-1 (完全な後方散乱)と 1 (完全な前方散乱)の範囲の Henyey-Greenstein 異方性係数です。 既定は等方性媒質用の 0 です。これは、ライトを全方向に均等に散乱させ、均等な効果を得ることができます。 正の値は前方(ライトの進行方向)に散乱効果をバイアスします。一方、負の値は後方(光源の方向)に散乱効果をバイアスします。

このパラメータは、randomwalk SSS メソッドでのみ動作します。

subsurface_type

拡散

1 つのレイヤで、サーフェスのディテールと深い散乱の両方をキャプチャできます。完全なモンテカルロ シミュレーションの特性に厳密に一致するように設計されていますが、完全な randomwalk よりもはるかに安価に評価できる近似を維持します。

Randomwalk (既定)

拡散理論に基づいた経験的 BSSRDF メソッドとは異なり、randomwalk メソッドは実際のランダム ウォークによってサーフェス下のトレースを行うため、ジオメトリは局所的にフラットであるという想定は行いません。これは、ブルートフォース ボリューム レンダリングのように、異方性スキャッタリングを考慮に入れることができ、凹面や小さいディテールでの結果がはるかに良くなることを意味します。 スキャッタリングの半径が大きい(平均自由工程が大きい)場合に、拡散に比べて処理が速くなる可能性があります。 一方 randomwalk は、高密度のメディア(平均自由工程が小さい場合)で低速になり、2 つのサーフェスをブレンドする際に sss_setname がサポートされません。また、類似の外観を得るためにマテリアルの再調整が必要になる可能性があります。さらに、閉じていないメッシュ(mouth bag)、および影を落とす可能性のある内部ジオメトリに対してはうまく動作しないことがあります。

Randomwalk v2

この方法は、透明度が高く光学的に薄いオブジェクトを介してより正確に深く散乱します。その結果、オブジェクト表面の細部およびバックライトが強い領域の周囲に、カラーが飽和状態の SSS が生成されます。randomwalk は平均してより長くランダムになるため、レンダリングは元の方法よりもコストがかかりノイズが多くなります。


thin_walled

thin_walled は、後ろから照らされている半透明のオブジェクトのような効果も提供できます(シェーディング ポイントは指定した割合の光で「照らされ」、その光はそのポイントにおいてオブジェクトの反対側に到達します)。これは薄いオブジェクト(片面ジオメトリ)にのみ使用することをお勧めします。厚みのあるオブジェクトでは正しくレンダリングされない場合があります。  

 

thin_walled は、たとえば泡のような薄い(片面の)オブジェクトで理想的です。

薄壁半透明度

この効果の表示は薄い紙のようなもので、ライトの一部が裏側に通過します。

紙のような拡散反射光サーフェスでは、thin_walled を有効にして subsurface_weight をたとえば 0.5 に設定すると、ライトの半分が反射し、半分が通過します。

 

特定の状況では、厚みがあっても thin_walled がうまく機能することがあります。ただし、厚みのあるオブジェクトで thin_walled を使用するときは、diffuse_ray_depth レベルが 1 より大きいことを確認する必要があります。

 

normal

法線マップをここに接続します(通常は Mudbox または ZBrush から書き出されます)。

法線マッピングは、補間されたサーフェス法線を RGB テクスチャから評価されたものに置き換えることによって動作します。各チャネル(赤、緑、青)はサーフェス法線の X、Y、および Z 座標に対応します。法線マッピングはバンプ マッピングよりも高速に処理できます。バンプ マッピングではその下にあるシェーダを 3 回以上評価する必要があるためです。

Tangent

接線マップ。 シェーディング法線とともに、入力ベクトルが適用される接線の座標系を定義します。 スカルプト ツールから使用できる場合は、法線マップが依存している接線マップをここに接続する必要があります。 0 の場合、シェーダはフレームを作成するために次のアクションを試行します。

  1. 「tangent」および「bitangent」という名前のベクトル ユーザ データを探します。
  2. UV の微分係数を使用します。
  3. 独自のローカル フレームを作成します。

シェーダは接線空間のみで作用します。接線マップがワールド空間またはオブジェクト空間で書き出された場合は、代わりにより汎用性の高い space_transform シェーダを使用することができます。

coat

このアトリビュートは、マテリアルのコートに使用されます。 その他すべてのシェーディング効果の上に、クリアコートのレイヤとして機能します。 コーティングは常に反射をともない(所定の粗さで)、誘電体であることを前提とします。 自動車の塗装におけるクリアコートのレイヤや、スキン マテリアルの光沢レイヤがその例です。 たとえば、追加のオイル レイヤや濡れたスキンに使用します。 その他の例としては、ラミネートされているオブジェクトや、アルミニウムの携帯電話の保護フィルムなどがあります。

coat レイヤは、ライトを吸収して、通過したすべてのライトを色付けする誘電体(プラスチック、ガラス、樹脂/エナメルなど、多数の液体)をシミュレートします(非常にわずかな偏光効果が残る場合があります)。ただし、金属の場合は、グレージング角度であっても、反射しているあらゆるもののカラーをフィルタする傾向があります。したがって、裸の金属をレンダリングする場合は、coat_weight を 0 にする必要があります。

(コート カラー: 金)

 

コートは、メタリックな自動車の塗装、風船や泡などの反射コーティングなどのマテリアルに使用できます。

イメージの上にカーソルを合わせて確認

specular(高い粗さ)の上に coat(低い粗さ)を組み合わせると、鮮明な coatfresnel により中央で消失します。

coat_color

これは、コーティング レイヤの透明度のカラーです。

通常、実世界では、coat_color は常に白である必要があり、多くの場合美的観点からのコントロールのために存在します。

次の例で、赤色の coat_color は下の鏡面反射に色付けするクリアなコーティング レイヤとして機能します。

テクスチャリングの例

次の例では、青と白のチェッカー テクスチャが base_color に適用され、coat_color は黄色に変更されています。 組み合わせると、ベース カラーの上の黄色のクリアコート レイヤは、ペイントやラッカーの半透明レイヤと似た緑色の色付けとなります。

また、元の base_color にコーティングがどのように影響するのかを定義することもできます。これは、テクスチャ マップを coat_weight に接続することによって行います。

 

coat_color は、ステンシル テクスチャのレイヤ化にも使用することができます。次の例では、タイプ イメージが coat_color に接続され、coat_roughness が上げられています。 鏡面反射光ハイライトによる影響を受けずに、その下に「座って」いるように見えることに注目してください。

イメージの上にカーソルを合わせて「コーティングなし」を確認


Texture maps -> coat_color

coat_roughness

鏡面反射の光沢度をコントロールします。 値が低いほど、反射がはっきりします。 制限内では、値が 0 の場合は完全に鮮明なミラー反射になり、値が 1.0 の場合は拡散反射に近い反射を生成します。 コート ハイライトのさまざまなバリエーションを取得するには、ここでマップを接続する必要があります。

coat_IOR

IOR パラメータ(屈折率)はマテリアルのフレネル反射率を定義し、それは角度の関数として定義されます。実質的に、IOR は正面に向いたサーフェスの反射とサーフェス エッジの反射とのバランスを定義します。反射強度は変更されませんが、正面側の反射強度は大きく変化することがわかります。

 

coat_anisotropy

異方性反射は、方向バイアスをかけて光を反射して伝達し、特定の方向ではマテリアルの粗さまたは光沢が強調されるようにします。 異方性反射の既定値は 0 で、これは「等方性」を意味します。 1.0 の方向にコントロールを移動すると、サーフェスの U 軸の異方性がより高くなります。

異方性反射は、ブラシの方向がはっきりしたマテリアルに適しています。たとえば、小さな溝が「広がりのある」異方性反射を形成しているブラシ仕上げの金属などに向いています。

多数の小さなディスクが一体となって、異方性反射の効果を出す

 

異方性反射は、下の例にあるようなブラシ仕上げの金属の効果を出すのに適しています。

anisotropic_rotation に割り当てられたテクスチャ

 

 

異方性反射を使用する場合、ハイライトにファセット化が生じる場合があります。 smooth subdivision tangents を有効にすると(Arnold subdiv_smooth_derivs パラメータを使用)、ファセット化された外観を除去できます。 そのためには、1 つ以上のサブディビジョンの反復がポリメッシュに適用されている必要があることに注意してください。

異方性ファセット化を除去するには、subdivision_iterations を大きくします。

coat_rotation

回転値により、UV スペースでの異方性反射の方向が変わります。 0.0 では回転はありませんが、1.0 では 180 度回転します。

回転にテクスチャを割り当てることができます。 その場合、テクスチャ フィルタリングは行わないことをお勧めします。 そのためには、MIP マッピングと拡大フィルタを無効にします(既定では「スマート バイキュービック」に設定されています)。1 つの方法は、イメージ ノードの mipmap_bias を強い負の値(-8 など)に設定することです。これは、「MIP レベルが通常より 8 高い解像度を使用」するという意味です。

coat_normal

 coat_normal は、ベース上のコートのフレネル ブレンドに影響し、法線によってベースが特定の角度から表示される量が変わります。coat_normal の使用法は、よりスムーズなベースの上の凹凸のあるコート レイヤです。これには雨の効果、Carbon Fiber シェーダまたは Car Paint シェーダが含まれ、coat レイヤと base レイヤに異なる法線(フレークなどを使用)を使用することができます。 

 

coat_normal は、レイヤが不均一になることがある状況に適しています。たとえば、オイルや濡れたレイヤ、路上での雨、食品の艶などです。

イメージ(左)の上にカーソルを合わせて確認。 光沢のあるテクスチャ マップをバンプ シェーダを介して coat_normal に接続して作成した水たまり(右)。

 

coat_normal を指定すると、コートだけに影響し、その下のレイヤ(拡散反射光、鏡面反射光、透過)には影響しません。 次の右の例では、バンプ テクスチャが coat_normal に接続されているとき、岩マテリアルにクリアコート レイヤがあるように見えます。

 

Textures -> Coat Normal

coat_affect_color

現実世界では、マテリアルがコーティングされるとコーティングの内側に一定量の内部反射があります。 これらは光が外に出る前にサーフェス上で複数回跳ね返る要因になり、マテリアルのカラーに強調効果が与えられます。 この 1 つの例は、ニス塗り木材です。 この効果は、coat_affect_color を使用して実現することができます。

イメージの上にカーソルを合わせて確認

coat_affect_roughness

これは、コーティングの粗さが基底レイヤの粗さに作用する原因となり、最上位のレイヤを通して表示されるぼかし効果をシミュレートします。 次の例では、チェッカー テクスチャが coat _roughness に接続され、Metalness が 1.0 に設定されています。0 に設定すると、Coating は影響を受けませんが、1 では coating_roughness が明らかです。

emission

発光ライトの量を制御します。 特に間接照明の光源が非常に小さい場合(電球ジオメトリ)、ノイズが生成されることがあります。

発光シェーダが割り当てられた電球(イメージの上にカーソルを合わせて確認)

拡散反射光サンプルの数値を大きくすると、暗闇のノイズは軽減され、発光を使用するとシーンの領域が間接的に照らされます。

emission_color

発光ライトのカラーです。

emission_color に接続された熱い溶岩を表すテクスチャ マップ

opacity
光がどの程度ブロックされるかをコントロールします。transmission とは異なり、マテリアルは拡散反射光、鏡面反射光などを考慮に入れるため、不透明度はシェーダ全体に影響を与えます。 オブジェクトのシャドウ定義を保持しながら、オブジェクト自身がカメラから見えないようにするのに役立ちます。

Opacity を使用する場合、Standard Surface シェーダが割り当てられているメッシュについて Opaque が無効になっていることを確認する必要があります。


Checker map -> opacity


caustics

standard_surface シェーダのこのスイッチは、拡散反射光バウンスの背後の鏡面反射光または透過バウンスが有効かどうかを指定します。 caustics はノイズが多いことがあるため、既定では無効になっています。

caustics のノイズをコントロールするには、グローバルの indirect_specular_blur 設定を増やします。正確さを犠牲に、caustics をぼかしてノイズを減らします。

Arnold は caustics を使用するとき、クリーン イメージを実現するために多数の diffuse サンプルを必要とします。これらの機能を有効にするときは注意が必要です。

反射コースティクス(左)、屈折コースティクス(右)。イメージの上にカーソルを合わせて、コースティクスなしの状態を確認


以下のシーン内の領域はガラス内が暗くなっていることにご注意ください。これは、ガラス内のイルミネーションが、基本的にはすべてコースティクスであるためです。ガラス シェーダのコースティクスを有効にすると、この問題は解決します。 

イメージの上にカーソルを合わせて、caustics を有効にした状態を確認


caustics が有効な状態で、高い specular_weight と低い Specular Roughness を使用すると、輝点ノイズが発生することがあります。 このタイプのノイズを減らすには、シェーダの specular_roughness を増やすか、indirect_specular_blur をグローバルに増やします

コースティクスを有効にすると、目のレンダリング時にさらに真実味を追加することができます。

イメージの上にカーソルを合わせて、外側角膜シェーダのコースティクスを有効にした状態を確認

internal_reflections

内部反射をオフにすると、レイ屈折深度がゼロより大きい場合(現在のレイ ツリーでトレースされている屈折レイが少なくとも 1 つある場合)、間接鏡面反射光と完全鏡面反射光の計算は無効になります。

右下のイメージでは、球に割り当てられている standard_surface シェーダで internal_reflections が無効になっているため、球は黒く見えます。

exit_to_background

最大 GI 反射/屈折深度に達し、バックグラウンド/環境で表示可能なカラーをその方向に返す場合、このオプションによって standard_surface シェーダはバックグラウンド/環境に対してレイトレースを行うようになります。このオプションが無効な場合、パスは終了し、最大深度に達すると黒を返します。

indirect_diffuse
間接ソースのみから受信した拡散反射光の量。 


indirect_specular

間接ソースのみから受けた鏡面反射性の量。 1.0 以外の値にすると、マテリアルはエネルギーを維持しなくなり、グローバル イルミネーションは収束しない場合があります。

dielectric_priority 

オーバーラップしている誘電体を適切に定義された媒体に解決する方法を指定することによって、優先順位が高い(値が大きい)誘電体によって優先順位が低い誘電体がオーバーライドされ、実質的に削除されるようにします。これは、氷が入っているグラス 1 杯の水のような、隣接する誘電体媒体が含まれている場合を正しく設定する際に使用されます。

dielectric_priority は整数(既定は 0)で、正または負の値を指定できます。優先順位が高い値によって、優先順位が低い値はオーバーライドされます。したがって、たとえば、優先順位が 2 のガラスが、優先順位が 1 の水の上にオーバーラップしている場合、オーバーラップ領域内ではガラスのみが残ります。優先順位に負の値を使用できるため、たとえば、優先順位が -1 のオブジェクトは優先順位が 0 のオブジェクトによってオーバーライドされます(負の優先順位を使用すると、既定の 0 より低い優先順位の媒体を指定できるので、便利なことがあります)。

dielectric_priority: ガラス: 3、氷と泡: 2、液体: 1。

イメージの上にカーソルを合わせると、dielectric_priority: 0 の場合が表示されます(物理的に正しくない)。

ネストされた誘電体は既定で有効になっています。これは、render settings -> Sampling -> Advanced (dielectric_priorities)で確認できます。古いシーンの外観が変更されます。以前の非物理的な結果に戻す場合は、このオプションを無効にします。

ネストされた誘電体の詳細は、こちらを参照してください。


sss_set_name

同じ SSS「セット」に属する複数のオブジェクトにタグを付けて、照明がオブジェクトの境界にまたがってぼやけるようにすることができます。 一般的な使用例は、歯と歯茎ジオメトリの間のぼかしです。 これを有効にするには、定数 STRING userdata sss_setname をセット内のオブジェクト上の同じ値に追加します。

これは現在、randomwalk SSS メソッドでは機能しません。

anisotropy_tangent
異方性鏡面反射シェーディングのカスタム接線を指定できます。 たとえば、メッシュに接線のユーザ データがある場合は、ここにリンクできます。

 

thin_film_thickness

指定した最小と最大の厚さ(0 ~ 2000 (ソフト最小/最大))の間の、フィルムの実際の厚さを定義します。 これは、鏡面反射光、透過、コートの各コンポーネントに影響します。 通常、これには干渉効果に変化を与えるためのノイズ マップなどがあります。 厚さが 3000 [nm]のように大きくなると、虹色効果がなくなります。これは物理的に正しい動作です。

thin_film_IOR

マテリアルを覆う媒質の屈折率です。 通常、空気は 1.0 に設定されています。

IOR は、水が 1.33 で、石鹸がおよそ 1.5 です。したがって、シャボン玉の IOR は 1.33 ~ 1.4 の範囲になります。


 

aov_id(1-8)

AOV ID (1-8)で出力に使用されるカラー。 ここでシェーダまたはテクスチャに接続し、それは類似の名前の ID AOV に保存されます。AOV ID はコンポジットで使用するマットを作成するのに便利です。 

sheen

マイクロファイバーや、粗さが変化するベルベット、サテンなどの衣類のようなサーフェスを近似するために使用できる、エネルギー保存型の光沢レイヤです。Sheen は拡散反射光コンポーネントにレイヤ化されていて、このアトリビュートによってウェイトが決まります。Sheen は密度、または密度と繊維長の組み合わせと見なすことができます。

 

ファブリックと同様に、sheen は木の葉、フルーツ、顔の産毛をシミュレートする場合に使用できます(離れた場所から表示するときに最適)。

イメージの上にカーソルを合わせて、sheen なしの状態を確認

 

sheen_color

繊維のカラー。 sheen を反映したカラーを色付けします。

(基本カラー: 上記のイメージで使用される暗い紫)

 

sheen_roughness

サーフェス法線の方向からマイクロファイバーが発散する度合いを調整します。

sheen_roughness による繊維の方向のランダム化


 

 
dielectric_priority は整数(既定は 0)で、正または負の値を指定できます。優先順位が高い値によって、優先順位が低い値はオーバーライドされます。したがって、たとえば、優先順位が 2 のガラスが、優先順位が 1 の水の上にオーバーラップしている場合、オーバーラップ領域内ではガラスのみが残ります。優先順位に負の値を使用できるため、たとえば、優先順位が -1 のオブジェクトは優先順位が 0 のオブジェクトによってオーバーライドされます(負の優先順位を使用すると、既定の 0 より低い優先順位の媒体を指定できるので、便利なことがあります)。
  • No labels