Version: Unity 6.0 (6000.0)
言語 : 日本語
URP のディファードレンダリングパスのレンダーパス
URP のディファードレンダリングパスでの正確な G バッファ法線の有効化

URP のディファードレンダリングパスの G バッファレイアウト

以下の図は、Unity がディファードレンダリングパスの G バッファで使用するレンダーターゲットの各ピクセルのデータ構造を示しています。

Unity がディファードレンダリングパスで使用するレンダーターゲットのデータ構造
Unity がディファードレンダリングパスで使用するレンダーターゲットのデータ構造

Albedo (sRGB)

このフィールドには、24 ビット sRGB 形式のアルベド色が含まれます。

MaterialFlags

このフィールドは、マテリアルのフラグを含むビットフィールドです。

  • ビット 0、ReceiveShadowsOff: 設定されている場合、ピクセルは動的シャドウを受けません。
  • ビット 1、SpecularHighlightsOff: 設定されている場合、ピクセルはスペキュラーハイライトを受けません。
  • ビット 2、SubtractiveMixedLighting: 設定されている場合、ピクセルは減法ライティングモードを使用します。
  • ビット 3、SpecularSetup: 設定されている場合、マテリアルはスペキュラーワークフローを使用します。

ビット 4 - 7 は将来の使用のために予約されています。

スペキュラー

このフィールドには、以下の 24 ビット値が含まれます。

  • シンプルな Lit マテリアル: 24 ビットで格納された RGB スペキュラーカラー。
  • メタリックワークフローを使用する Lit マテリアル: 8 ビットで格納された反射率。その他の 16 ビットは使用されません。
  • 鏡面ワークフローを使用する Lit マテリアル: 24 ビットで格納された RGB スペキュラーカラー。

オクルージョン

このフィールドには、ベイクしたライティングのベイクしたオクルージョンの値が含まれます。リアルタイムライティングの場合、Unity はベイクしたオクルージョンの値とスクリーンスペースアンビエントオクルージョン (SSAO) の値を組み合わせてアンビエントオクルージョンの値を計算します。

Normal

このフィールドには、24 ビットでエンコードされたワールド空間の法線が含まれます。詳細については、ディファードレンダリングパスでの正確な G バッファ法線の有効化を参照してください。

Smoothness

このフィールドには、Simple Lit マテリアルおよび Lit マテリアルの Smoothness の値が格納されます。

エミッシブ/GI/ライティング

このレンダーターゲットには、マテリアルのエミッシブ出力とベイクしたライティングが含まれます。このフィールドは、G バッファレンダーパスの間に入力されます。ディファードシェーディングパスの間に、このレンダーターゲットにライティングの結果が格納されます。

デフォルトの形式は B10G11R11_UFloatPack32 です。

以下のいずれかが true の場合、Unity は R16G6B16A16_SFloat を使用します。

  • URP Asset で、Quality Settings > HDR が有効になっていますが、ビルドプラットフォームは HDR をサポートしていません。
  • プレイヤー設定ウィンドウでは、PreserveFramebufferAlpha が有効になっています。

Unity は B10G11R11_UFloatPack32 または R16G6B16A16_SFloat を使用できない場合は、デフォルトの HDR 形式を使用します。

ShadowMask

Lighting ModeSubtractive または Shadowmask に設定した場合は、このレンダーターゲットが G バッファレイアウトに追加されます。

Rendering Layer Mask

Rendering Layers を有効にすると、このレンダーターゲットが G バッファレイアウトに追加されます。

Depth as Color

サポートされるプラットフォームでネイティブレンダーパスを有効にすると、このレンダーターゲットが G バッファレイアウトに追加されます。このレンダーターゲットには、深度が色としてレンダリングされます。このレンダーターゲットには、以下の目的があります。

  • Vulkan デバイスでのパフォーマンスを向上させます。
  • Metal グラフィックス API を使用するプラットフォームで Unity が深度バッファを取得できるようにします。Metal API では、同じレンダーパス内で DepthStencil バッファから深度を取得することができません。

このレンダーターゲットの形式は GraphicsFormat.R32_SFloat です。

DepthStencil

このレンダーターゲットの最上位の 4 ビットは、マテリアルタイプのために予約されています。詳細については、URP ShaderLab のパスタグを参照してください。

このレンダーターゲットの形式は、プラットフォームに応じて D32F_S8 または D24S8 です。

追加リソース

URP のディファードレンダリングパスのレンダーパス
URP のディファードレンダリングパスでの正確な G バッファ法線の有効化
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961