Version: 2020.2
スクリプタブルレンダーパイプラインの概要
Creating a Render Pipeline Asset and Render Pipeline Instance

カスタムのスクリプタブルレンダーパイプラインの作成

Unity は HD レンダーパイプライン (HDRP) とユニバーサルレンダーパイプライン (URP) の 2 つの作成されたスクリプタブルレンダーパイプライン (SRP) を提供します。HDRP と URP には、幅広いカスタマイズのオプションがあります。ただし、レンダリングパイプラインをさらに制御したい場合は、独自のカスタム製の SRP を作成できます。

新しいプロジェクトの作成とカスタム SRP に必要なパッケージのインストール

以下の手順は、SRP Core パッケージを使用してカスタム SRP を作成する方法を示しています。SRP Core は Unity によって作成されたパッケージで、独自の SRP の作成に役立つ再利用可能なコードが含まれています。これには、プラットフォーム特有のグラフィックス API、一般的なレンダリング操作のためのユーティリティ関数、URP と HDRP が使用するシェーダーライブラリを使用するための定型コードが含まれます。SRP Core の詳細は、SRP Core パッケージ の ドキュメントを参照してください。

  1. 新しい Unity プロジェクトを作成します。
  2. Git を使用してSRP ソースコードリポジトリのクローンを作成します。SRP ソースコードは、予約された Project サブフォルダーの 1 つでない限り、ディスク上の任意の場所に置くことができます](upm-ui-local.html#PkgLocation)。
  3. Git を使用して、SRP ソース コードのコピーを Unity エディターのバージョンと互換性のあるブランチに更新します。ブランチとバージョンに関する情報は、SRP リポジトリドキュメントの Using the latest version を参照してください。
  4. Open your Project in Unity, and install the following packages from the SRP source code folder on your disk, in the following order. For information on installing packages from disk, see Installing a package from a local folder.
    • com.unity.render-pipelines.core.
    • オプション: com.unity.render-pipelines.shadergraph シェーダーグラフを使用する場合や、カスタム SRP の一部としてシェーダーグラフのソースコードを変更する場合は、このパッケージをインストールしてください。
    • オプション: com.unity.render-pipelines.visualeffectgraph Visual Effect Graph を使用する場合や、SRP の一部として Visual Effect Graph ソースコードを変更する場合は、このパッケージをインストールしてください。

これで、SRP ソースコードのコピーのスクリプトにデバッグや変更を行い、変更の結果を Unity プロジェクトで確認できます。

URP または HDRP のカスタムバージョンの作成

URP と HDRP には、必要なグラフィックスとパフォーマンスを実現するための幅広いカスタマイズオプションがあります。ただし、さらに詳細な制御が必要な場合は、これらのレンダーパイプラインの 1 つをカスタムバージョンで作成し、ソース コードを変更できます。

上のセクションの手順 1–3 に従って、新しいプロジェクトを作成し、SRP に必要なパッケージをインストールします。ステップ 4 に達したら、以下のパッケージを以下の順序でインストールします。

URP

  • com.unity.render-pipelines.core
  • com.unity.render-pipelines.shadergraph
  • com.unity.render-pipelines.universal

HDRP

  • com.unity.render-pipelines.core
  • com.unity.render-pipelines.shadergraph
  • com.unity.render-pipelines.high-defintion
スクリプタブルレンダーパイプラインの概要
Creating a Render Pipeline Asset and Render Pipeline Instance