Version: Unity 6.0 (6000.0)
言語 : 日本語
ビルトインレンダーパイプラインのサーフェスシェーダーにライティングモデルを設定する
ビルトインレンダーパイプラインのサーフェスシェーダー例

サーフェスシェーダーの最適化

サーフェスシェーダー はライティングと相互作用するシェーダーを書く場合に優れています。しかし、これらのデフォルトのオプションは、ある特定の状況向けに最適化されているのではなく、一般的なケース向けに対応できるようになっています。多くの場合、それを微調整することでシェーダーの実行を速くするか、サイズを小さくすることができます。

  • halfasview は鏡面シェーダータイプをさらに早くします。Half-vector (ライティング方向とビューベクトルの中間) が計算され頂点ごとに正規化され、ライティングの関数 はあらかじめ、中間ベクトルをビューベクトルの代わりに、引数として受け取ります。
  • noforwardadd によりシェーダーは、フォワードレンダリングで指向性ライトのみ完全にサポートします。残りのライトは、頂点ライトや球面調和としてのエフェクトを、引き続き表現することができます。これはシェーダーを小さくすることに優れていて、複数のライトが存在していても、常にひとつのパスでレンダリングされます。
  • noambient は、シェーダーのアンビエントライトと球面調和ライトを無効にします。これにより、パフォーマンスが若干速くなります。

追加リソース

ビルトインレンダーパイプラインのサーフェスシェーダーにライティングモデルを設定する
ビルトインレンダーパイプラインのサーフェスシェーダー例