見出し画像

Unityのレンダーパイプライン

Unityのレンダーパイプラインについてまとめました。

1. レンダーパイプライン

レンダーパイプライン」は、オブジェクトを画面に描画するまでの様々な工程群(カリング、座標変換、陰影計算、ラスタライズなど)を表す言葉です。現在のUnityには、次の2種類の「レンダーパイプライン」が提供されています。

・Build-in Render Pipeline : 従来のUnityで提供されているレンダーパイプライン。
・Scriptable Render Pipeline(SRP) : Unity 2018から提供されているカスタマイズ可能なレンダーパイプライン。

SRPで独自のレンダーパイプラインを作成することも可能ですが、現在のUnityには、次の2種類の「カスタムレンダーパイプライン」が提供されています。

・Universal Render Pipeline(URP) : 軽量なレンダーパイプライン。
・High Definition Render Pipeline(HDRP) : 高品質なレンダーパイプライン。

多くの場合、「Build-in Render Pipeline」「URP」「HDRP」のいずれかを選んで利用することになります。

画像1

2. Build-in Render Pipeline

従来のUnityで提供されているレンダーパイプラインです。過去の資産を利用したい場合に使用します。

1つのプロジェクトでモバイルからコンシューマ機まで複数のターゲットに対応し、ビルド時に低スペックなターゲットでは、自動的に一部の機能が簡略化されます。

3. Universal Render Pipeline(URP)

「URP」は、軽量なレンダーパイプラインです。モバイルやXR向けで、軽量・高速を優先したい場合に利用します。

画像3

◎ URPの使い方
プロジェクト作成時に、「Universal Render Pipeline」を選択します。

画像2

◎ URPのシェーダー
「URP」で使うことができるマテリアルのシェーダーは、「URP」専用のもののみになります。「Build-in Render Pipeline」「HDRP」のシェーダーは利用できません。

「URP」の標準的なシェーダーは次の3つです。

・Lit : 物理ベースのシェーダー。
・Simple Lit : 非物理ベースのシェーダー。
・Baked Lit : 動的なライティングを行わないシェーダー。

従来のシェーダーをURPのシェーダーに変換する機能(Upgrade Project Materials to UniversalRP Materials)も存在します。

◎ URPのライティング
「URP」では、次のレンダリングパスを使用することができます。

・シングルパス・フォワードレンダリング オブジェクトごとにライティング計算を実行。「Build-in Render Pipeline」の「フォワードレンダリング」と比較して、描画コール回数が少ない。

ライティングの設定は、メニュー「Window → Rendering → Light Settings」で、「Sun Source」でメインライトを指定します。

◎ URPのポストプロセス
「ポストプロセス」は、画面に表示する前に、カメラの画像バッファにフィルタとエフェクトを適用する処理です。「URP」では、「Post Processing Stack V3」でポストプロセスを設定します。

◎ URPのボリュームフレームワーク
「ボリュームフレームワーク」は、効果範囲を設定する仕組みです。「URP」では、「ポストプロセス」のみ「ボリュームフレームワーク」で指定します。

◎ 2Dのライティング
「URP」では、「2Dのライティング」を使用することができます。「Build-in Render Pipeline」「HDRP」では使用できない、「URP」の独自機能になります。

4. High Definition Render Pipeline(HDRP)

高品質なレンダーパイプラインです。コンシューマ機やハイエンドPC向けで、フォトリアルな表現が必要な時に利用します。

画像5

◎ HDRPの使い方
プロジェクト作成時に、「High Definition RP」を選択します。

画像4


◎ HDRPのシェーダー
HDRPで使うことができるシェーダーは、「HDRP」専用のもののみです。「Build-in Render Pipeline」「URP」のシェーダーは利用できません。

「HDRP」の標準的なシェーダーは次の3つです。

・Lit ; 物理ベースのシェーダー。
・Layerd Lit : Litを最大4つまで重ねて利用するシェーダー。
・Lit Tessellation : GPUテッセレーションを加えるシェーダー。

「Lit」は「URP」のものと同じ名前ですが、表現力が大幅に上がっています。

◎ HDRPのライティング
「HDRP」では、次の2つのレンダリングパスを使用することができます。

・フォワードレンダリング : オブジェクトごとにライティング計算を実行。
・ディファードレンダリング : 
スクリーン上の必要なピクセルのみにライティング計算を実行。

◎ HDRPのポストプロセス
「HDRP」でも、「Post Processing Stack V3」でポストプロセスを設定します。

◎ HDRPのボリュームフレームワーク
「HDRP」では、「ポストプロセス」「フォグ」「影」「スカイ」「ライティング」を「ボリュームフレームワーク」で指定します。

◎ HDRPのレイトレーシング
「HDRP」では、「レイトレーシング」を使用することができます。「Build-in Render Pipeline」「URP」では使用できない、「HDRP」の独自機能になります。ただし、「DXR」(DirectX Raytracing)に対応したハードウェアが必要になります。


この記事が気に入ったらサポートをしてみませんか?