Version: 2022.3
言語: 日本語
ビルトインシェーダー
コンテンツとコンテキスト

スタンダードシェーダー

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

スタンダードシェーダーは 物理ベースシェーディング (PBS) と呼ばれる高度なライティングモデルも導入しました。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 を使用して処理されているため、車の窓に反映している日光は、シーン内の他のオブジェクトよりもはるかに明るく見せることができます

StandardShader

ビルトインシェーダー
コンテンツとコンテキスト