ユニバーサルレンダーパイプラインでのレンダリング
Universal Render Pipeline (ユニバーサルレンダーパイプライン、URP) は、以下のコンポーネントを使用してシーンをレンダリングします。
- URP レンダラー。URP には以下のレンダラーが含まれています。
- URP に付属のシェーダー用の シェーディングモデル
- カメラ
- URP アセット
以下の図は、URP ユニバーサルレンダラーのフレームレンダリングループを示しています。
グラフィックス設定でレンダリングパイプラインがアクティブ である場合、Unity はゲームビューとシーンビューのカメラ、リフレクションプローブ、Inspector のプレビューウィンドウなど、プロジェクト内のすべてのカメラを URP を使用してレンダリングします。
URP レンダラーはカメラごとにカメラループを実行します。カメラループでは以下のステップが実行されます。
- シーン内のレンダリングされたオブジェクトをカリングする
- レンダラー用のデータを作成する
- 画像をフレームバッファに出力するレンダラーを実行する
各ステップの詳細については、カメラループ を参照してください。
URP は RenderPipelineManager クラスには、フレームのレンダリングの前後、および各カメラループのレンダリングの前後にコードを実行するために使用できるイベントが用意されています。イベントは以下のとおりです。
beginCameraRendering イベントの使用例については、beginCameraRendering イベントの使用 のページを参照してください。
カメラループ
カメラループは以下のステップを実行します。
ステップ | 説明 |
---|---|
Setup Culling Parameters (カリングパラメーターの設定) | カリングシステムでライトとシャドウをカリングする方法を決定するパラメーターを設定します。レンダーパイプラインのこの部分はカスタムレンダラーを使用してオーバーライドできます。 |
Culling (カリング) | 前のステップで設定したカリングパラメーターを使用して、カメラに映る可視レンダラー、シャドウキャスター、ライトのリストを計算します。カリングパラメーターとカメラ レイヤーの距離 は、カリングとレンダリングのパフォーマンスに影響します。 |
Build Rendering Data (レンダリングデータの構築) | カリング出力、URP アセット の品質設定、カメラ、および現在実行中のプラットフォームに基づいて情報を取得し、RenderingData を構築します。レンダリングデータは、カメラと現在選択されているプラットフォームで必要なレンダリング処理の量および品質をレンダラーに通知します。 |
Setup Renderer (レンダラーの設定) | レンダリングパスのリストを作成し、これらをレンダリングデータに従って実行するためにキューに入れます。レンダーパイプラインのこの部分はカスタムレンダラーを使用してオーバーライドできます。 |
Execute Renderer (レンダラーの実行) | キュー内の各レンダーパスを実行します。レンダラーはカメラ画像をフレームバッファに出力します。 |