Version: Unity 6.0 (6000.0)
言語 : 日本語
ビルトインレンダーパイプラインのスタンダードシェーダー
ビルトインレンダーパイプラインのスタンダードシェーダーでのマテリアルプロパティの設定

ビルトインレンダーパイプラインのスタンダードシェーダーの概要

Unity のスタンダードシェーダーは、包括的な機能を持つビルトインシェーダーです。スタンダードシェーダーは、石、木、ガラス、プラスチック、金属など “現実世界” のオブジェクトをレンダリングするのに使用され、広範囲のシェーダータイプや組み合わせをサポートします。その機能は、マテリアルエディターのさまざまなテクスチャスロットやパラメーターを使用するかしないかだけで有効化/無効化できます。

スタンダードシェーダーは 物理ベースシェーディング と呼ばれる高度なライティングモデルも導入しました。物理ベースシェーディング (PBS) は現実世界を模倣し、マテリアルとライトとの相互作用をシミュレートします。PBS は、ごく最近リアルタイムグラフィックスで可能となりました。ライティングとマテリアルが直感的かつ現実的にともに存在する必要がある状況でもっとも効果を発揮します。

PBS の基本概念は、異なるライティングの条件でも一貫性のある、もっともらしい見た目を実現できるユーザーが使いやすい方法を作り出すことでした。うまく動作するかわからない複数のその場しのぎのモデルではなく、実際に光がどのように作用するかをモデルにしています。そうするために、エネルギーの保存 (オブジェクトが受ける以上のライトを反射しない)、フレネル反射 (すべての表面がグレージング角度でより反射する)、そして平面を塞ぐ方法 (Geometry Term と呼ばれるもの) を含む物理的な法則にしたがっています。

スタンダードシェーダーは硬質表面を念頭に置いて設計され (“建築マテリアル” としても知られる)、石、ガラス、セラミックス、真鍮、銀、ゴムなどのような現実世界のたいていのマテリアルを扱うことができます。皮膚、髪、クロスのような非硬質マテリアルも適切に処理します。

すべてのモデルにスタンダードシェーダーを使用した描画シーン
すべてのモデルにスタンダードシェーダーを使用した描画シーン

スタンダードシェーダーは様々なシェーダータイプ (Diffuse、Specular、Bumped Specular、Reflective など) を 1 つのシェーダーに結合し、すべてのマテリアルタイプで使用できるようにします。これには、同じライティング計算をシーンの全エリアで使用することができ、そのシェーダーを使用するすべてのモデルに現実的で、一貫した、本物らしいライトと影を提供することができるという利点があります。

スタンダードシェーダーのライティング計算の実装には、Smith Joint GGX 可視性項Schlick Fresnel 近似 を使用して、ディフューズコンポーネントには Disney モデル、スペキュラーには GGX モデル を使用します。

専門用語

Unity で PBS について述べるときに非常に重要な概念が多くあります。以下が含まれます。

  • エネルギー保存 - 物理学に基づいた概念で、オブジェクトが受ける以上のライトを反射しないようにします。マテリアルの鏡面度が高いほど、拡散は少なくなります。表面が滑らかであるほど、ハイライトは強くなり小さくなります。
表面上の各点でレンダリングされたライトは、環境から受けた光量と同じであると計算されます。粗い表面のマイクロファセットは、広いエリアからライトの影響を受けています。滑らかな表面には、強くそして小さなハイライトができます。点 A は、カメラ方向にある光源からのライトを反射します。点 B は、空の環境光から青の色合いを映します。点 C は、周囲の地面の色から環境光と反射光を映します。
表面上の各点でレンダリングされたライトは、環境から受けた光量と同じであると計算されます。粗い表面のマイクロファセットは、広いエリアからライトの影響を受けています。滑らかな表面には、強くそして小さなハイライトができます。点 A は、カメラ方向にある光源からのライトを反射します。点 B は、空の環境光から青の色合いを映します。点 C は、周囲の地面の色から環境光と反射光を映します。
  • __ハイダイナミックレンジ (HDR) __ - 通常の 0 - 1 の範囲外の色を指します。例えば、太陽を簡単に青空よりも 10 倍明るくすることができます詳しくは、Unity マニュアルの HDR のページを参照してください。
ハイダイナミックレンジ (HDR) を使用したシーンです。HDR を使用して処理されているため、車の窓に映る日光は、シーン内の他のオブジェクトよりもはるかに明るくなっています
ハイダイナミックレンジ (HDR) を使用したシーンです。HDR を使用して処理されているため、車の窓に映る日光は、シーン内の他のオブジェクトよりもはるかに明るくなっています

StandardShader

ビルトインレンダーパイプラインのスタンダードシェーダー
ビルトインレンダーパイプラインのスタンダードシェーダーでのマテリアルプロパティの設定