Version: Unity 6.0 (6000.0)
言語 : 日本語
ビルトインレンダーパイプラインのサーフェスシェーダー出力構造体
ビルトインレンダーパイプラインでのサーフェスシェーダーの作成

ビルトインレンダーパイプラインのサーフェスシェーダーとレンダリングパス

ビルトインレンダーパイプラインでは、サーフェスシェーダーを使用する場合、ライティングの適用方法とシェーダーのどの パス が使用されるかは、使用される レンダリングパス によって異なります。シェーダーの各パスは、パスタグ を通してそのライティングタイプを伝えます。

レンダーパイプラインの互換性

機能名 ユニバーサルレンダーパイプライン (URP) HD レンダーパイプライン (HDRP) カスタム SRP ビルトインレンダーパイプライン
サーフェスシェーダー いいえ

URP でシェーダーオブジェクトを効率的に作成する方法については、Shader Graph を参照してください。
いいえ

HDRP でシェーダーオブジェクトを効率的に作成する方法については、Shader Graph を参照してください。
いいえ はい

レンダリングパス

フォワードレンダリングパス

ForwardBase パスは、アンビエント、ライトマップ、メインのディレクショナルライト、重要でない (頂点/球面調和) ライトを一度にレンダリングします。ForwardAdd パスは、追加のピクセルごとのライトに使用されます。このようなライトによって照らされるオブジェクトごとに 1 回の呼び出しが行われます。詳細については、フォワードレンダリング を参照してください。

フォワードレンダリングが使用され、シェーダーにフォワードレンダリングに適切なパスがない (ForwardBaseForwardAdd もない) 場合には 、そのオブジェクトは、頂点ライティングパスでレンダリングされたのと同じようにレンダリングされます。詳しくは後述を参照してください。

ディファードシェーディングパス

Deferred パスは、ライティングに必要なすべての情報 (ビルトインシェーダーの場合、ディフューズ色、スペキュラー色、滑らかさ、ワールド空間法線、発光) をレンダリングします。また、発光のチャンネルには、ライトマップ、リフレクションプローブ、アンビエントライトの情報も追加されます。詳細は、ディファードシェーディング を参照してください。

古い (非推奨) 頂点ライティングレンダリングパス

頂点ライティングは、プログラム可能なシェーダーをサポートしないプラットフォームで使用されることが多いため、Unity が内部的に複数のシェーダーバリアントを作成して、ライトマップされた場合/ライトマップされていない場合を処理することができません。そのため、ライトマップされたオブジェクトとライトマップされていないオブジェクトを処理するためには、複数のパスを明示的に作成する必要があります。

  • Vertex パスは、ライトマップされていないオブジェクトに使用されます。すべてのライトは、OpenGL/Direct3D ライティングモデルのデフォルト機能である (Blinn-Phong) を使用して、一度にレンダリングされます。
  • VertexLMRGBM パスは、ライトマップが RGBM エンコードされている場合に、ライトマップされたオブジェクトに使用されます (PC およびコンソール)。リアルタイムライティングは適用されません。パスはテクスチャとライトマップを組み合わせることを想定しています。
  • VertexLM パスは、ライトマップが double-LDR エンコードされている場合 (モバイルプラットフォーム)、ライトマップされたオブジェクトに使用されます。リアルタイムライティングは適用されません。パスはテクスチャとライトマップを組み合わせることを想定しています。
ビルトインレンダーパイプラインのサーフェスシェーダー出力構造体
ビルトインレンダーパイプラインでのサーフェスシェーダーの作成