このページの例は、全画面レンダーパスレンダラー機能を使用してグレースケールのカスタムポストプロセスエフェクトを作成する方法を示しています。
全画面レンダーパスレンダラー機能の詳細については、全画面パスレンダラー機能のリファレンス を参照してください。
この例の前提条件は以下のとおりです。
Unity プロジェクトに URP パッケージがインストールされている。
Scriptable Render Pipeline Settings プロパティが URP アセットを参照している (Project Settings > Graphics > Scriptable Render Pipeline Settings)。
カスタムポストプロセスエフェクトを作成するには、全画面シェーダーグラフを作成する必要があります。
プロジェクトに新しいシェーダーグラフを作成します。これを行うには、Project ウィンドウで右クリックし、Create > Shader Graph > URP > Fullscreen Shader Graph を選択します。
URP Sample Buffer ノードを追加します。これを行うには、Shader Graph ウィンドウで右クリックして Create Node を選択します。次に、URP Sample Buffer を探して選択します。
URP Sample Buffer ノードの Source Buffer ドロップダウンメニューで、BlitSource を選択します。
Vector 3 ノードを追加します。
Dot Product ノードを追加します。
以下のようにノードを接続します。
| Node | 接続 |
|---|---|
| URP Sample Buffer | Output と Dot Product A |
| Vector 3 | Out と Dot Product B |
| ドット積 | Out と Fragment Base Color |
シェーダーグラフを保存します。
プロジェクトに新しいマテリアルを作成します。これを行うには、Project ウィンドウで右クリックし、Create > Material を選択します。
シェーダーグラフのシェーダーをマテリアルに適用します。これを行うには、Inspector でマテリアルを開き、Shader > Shader Graphs を選択し、前のステップで作成したシェーダーグラフを選択します。
互換性のあるシェーダーグラフとマテリアルを作成したら、全画面パスレンダラー機能でマテリアルを使用してカスタムポストプロセスエフェクトを作成できます。
プロジェクトのユニバーサルレンダラーを選択します。
Universal 3D テンプレートを使用してプロジェクトを作成した場合は、ユニバーサルレンダラーはプロジェクトフォルダー Assets > Settings にあります。
Inspector で、Add Renderer Feature をクリックし、Full Screen Pass Renderer Feature を選択します。レンダラー機能の追加の詳細については、Renderer Feature をレンダラーに追加する方法 を参照してください。
Pass Material フィールドを全画面シェーダーグラフと一緒に作成したマテリアルに設定します。
Injection Point を After Rendering Post Processing に設定します。
Requirements を Color に設定します。
これで、シーンビューとゲームビューの両方でエフェクトが見られるはずです。