Unity のスタンダードシェーダーは、包括的な機能を持つビルトインシェーダーです。スタンダードシェーダーは、石、木、ガラス、プラスチック、金属など “現実世界” のオブジェクトをレンダリングするのに使用され、広範囲のシェーダータイプや組み合わせをサポートします。その機能は、マテリアルエディターのさまざまなテクスチャスロットやパラメーターを使用するかしないかだけで有効化/無効化できます。
スタンダードシェーダーは 物理ベースシェーディング と呼ばれる高度なライティングモデルも導入しました。物理ベースシェーディング (PBS) は現実世界を模倣し、マテリアルとライトとの相互作用をシミュレートします。PBS は、ごく最近リアルタイムグラフィックスで可能となりました。ライティングとマテリアルが直感的かつ現実的にともに存在する必要がある状況でもっとも効果を発揮します。
PBS の基本概念は、異なるライティングの条件でも一貫性のある、もっともらしい見た目を実現できるユーザーが使いやすい方法を作り出すことでした。うまく動作するかわからない複数のその場しのぎのモデルではなく、実際に光がどのように作用するかをモデルにしています。そうするために、エネルギーの保存 (オブジェクトが受ける以上のライトを反射しない)、フレネル反射 (すべての表面がグレージング角度でより反射する)、そして平面を塞ぐ方法 (Geometry Term と呼ばれるもの) を含む物理的な法則にしたがっています。
スタンダードシェーダーは硬質表面を念頭に置いて設計され (“建築マテリアル” としても知られる)、石、ガラス、セラミックス、真鍮、銀、ゴムなどのような現実世界のたいていのマテリアルを扱うことができます。皮膚、髪、クロスのような非硬質マテリアルも適切に処理します。
スタンダードシェーダーは様々なシェーダータイプ (Diffuse、Specular、Bumped Specular、Reflective など) を 1 つのシェーダーに結合し、すべてのマテリアルタイプで使用できるようにします。これには、同じライティング計算をシーンの全エリアで使用することができ、そのシェーダーを使用するすべてのモデルに現実的で、一貫した、本物らしいライトと影を提供することができるという利点があります。
スタンダードシェーダーのライティング計算の実装には、Smith Joint GGX 可視性項 と Schlick Fresnel 近似 を使用して、ディフューズコンポーネントには Disney モデル、スペキュラーには GGX モデル を使用します。
Unity で PBS について述べるときに非常に重要な概念が多くあります。以下が含まれます。
StandardShader