シェーダー: 頂点とフラグメントプログラム


The Scriptable Render Pipeline (SRP) is an alternative to the Unity built-in render pipeline. With the SRP, you can control and tailor rendering via C# scripts. This way, you can either slightly modify or completely build and customize the render pipeline to your needs.

SRP は、従来のビルトインレンダーパイプラインよりも細かくカスタマイズできるオプションを提供します。 また、事前に構築済みの SRP の 1 つを使用して、ニーズに特化して対応します。

Using an SRP is different from using the built-in Unity render pipeline. For example, the pre-built SRPs come with a new Shader library. This is because the Lit shaders from the built-in render pipeline, and custom Lit shaders, do not work with SRPs. You can upgrade the built-in Lit shaders to both LWRP and HDRP.

Note: This is a preview feature and is subject to change. Any scripts that use this feature may need updating in a future release. Do not rely on this feature for full-scale production until it is no longer in preview.

Pre-built SRPs

Unity は、高画質レンダーパイプライン (High Definition Render Pipeline、HDRP) と 軽量レンダーパイプライン (Lightweight Definition Render Pipeline、LWRP) の 2 つの SRP フレームワークを使用するスクリプタブルレンダーパイプラインを構築しました。各レンダーパイプラインは、ユースケースシナリオとハードウェアによる特定の組み合わせを対象としています。構築済みレンダーパイプラインは、新しいプロジェクトのテンプレートとして利用できます。

Both of these render pipelines are delivered as packages via the Package Manager window in Unity. They both include the Shader Graph and Post-processing packages.

Note: LWRP and HDRP are not compatible with each other, and neither is compatible with the built-in Render Pipeline. Before you start development, you must decide which render pipeline to use in your Project.

High Definition Render Pipeline

HDRP は、コンソールや PC のようなハイエンドハードウェアをターゲットとしています。HDRP を利用すると、高レベルを求められるシナリオで現実的なグラフィックスを作成することができます。HDRP はコンピュートシェーダー技術を使用するため、互換性のある GPU ハードウェアが必要です。

HDRP は、AAA 品質のゲーム、自動車のデモ、建築用アプリケーション、その他、パフォーマンスよりも忠実度の高いグラフィックスを求められるものに適しています。HDRP は物理ベースのライティングとマテリアルを使用し、フォワードレンダリングとディファードレンダリングの両方をサポートします。

HDRP は 1 つのテンプレートで提供されます。

HDRP に関して詳細は、SRP GitHub Wiki の HDRP overview を参照してください。

Lightweight Render Pipeline

LWRP は、さまざまなレベルのハードウェアで使用できます。 このテクノロジーはモバイルプラットフォームにスケール可能で、ハイエンドのコンソールや PC にも使用できます。LWRP を利用すると、高速でのレンダリングを高品質で行うことが可能です。LWRP は、単純化された物理的なライティングとマテリアルを使用します。

LWRP は、シングルパスフォワードレンダリングを使用します。このパイプラインを使用すると、複数のプラットフォームでリアルタイムのパフォーマンスを最適化できます。

LWRP は、LWRP と LWRP-VR という 2 つのテンプレートで利用できます。LWRP-VR には、VR 専用の事前に使用可能に用意された設定が付属しています。

Note: Built-in and custom Lit Shaders do not work with the Lightweight Render Pipeline. Instead, LWRP has a new set of standard Shaders. If you upgrade a current Project to LWRP, you can upgrade built-in Shaders to the new ones.

To see the latest documentation for LWRP, go to Package Manager in Unity, navigate to the Lightweight Render Pipeline package, and click View Documentation.

Setting up a Scriptable Render Pipeline

SRP、HDRP、LWRP をインストールするには、いく通りかの方法があります。新規、または作業中のプロジェクトで構築済み SRP を使用したい場合は、このセクションを読み進んでください。Unity に熟練していて、直接 SRP スクリプトを変更したいユーザーは、カスタム SRP の作成 を参照してください。

Using a pre-built SRP with a new Project

新規プロジェクトで、レンダーパイプラインをカスタマイズせずに HDRP または LWRP を使う場合、テンプレート を利用して新規のプロジェクトを作成できます。


  1. Unity を起動します。ホームページで New をクリックして新規プロジェクトを開始します。
  2. Template でレンダーパイプラインの 1 つを選択します。
  3. Create Project をクリックします。Unity は選択したビルトインパイプラインのすべての機能を含め、自動的に新規プロジェクトを作成します。

テンプレートの使用に関する詳細は、プロジェクトテンプレート を参照してください。

Installing the latest SRP into an existing Project

HDRP、LWRP、SRP の最新バージョンは、Package Manager システム 経由で既存のプロジェクトにダウンロードしてインストールすることができます。

既存のプロジェクトから SRP に切り替えると、多くの時間とリソースが消費されます。HDRP、LWRP、カスタム SRP はすべて、カスタムシェーダーを使用するため、ビルトインの Unity シェーダーと互換性がありません。手動で多くの要素を変更または変換する必要があります。代わりに、使用したい SRP を選択して新規プロジェクトを開始することを検討してください。

SRP を既存のプロジェクトにインストールするには、以下の手順を行います。

  1. Unity でプロジェクトを開きます。
  2. Unity のメニューバーで Window > Package Manager を選択し、Package Manager ウィンドウを開きます。
  3. All をクリックします。すると、現在、実行中の Unity のバージョンで使用可能なパッケージのリストが表示されます。
  4. パッケージリストから使用したいレンダーパイプラインを選択します。ウィンドウの右上の Install をクリックします。これにより、レンダーパイプラインは、直接プロジェクトにインストールされます。

Configuring and using a pre-built render pipeline

Before you can use either of the pre-built render pipelines, you must create a Render Pipeline Asset and add it to your Project settings. The following sections explain how to create the SRP Asset and how to add it to an HDRP or LWRP.

Creating Scriptable Render Pipeline Assets

To properly use your chosen SRP, you must create a Scriptable Render Pipeline Asset.

The Scriptable Render Pipeline Asset controls the global rendering Quality settings of your Project and creates the rendering pipeline instance. The rendering pipeline instance contains intermediate resources and the render pipeline implementation.



  1. エディター内で Project ウィンドウに移動し、Scriptable Render Pipeline フォルダーの外のディレクトリに移動します。
  2. Project ウィンドウ内で右クリックし、Create > Render Pipeline の順に選択します。
  3. ニーズに合わせて High DefinitionLightweight のいずれかを選択します。Render Pipeline/Pipeline Asset をクリックします。

Note: HDRP and LWRP are not compatible with each other, because they use different lighting models. Your Project must use one or the other. You can, however, use different Assets with the same render pipeline. This means that you can test different settings using different Assets by swapping between them, instead of changing individual settings.

Configuring and using HDRP

HDRP を使用するには、プロジェクトの PlayerGraphics の設定を以下のように変更します。

  1. In the Editor, go to Edit > Project Settings, then select the Player category. Select Linear from the Color Space dropdown menu. HDRP does not support Gamma lighting.
  2. Project ウィンドウで、Scriptable Render Pipeline フォルダーの外のディレクトリに移動します。
  3. Project ウィンドウ内で右クリックし、 Create > Render Pipeline > High Definition > Render Pipeline の順に選択します。
  4. Navigate to Edit > Project Settings, then select the Graphics category.
  5. Scriptable Render Pipeline Settings フィールドで以前作成した High Definition Render Pipeline Asset を加えます。

ヒント: High Definition Render Pipeline Asset は常に Scriptable Render Pipeline フォルダーの外に保存します。こうすることによって、SRP GitHub リポジトリから新しい変更をマージする際に HDRP 設定を失わずに済みます。

Configuring and using LWRP

LWRP を使用するには、プロジェクトの Graphics 設定を以下のように変更します。

  1. Project ウィンドウで、Scriptable Render Pipeline フォルダーの外のディレクトリに移動します。
  2. Project ウィンドウ内で右クリックし、Create > Render Pipeline > Lightweight > Pipeline Asset の順に選択します。
  3. Navigate to Edit > Project Settings, then select the Graphics category.
  4. In the Render Pipeline Settings field, add the Lightweight Render Pipeline Asset you created earlier.

Tip: Always store your new Lightweight Render Pipeline Asset outside of the Scriptable Render Pipeline folder. This ensures that your Lightweight settings are not lost when merging new changes from the SRP GitHub repository.

カスタム SRP の作成

SRP は GitHub のオープンプロジェクトで利用可能です。SRP を複製を作成しローカルのものを変更できます。

新規、または既存の Unity プロジェクトのローカルのスクリプトファイルを設定するには以下の手順で行います。

  1. SRP リポジトリの複製を作成します。Project ディレクトリのルートで Assets フォルダーのとなりに複製を置きます。リポジトリの複製に関する情報は GitHub Help の Cloning a repository を参照してください。

  2. Unity のバージョンと一致するブランチをチェックアウトします。git checkout コマンドを使用し、ブランチ名をタイプします。

  3. git submodule update --init コマンドを使用して、SRP に関連するすべてのサブモジュールを見つけて初期化します。

  4. プロジェクトマニフェストで、dependencies を更新すると、SRP パッケージを指します。 プロジェクトマニフェストに関して詳しくは Package Manager ドキュメント を参照してください。以下はスクリプトの 1 例です。

       "dependencies": {
           "com.unity.postprocessing": "file:../ScriptableRenderPipeline/com.unity.postprocessing",
           "com.unity.render-pipelines.core": "file:../ScriptableRenderPipeline/com.unity.render-pipelines.core",
           "com.unity.shadergraph": "file:../ScriptableRenderPipeline/com.unity.shadergraph",
           "com.unity.render-pipelines.lightweight": "file:../ScriptableRenderPipeline/com.unity.render-pipelines.lightweight"
  5. Unity でプロジェクトを開きます。パッケージはローカルにインストールされています。統合された開発環境で Project Solution を開くと、スクリプトを直接デバッグし修正することができます。

  • 2018–12–12 編集レビュー を行って修正されたページ

  • Preview of Scriptable Render Pipeline added in 2018.1 NewIn20181

シェーダー: 頂点とフラグメントプログラム