ユニバーサルレンダーパイプラインアセット
Universal Render Pipeline (ユニバーサルレンダーパイプライン、URP) を使用するには、URP アセットを作成して、そのアセットをグラフィックス設定に割り当てる 必要があります。
URP アセットでは、URP のいくつかのグラフィック機能と品質設定を管理します。これは ‘RenderPipelineAsset’ から継承されるスクリプタブルオブジェクトです。アセットをグラフィックス設定に割り当てると、ビルトインレンダーパイプラインから URP に切り替わります。すると、ユーザーは関連する設定を他の場所で探すことなく、直接 URP で調整できるようになります。
複数の URP アセットを作成して切り替えることができます。例えば、シャドウをオンにしたアセットと、シャドウをオフにしたアセットを作成できます。2 つのアセットを切り替えてエフェクトを確認すれば、毎回シャドウに関連する設定を手動で切り替える必要がなくなります。ただし、HDRP/SRP アセットと URP アセットは、 レンダーパイプラインに互換性がないため切り替えることはできません。
UI の概要
URP では、以下の項目を設定できます。
ノート: 実験的機能の 2D Renderer を有効にしている場合 (メニュー: Graphics Settings > Scriptable Render Pipeline Settings で 2D Renderer アセットを追加した場合)、URP アセットの 3D レンダリングに関係する一部のオプションが最終的なアプリやゲームに反映されません。
General
General 設定では、パイプラインでレンダリングされたフレームの重要な部分を管理します。
プロパティ | 説明 |
---|---|
Depth Texture | URP が _CameraDepthTexture を作成できるようになります。その後、URP はシーン内のすべてのカメラにこの 深度テクスチャ をデフォルトで使用します。この設定は、カメラごとに カメラの Inspector でオーバーライドできます。 |
Opaque Texture | これを有効にすると、シーン内のすべてのカメラに _CameraOpaqueTexture がデフォルトで作成されます。これはビルトインレンダーパイプラインの GrabPass と同じように動作します。Opaque Texture により、URP が透明なメッシュをレンダリングする直前のシーンのスナップショットが提供されます。これを透明シェーダーで使用して、すりガラス、水の屈折、熱波などのエフェクトを作成できます。この設定は、カメラごとに カメラの Inspector でオーバーライドできます。 |
Opaque Downsampling | 不透明テクスチャのサンプリングモードを以下のいずれかに設定します。 None: カメラと同じ解像度で不透明なパスのコピーを作成します。 2x Bilinear: バイリニアフィルタリングにより、解像度が半分の画像を作成します。 4x Box: ボックスフィルタリングにより、解像度が 4 分の 1 の画像を作成します。これにより柔らかくぼやけたコピーが作成されます。 4x Bilinear: バイリニアフィルタリングにより、解像度が 4 分の 1 の画像を作成します。 |
Terrain Holes | このオプションを無効にすると、Unity Player 向けにビルドする際にすべてのテレインの穴のシェーダーバリアントが URP によって削除され、ビルド時間が短縮されます。 |
Quality
これらの設定では、URP の品質レベルを管理します。ここでローエンドのハードウェアでのパフォーマンスを向上させたり、ハイエンドのハードウェアでのグラフィックの画質を向上させたりすることができます。
ヒント: 異なるハードウェアごとに設定を変えたい場合は、複数の URP アセットでこれらのプロパティを設定し、必要に応じて切り替えることができます。
プロパティ | 説明 |
---|---|
HDR | このプロパティを有効にすると、シーン内のすべてのカメラで、高ダイナミックレンジ (HDR) でのレンダリングがデフォルトで許可されます。HDR を利用すると、画像の最も明るい部分を 1 よりも大きくすることができます。そのため、ライトの強度の範囲が広がり、ライティングがよりリアルに見えます。HDR を利用しても引き続き細部を見ることができ、明るい光でも彩度は低くなります。これはライティングの範囲を広げる場合や、ブルーム エフェクトを使用する場合に便利です。ローエンドのハードウェアをターゲットにしている場合は、このプロパティを無効にして HDR の計算をスキップし、パフォーマンスを向上させることができます。この設定は、カメラごとにカメラの Inspector でオーバーライドできます。 |
MSAA | レンダリング中にすべてのカメラに マルチサンプルアンチエイリアシング をデフォルトで使用します。これによりジオメトリのエッジが柔らかくなり、ギザギザ感やちらつきがなくなります。ドロップダウンメニューで、ピクセルごとに使用するサンプル数 (2x、4x、または__8x__) を選択します。選択するサンプル数が多いほど、オブジェクトのエッジが滑らかになります。MSAA の計算をスキップする場合や、2D ゲーム内で必要としない場合は、Disabled を選択します。この設定は、カメラごとにカメラの Inspector でオーバーライドできます。 ノート: StoreAndResolve の格納アクションをサポートしないモバイルプラットフォームでは、URP アセットで Opaque Texture が選択されている場合、ランタイムに (あたかもアンチエイリアシング (MSAA) が無効に設定されているかのように) アンチエイリアシング (MSAA) プロパティは無視されます。 |
Render Scale | このスライダーでレンダーターゲットの解像度 (現在のデバイスの解像度ではありません) を調整できます。これは、パフォーマンス上の理由で低解像度でレンダリングしたい場合や、レンダリングをアップスケールして品質を向上させたい場合に使用します。調整できるのはゲームのレンダリングのみです。UI のレンダリングについては、デバイスのネイティブ解像度が維持されます。 |
Lighting
これらの設定はシーン内のライトに影響します。
これらの設定を無効にすると、関連する キーワード が シェーダー変数から除去 されます。ゲームやアプリで使用しないことが確実な設定については、その設定を無効にしてパフォーマンスを向上させ、ビルド時間を短縮することができます。
プロパティ | 説明 |
---|---|
Main Light | これらの設定はシーン内のメインの ディレクショナルライト に影響します。これは、ライティングの Inspector で Sun Source を指定することで選択できます。Sun Source を指定しないと、URP はシーン内で最も明るいディレクショナルライトをメインライトとして扱います。Pixel Lighting または None を選択できます。None を選択すると、Sun Source を設定した場合でも URP はメインライトをレンダリングしません。 |
Cast Shadows | このチェックボックスをオンにすると、シーン内でメインライトが影を投影します。 |
Shadow Resolution | メインライトのシャドウマップテクスチャの大きさを制御します。高解像度の場合は、よりシャープで精度の高い影になります。メモリやレンダリング時間に問題がある場合は、低解像度を試してください。 |
Additional Lights | メインライトを補完する追加ライトを設定できます。Per Vertex、Per Pixel、または Disabled のいずれかを選択できます。 |
Per Object Limit | このスライダーを使用して、各ゲームオブジェクトに影響する追加ライトの上限数を設定できます。 |
Cast Shadows | このチェックボックスをオンにすると、シーン内で追加ライトが影を投影します。 |
Shadow Resolution | 追加ライトのディレクショナルシャドウを投影するテクスチャのサイズを制御します。これは最大 16 個のシャドウマップをパックしたシャドウアトラスです。高解像度の場合は、よりシャープで精度の高い影になります。メモリやレンダリング時間に問題がある場合は、低解像度を試してください。 |
Shadows
これらの設定により、影の見た目や動作を設定し、ビジュアルクオリティーとパフォーマンスの最適なバランスを見つけることができます。
Shadows セクションには以下のプロパティがあります。
プロパティ | 説明 |
---|---|
Max Distance | 影をレンダリングする、カメラからの最大距離です。この距離よりも遠くにある影はレンダリングされません。 ノート: このプロパティは、Working Unit プロパティの値にかかわらず、メートル単位です。 |
Working Unit | シャドウカスケードの距離を測定する際の単位です。 |
Cascade Count | シャドウカスケード の数です。シャドウカスケードを使用すると、カメラ近くの影が粗くなるのを避け、シャドウ解像度を比較的抑えることができます。詳細については、シャドウカスケード のページを参照してください。カスケードの数を増やすと、パフォーマンスが低下します。カスケードの設定は、メインライトにのみ影響します。 |
Split 1 | カスケード 1 が終了してカスケード 2 が開始する距離です。 |
Split 2 | カスケード 2 が終了してカスケード 3 が開始する距離です。 |
Split 3 | カスケード 3 が終了してカスケード 4 が開始する距離です。 |
Last Border | 影がフェードアウトするエリアのサイズです。Max Distance - Last Border の距離で影のフェードアウトが始まり、Max Distance で影がフェードしてゼロになります。 |
Depth Bias | この設定を使用して、シャドウアクネ を減らします。 |
Normal Bias | この設定を使用して、シャドウアクネ を減らします。 |
Soft Shadows | このチェックボックスをオンにすると、シャドウマップに追加の処理が施され、見た目が滑らかになります。 有効にすると、以下のシャドウマップのフィルタリング手法が使用されます。 デスクトッププラットフォーム: 5x5 tent フィルター、モバイルプラットフォーム: 4 tap フィルター パフォーマンスへの影響: 高 このオプションを無効にすると、デフォルトのハードウェアフィルタリングを使用してシャドウマップが 1 回サンプリングされます。 |
Conservative Enclosing Sphere | このオプションを有効にすると、シャドウの錐台カリングが向上し、シャドウカスケードのコーナーが過剰にカリングされるのが防止されます。 このオプションは、以前のバージョンの Unity で作成した既存のプロジェクトとの互換性を確保する場合にのみ無効にします。 既存のプロジェクトでこのオプションを有効にすると、球を囲むシャドウカリングによってサイズと位置が変わるため、シャドウカスケードの距離を調整する必要があります。 パフォーマンスへの影響: このオプションを有効にするとパフォーマンスが向上する可能性があります。このオプションでは、シャドウカスケードのオーバーラップが最小限に抑えられ、冗長な静的シャドウキャスターの数が削減されるためです。 |
Post-processing
このセクションでは、グローバルポストプロセス設定を調整できます。
プロパティ | 説明 |
---|---|
Post Processing | このチェックボックスでは、現在の URP アセットのポストプロセスをオン (チェックボックスを選択) またはオフ (チェックボックスをクリア) にできます。 このチェックボックスをオフにすると、以下のいずれかの条件を満たさない限り、ビルドからポストプロセスシェーダーとテクスチャが除外されます。
|
Post Process Data | レンダラーがポストプロセスで使用する、シェーダーやテクスチャへの参照を含むアセットです。 ノート: このプロパティを変更する必要があるのは、詳細なカスタマイズを行うユースケースのみです。 |
Grading Mode | プロジェクトで使用する カラーグレーディング モードを選択します。 • High Dynamic Range: 映画製作のワークフローに近い高精度なグレーディングにはこのモードが最適です。カラーグレーディングはトーンマッピングの前に適用されます。 • Low Dynamic Range: このモードはよりクラシックなワークフローに従います。カラーグレーディングはトーンマッピングの後に限定的な範囲で適用されます。 |
LUT Size | URP がカラーグレーディングで使用する、内部および外部の ルックアップテクスチャ (LUT) のサイズを設定します。サイズが大きいと精度が高くなりますが、パフォーマンスとメモリ使用量を圧迫する可能性があります。LUT のサイズを組み合わせることはできないため、カラーグレーディング処理を開始する前にサイズを決定する必要があります。 初期値は 32 で、スピードと品質の適度なバランスが確保されます。 |
Advanced
このセクションでは、より詳細なレンダリング機能とシェーダーの組み合わせに影響する、一般的には変更することが少ない設定を調整できます。
プロパティ | 説明 |
---|---|
SRP Batcher | このチェックボックスをオンにすると、SRP Batcher が有効になります。これは、同じシェーダーを使用する複数の異なるマテリアルがある場合に便利です。SRP Batcher は、GPU パフォーマンスに影響することなく CPU レンダリングを高速化する内部ループです。SRP Batcher を使用すると、SRP レンダリングコードの内部ループが SRP Batcher に置き換わります。 |
Dynamic Batching | Dynamic Batching を有効にすると、レンダーパイプラインが同じマテリアルを共有する小さな動的オブジェクトを自動的にバッチ処理します。これは、GPU インスタンシングに対応していないプラットフォームやグラフィックス API で便利です。ターゲットハードウェアが GPU インスタンシングに対応していない場合は、Dynamic Batching を無効にします。この設定はランタイムに変更できます。 |
Mixed Lighting | Mixed Lighting を有効にすると、ビルドに混合ライティングのシェーダーバリアントが含まれるようになります。 |
Debug Level | レンダーパイプラインが生成するデバッグ情報のレベルを設定します。以下の値を設定できます。 Disabled: デバッグは無効です。これがデフォルトです。 Profiling: レンダーパイプラインによって詳細な情報タグが提供されます。情報タグは FrameDebugger で確認できます。 |
Shader Variant Log Level | ビルドが完了したときに表示するシェーダー除去とシェーダーバリアントについての情報のレベルを設定します。以下の値を設定できます。 Disabled: 何も記録されません。 Only Universal: すべての URP シェーダー の情報が記録されます。 All: ビルド内のすべてのシェーダーの情報が記録されます。 この情報はビルドが完了したときに Console パネルに表示されます。 |
Store Actions | DrawObjects パスのレンダーターゲットを破棄するか格納するかを定義します。Store オプションを選択すると、モバイルおよびタイルベース GPU のメモリ帯域幅が大幅に向上します。 Auto: デフォルトで Discard オプションを使用し、挿入されたパスを検知すると Store オプションに戻ります。 Discard: 後で再利用することのないレンダーパスのレンダーターゲットを破棄します (低メモリ帯域幅)。 Store: 各パスのすべてのレンダーターゲットを格納します (高メモリ帯域幅)。 |
Adaptive Performance
このセクションはプロジェクトに Adaptive Performance パッケージがインストールされている場合に利用できます。Use Adaptive Performance プロパティで Adaptive Performance の機能を有効にできます。
プロパティ | 説明 |
---|---|
Use Adaptive Performance | このチェックボックスをオンにすると、Adaptive Performance の機能を有効にして、ランタイムのレンダリング品質を調整できます。 |