Metallic モード: Metallic パラメータ
法線マップ(Normal Map)(Bump mapping)

Smoothness

Metallic シェーダーモード、 Specular シェーダーモードそれぞれに表示された Smoothness パラメータ
Metallic シェーダーモード、 Specular シェーダーモードそれぞれに表示された Smoothness パラメータ

Smoothness のコンセプトは、 Specular のワークフローと Metallic のワークフロー両方で使われており、どちらもほとんど同じ方法で機能しています。デフォルトでは、 MetallicSpecular のテクスチャマップはマテリアルの Smoothness に適用されておらず、スライダーで制御できます。このスライダーで “microsurface detail” や、表面の smoothness を制御できます。

どちらのシェーダーモードも上に表示されています。なぜなら、もし MetallicSpecular のパラメータにテクスチャマップを使う事を選択した場合、 smoothness の値も、同じマップを参照するからです。詳細は、ページ下で説明しています。

0 から 1の smoothness 値の範囲
0 から 1の smoothness 値の範囲

どんなに近づいても “microsurface detail” を Unity 上で直接見る事はできません。これは、光源計算で使われる概念です。直接見る代わりに、オブジェクトで反射した光が拡散反射している量として、この microsurface detail の効果を見る事ができます。滑らかなサーフェイスでは、すべての光線は予測可能な方向に真っ直ぐ反射します。極端な話、完全に滑らかなサーフェイスでは、光は鏡のように反射されます。滑らかでないサーフェイスでは、反射した光は広範囲に広がります(光が microsurface bumps に当たっているため)。そのため、反射光はさらにぼやけて、サーフェイス全体に拡散します。

smoothness の値の低、中、高を比較したマテリアルの microsurface detail の理論図です。黄色の線は、表面に当たるさまざまなレベルの smoothness のレベルで遭遇する角度から反射する光線を表しています。
smoothness の値の低、中、高を比較したマテリアルの microsurface detail の理論図です。黄色の線は、表面に当たるさまざまなレベルの smoothness のレベルで遭遇する角度から反射する光線を表しています。

滑らかなサーフェイスでは、 microsurface detail が非常に低いか、まったくない事になるので、光は均一な方向にはね返り、はっきりした反射を生成します。荒いサーフェイスでは、 microsurface detail に大きな起伏ができるため、反射光は広範囲に広がります。平均されて、はっきりした反射のない拡散反射色を生成します。

smoothness の値の低、中、高を比較 (上から下の順).
smoothness の値の低、中、高を比較 (上から下の順).

Smoothness が低く設定されている場合、光は、表面上の各ポイントにおいて、より広いエリアから反射されます。これは、マイクロサーフェスの状態が凸凹で光が拡散されるためです。反対に Smoothness の値が高い場合、表面上の各ポイントにおいて、光はより狭く焦点の絞られたエリアから反射されます。結果、オブジェクトの周囲環境がよりはっきりと映り込むことになります。

Smoothness テクスチャマップの使用

他の多くのパラメータ同様、まとめて一つのスライダーの値を使用する代わりにテクスチャマップを割り当てることができます。これにより、より自由な制御が可能となります。ライトの Specular(鏡面)反射の強さや色をマテリアル表面の部分部分で変えることができます。

サーフェイス上のどの点の smoothness 値も、単一の値なので、テクスチャ画像のチャンネル一つが、そのデータ用に必要となります。そのため、 smoothness のデータは、 Metallic か Specular 用のテクスチャマップ(それら2つのモードのうち、どちらか使っている方)と同じテクスチャ画像のαチャンネルに保存することを前提としています。

Specular ワークフローでの作業の場合、Specular テクスチャが割り当てられていると Smoothness スライダーは使用できません。これは、Specular テクスチャのアルファチャンネルが、マテリアルの表面全体の Smoothness の値として使用されるためです。

同様に Metallic ワークフローの場合も、 Metallic テクスチャが割り当てられている場合は、 Smoothness の値は Metallic テクスチャのアルファチャンネルから取得されます。

|Smoothness ソース |smoothness 値を保存するテクスチャチャンネルを選択します。 | |        Specular/Metallic Alpha |サーフェイス上のどの点の smoothness 値も、単一の値なので、テクスチャ画像のチャンネル一つが、そのデータ用に必要となります。そのため、 smoothness のデータは、 Metallic か Specular 用のテクスチャマップ (それら2つのモードのうち、どちらか使っている方) と同じテクスチャ画像の αチャンネルに保存することを前提としています。| |        Albedo Alpha | これによって、テクスチャの全体数を減らす、または、Smoothness と Specular/Metallic の異なる解像度を使用することができます。| |Reflections| これをチェックすると、環境反射を無効にします。これは、モバイルのためのオプションのパフォーマンス最適化で、標準シェーダーからハイライトの計算を取り除きます。環境マップをサンプリングする代わりに、近似が使用されます。これが見た目にどのような影響を与えるかは、smoothness 次第です。 |

より滑らかな表面はより多く反射し、より小さく焦点があつまったスペキュラハイライトになります。あまり滑らかでない表面はあまり反射せず、そのスペキュラハイライトは目立たなくて、より広く表面に広がります。アルベドマップ内のコンテンツに specular と smoothness マップをマッチングさせることで、非常にリアルなテクスチャの作成を始めることができます。

Metallic モード: Metallic パラメータ
法線マップ(Normal Map)(Bump mapping)