開発の早い段階で、プロジェクトに適切な Unity レンダーパイプライン を選択することが重要です。
異なるレンダーパイプラインは、異なる機能を持ちパフォーマンスも異なるため、異なるゲーム、アプリケーション、プラットフォームで適切に機能します。
プロジェクトのレンダーパイプラインの切り替えは、特にプロジェクトの開発がずっと進んでいる場合、非常に時間がかかる可能性があります。異なるレンダーパイプラインは、異なるシェーダーを使用するため、同じ機能を持たない場合があります。
表に、プロジェクトの開始時に適切なパイプラインを選択するのに役立つ、各種パイプラインの大まかな違いを示します。
注意ユニバーサルレンダーパイプライン (URP) と HD レンダーパイプライン (HDRP) は同時に使用できません。どちらもスクリプタブルレンダーパイプライン (SRP) を使用して構築されていますが、レンダーパスとライトモデルが異なっています。
| 機能 | ユニバーサルレンダーパイプライン (URP) | HD レンダーパイプライン (HDRP) | ビルトインレンダーパイプライン |
|---|---|---|---|
| ターゲットとする用途 | すべてのプラットフォーム、特に TBDR (タイルベースディファードレンダリング) プラットフォームと非テザリング VR プラットフォームで、レンダリングのスケーラビリティを必要とするプロジェクト。 レンダーパイプラインの拡張とカスタマイズが必要なプロジェクト。 2D および 3D プロジェクト。 |
ハイエンドプラットフォームで写実性と忠実度の高いレンダリングを必要とするプロジェクト 3D プロジェクト |
すべてのプラットフォームでレンダリングのスケーラビリティビリティを必要とするプロジェクト。 2D および 3D プロジェクト。 |
| プラットフォームのサポート | Unity がサポートするすべてのプラットフォームをサポート TBDR (タイルベースディファードレンダリング) プラットフォームと非テザリング VR プラットフォームの効率性を重視 |
デスクトップ、Xbox、PlayStation プラットフォームをサポート 非同期コンピュートシェーダーやレイトレーシング (ハードウェアがサポートしている場合) などの高度な GPU ハードウェア機能を効率的に使用することを重視 |
Unity がサポートするすべてのプラットフォームをサポート |
| ソースコードアクセス | 主に C# GitHub の URP ソースコード にパブリックアクセス。URP をベースにしてカスタムパイプラインを作成することも可能 ビルトインレンダーパイプラインよりもソースコードの読み取り、変更、拡張が容易 |
主に C# GitHub の HDRP ソースコード にパブリックアクセス。HDRP をベースにしてカスタムパイプラインを作成することも可能 ビルトインレンダーパイプラインよりもソースコードの読み取り、変更、拡張が容易 |
主に C++ ソースコードアクセスを購入 することによるプライベートアクセス |
| パイプラインの拡張 | パイプラインが提供する API と投入ポイント。または、公開されているソースコードを変更可能 ビルトインレンダーパイプラインよりも拡張が容易 |
パイプラインが提供する API と投入ポイント。または、公開されているソースコードを変更可能 ビルトインレンダーパイプラインよりも拡張は容易だが、HDRP は複雑で高度な機能を備えているため URP よりは難しい |
パイプラインが提供する API と投入ポイント |
| アーティストツールによるカスタマイズ |
Shader Graph。シェーディング、マテリアル、スクリーンスペースの効果をカスタマイズするために使用可能 ビルトインパーティクルシステム。ビジュアルエフェクトをカスタマイズするために使用可能。カスタマイズは制限あり VFX グラフ。これを使用して、一般的なパーティクルの単純な動作から、GPU で実行する複雑なシミュレーションまで、ビジュアルエフェクトを設計可能。 |
Shader Graph。シェーディング、マテリアル、スクリーンスペースの効果をカスタマイズするために使用可能 ビルトインパーティクルシステム。ビジュアルエフェクトをカスタマイズするために使用可能。カスタマイズは制限あり VFX グラフ。これを使用して、一般的なパーティクルの単純な動作から、GPU で実行する複雑なシミュレーションまで、ビジュアルエフェクトを設計可能。 |
Shader Graph。シェーディング、マテリアル、スクリーンスペースの効果をカスタマイズするために使用可能 Shader Graph は、既存機能のバグ修正を除いて、ビルトインレンダーパイプラインサポートの更新を受け取りません。 ビルトインパーティクルシステム。ビジュアルエフェクトをカスタマイズするために使用可能。カスタマイズは制限あり |
| ハンドコーディングされたシェーダーによるカスタマイズ | HLSL シェーダーと、カスタマイズ可能なソースコードの URP シェーダー | HLSL シェーダーと、カスタマイズ可能なソースコードの HDRP シェーダー HDRP シェーダーは複雑で高度な機能を備えているため、ハンドコーディングされたシェーダーは上級者ユーザーのみに推奨 |
HLSL シェーダーと サーフェスシェーダー |
| ライティング | リアルなライティングと様式化されたライティングの両方に対応した設計 基本的な PBR と、クリアコートなどの一部の高度な PBR セルシェーディングなどのカスタムライティングモデルのカスタマイズが容易 |
写実性と物理ライトユニットのビルトインサポートによる物理的に正確なライティングを重視 基本および高度な PBR。例えば、クリアコート、肌、髪、目、サブサーフェススキャタリング、水など 高度なスクリーンスペースとボリュメトリックエフェクト セルシェーディングなどのカスタムライティングモデルのカスタマイズが困難 |
リアルなライティングと様式化されたライティングの両方に対応した設計 基本的な物理ベースレンダリング (PBR) セルシェーディングなどのカスタムライティングモデルのカスタマイズが容易 |
| Performance |
静的バッチ処理 と 動的バッチ処理 をサポート スクリプタブルレンダーパイプライン (SRP) バッチャー による高度なドローコールバッチ処理 BatchRenderer Group API と Entities に互換性がある |
静的バッチ処理 をサポート スクリプタブルレンダーパイプライン (SRP) バッチャー による高度なドローコールバッチ処理 BatchRenderer Group API と Entities に互換性がある |
静的バッチ処理 と 動的バッチ処理 をサポート |
プロジェクトに適切なパイプラインの選択に役立てるために、パイプラインと機能の互換性の詳細について、レンダーパイプラインの機能の比較 を参照してください。