ユニバーサルレンダーパイプライン

公式サイト:

ユニバーサルレンダーパイプライン | Unity マニュアル [公式]

概要

参考:

Unity の Universal Render Pipeline のレンダリング周りについて勉強してみた | 凹みTips

軽量レンダーパイプラインからユニバーサルレンダーパイプラインへ | Unity Blog [公式]

スクリプタブルレンダーパイプラインについて、Unity でこれから起きること | Unity Japan

機能/互換性

参考:

Feature Comparison Table | Universal RP 13.1 Manual [Official]

導入

参考:

URP の概要 & 導入方法 | くろくまそふと

URP を導入する | Inside the Black box

Universal Render Pipeline (URP) とは?概念の説明/セットアップ | LIGHT11

HDRP と URP 調べた | トマシープが学ぶ

Unity の Universal Render Pipeline のレンダリング周りについて勉強してみた | 凹みTips

実践、URP でシェーダー書いてみる SimpleLit に Rim ライティングを付加 | まさかみブログ

URP 対応のシェーダを書いて、軽やかで色鮮やかな世界を作る方法 | Alto-tascal

手を動かして学ぶ Unity Universal Render Pipeline | WonderPlanet Developers’ Blog

Universal Render Pipeline アセット

v7.x
  • 一般 (General)
    • レンダラーリスト (Renderer List)
    • デプステクスチャ (Depth Texture/デフォルト無効)
    • 不透明テクスチャ (Opaque Texture/デフォルト無効)
      • ダウンサンプリング (Downsampling)
        • なし (None)
        • 2× バイリニア (2x Bilinear/デフォルト)
        • 4× ボックス (4x Box)
        • 4× バイリニア (4x Bilinear)
    • テラインの穴 (デフォルト有効)
  • 品質 (Quality)
    • HDR (デフォルト無効)
    • アンチエイリアス (Anti Aliasing / MSAA)
      • 無効 / / / (デフォルト無効)
    • レンダースケール (Render Scale/デフォルト1.0)
  • ライティング (Lighting)
    • メインライト (Main Light)
      • 描画
        • 無効 (Disabled)
        • ピクセル毎 (Per Pixel)
      • 投影 (Cast Shadows/デフォルト有効)
      • シャドウ解像度 (Shadow Resolution)
        • 256 / 512 / 1024 / 2048 / 4096 (デフォルト2048)
    • 追加ライト (Additional Lights)
      • 描画
        • 無効 (Disabled)
        • 頂点毎 (Per Vertex)
        • ピクセル毎 (Per Pixel/デフォルト)
      • オブジェクト当たりの上限 (Per Object Limit/範囲08/デフォルト4)
      • 投影 (Cast Shadows/デフォルト無効)
      • シャドウ解像度 (Shadow Resolution)
        • 256 / 512 / 1024 / 2048 / 4096 (デフォルト512)
  • シャドウ (Shadows)
    • 距離 (Distance/デフォルト50)
    • カスケード (Cascades)
      • カスケードなし (No Cascades/デフォルト)
      • 2つのカスケード (Two Cascades)
      • 4つのカスケード (Four Cascades)
    • デプスバイアス (Depth Bias/デフォルト1.0)
    • 法線バイアス (Normal Bias/デフォルト1.0)
    • ソフトシャドウ (Soft Shadows/デフォルト無効)
  • ポストプロセス (Post-processing)
    • フィーチャーセット (Feature Set)
      • 統合 (Integrated/デフォルト)
      • Post Processing v2 (PPV2)
    • グレーディングモード (Grading Mode)
      • 標準ダイナミックレンジ (Low Dynamic Range/デフォルト)
      • ハイダイナミックレンジ (High Dynamic Range)
    • LUT サイズ (LUT Size/デフォルト32)
  • 上級者向け (Advanced)
    • SRP バッチャー (SRP Batcher/デフォルト有効)
    • 動的バッチ処理 (Dynamic Batching/デフォルト無効)
    • 混合ライティング (デフォルト有効)
    • デバッグレベル (Debug Level)
      • 無効 (Disabled/デフォルト)
      • プロファイリング (Profiling)
    • シェーダーバリアントログレベル (Shader Variant Log Level)
      • 無効 (Disabled/デフォルト)
      • URP シェーダーのみ (Only Universal RP Shaders)
      • 全てのシェーダー (All Shaders)

参考:

Universal Render Pipeline Asset | Universal RP 13.1 Manual [Official]

Scriptable Render Pipeline Settings | Unity マニュアル [公式]

シェーダー

参考:

Unity の Universal Render Pipeline のレンダリング周りについて勉強してみた | 凹みTips

ライティング

参考:

URP のライティング | npaka

ライトレイヤー (Light Layers)

参考:

Light Layers で特定のオブジェクトにだけ影響するライトを作る | LIGHT11

カメラ (Camera)

参考:

URP の Camera コンポーネントリファレンス | npaka

Cameras | Universal RP 10.2 Manual [Official]

Clearing, Rendering Order and Overdraw | Universal RP 10.2 Manual [Official]

ポストプロセス (Post Processing)

参考:

URP でポストプロセス (Post-Processing) を使う手順 | はなちるのマイノート

Universal Render Pipeline でポストエフェクトを適用する | LIGHT11

URP のポストプロセッシング | npaka

URP における Post Processing 項目 | Machio Kinniku’s diary

Post-processing in the Universal Render Pipeline | Universal RP 13.1 Manual [Official]

アンチエイリアス (Anti-aliasing)

参考:

Post-processing in the Universal Render Pipeline | Universal RP 7.1 [Official]

where is the anti-aliasing post processing effect on URP? – Unity Forum

レンズフレア (Lens Flare)

参考:

Question : where did nice bloom procedural flares went? · Issue #354 · Unity-Technologies/PostProcessing – GitHub

Lens flare not showing up in game window using Universal Render Pipeline URP (2019.3) – Unity Answers

モーションブラー (Motion Blur)

参考:

Motion Blur | Universal RP 13.1 Manual [Official]

アンビエントオクルージョン (Ambient Occlusion / SSAO)

参考:

URP 10 の新機能である SSAO を有効化してみる | 土屋つかさの技術ブログは今か無しか

Ambient Occlusion | Universal RP 14.0 Manual [公式]

デカール (Decal)

参考:

デカールを使ってオブジェクトにテクスチャを貼り付ける | LIGHT11

Decal Renderer Feature | Universal RP 14.0 Manual [公式]

マテリアルを URP に変換する

マテリアルを変換する手順

メニューから「編集 > Render Pipeline > Universal Render Pipeline」以下にある項目を選択して実行する。

  • Upgrade Project Materials to UniversalRP Materials
  • Upgrade Selected Materials to UniversalRP Materials
Render Pipeline Converter

※ URP 12.0 以降

  1. メニューから「ウィンドウ > レンダリング > Render Pipeline Converter」を選択して、「Render Pipeline Converter」ウィンドウを開く。
  2. 「Built-in to URP」を選択し、「Material Upgrade」にチェックを入れて「Initialize Converters」ボタンを押して変換処理を初期化する。
  3. 「Convert Assets」ボタンを押してマテリアルの変換を実行する。

参考:

URP 非対応のアセット/マテリアルを使用する場合のシェーダー設定や変換関連 – Qiita

Shader Graph とかパイプラインを変更して、ピンクになったときの修正方法 – Qiita

URP 12.0 以降のビルトインから URP へのマテリアルの変換方法 | TATIKUNLOG.

URP 12.0 からビルトインシェーダーから URP シェーダーへの変換方法が変わっている | デニッキ!

Render Pipeline Converter | Universal RP 12.0 Manual [Official]

Converting Your Shaders | Universal RP 13.1 Manual [Official]

プロジェクトを URP に変換したら、Default-Material の変換に対応できない – teratail

シェーダーを URP に対応させる

インクルードファイル
  • UnityCG.cginc の代わりに Core.hlsl をインクルードする。
HLSLPROGRAM
  • CGPROGRAM / ENDCG の代わりに HLSLPROGRAM / ENDHLSL を使用する。(推奨)

参考:

SRP Batcher に対応した Unity Shader Variables | Nyahoon Games Pte. Ltd.

Upgrading Your Shaders | Universal RP 10.2.x Manual [Official]

Can anyone give me a quick rundown of the basics of a handwritten URP shader vs In-built? | Unity Forum

Converting a Custom Shader to LWRP? | Unity Forum

How to use 3rd Party Shader with LWRP / URP | Unity Answers

ポストエフェクトを URP に対応させる

参考:

Built-in のポストエフェクトを URP に変更 | 知識 0 からの Unity Shader 勉強

URP 12.x のアプデで充実したレンダリング方式のオプション | ログミー Tech

ディファードレンダリング (Deferred Rendering)

こちらのページを参照

参考:

URP で Deferred Rendering の概要を学んでサクッと使う | LIGHT11

URP に新しく追加された Deferred レンダリングなどについてざっくりと調べてみた | 凹みTips

URP におけるディファードレンダリング | シェーダー Tips

URP のディファードレンダリングパス | Universal RP 14.0 Manual [公式]

SRP Batcher

参考:

SRP Batcher まとめ – Dynamic Baching や GPU インスタンシングとの違い/シェーダの書き方まで | LIGHT11

SRP Batcher に対応した UnityShaderVariables | Nyahoon Games Pte. Ltd.

SRP Batcherレンダリングをスピードアップ | Unity Blog [公式]

スクリプタブルレンダーパイプラインバッチャー | Unity マニュアル [公式]

How to make a Default Unlit Shader compatible? – Unity Forum

SpeedTree シェーダー

URP 版の制限
  • GI は適用されない。
  • マテリアルに対して影は投影されない。

参考:

SpeedTree Shaders | Universal RP 10.3 Manual [Official]

SpeedTree | Unity マニュアル [公式]

カメラ深度及び法線を取得する

参考:

URP を拡張して、Normal 描画パスを追加してみた – Qiita

GrabPass

参考:

URP プロジェクトで GrabPass を使用する | 夜風の MixedReality

GrabPass と同じようなことを URP でする方法 (Shader Graph) | てるおの創作物

URP で GrabPass っぽいことをやる 2D対応版 | ruccho

Feature Request: Built-In GrabPass (per object scene color) for URP | Unity Forum [Official]

The scriptable render pipeline how to support GrabPass? – Unity Forum

No GrabPass for 2D URP – Unity Forum

Porting unity-frosted-glass effect to LWRP – Unity Forum

Fullscreen blur with URP – Unity Forum

パフォーマンス/最適化

参考:

Universal Render Pipeline 環境でのシェーダー最適化対策 – Qiita

Rendering Debugger

※ Universal RP 12.1 以降

参考:

レンダリングをデバッグできる Rendering Debugger を触ってみる – Qiita

Rendering Debugger | Universal RP 13.1 Manual [Official]

既存のプロジェクトを URP へ移行する

手順
  1. メニューから「ウィンドウ > Package Manager」を選択して、「Package Manger」ウィンドウを開く。
  2. パッケージスコープを「Unity Registry」に切り替えて、「Universal RP」を検索して「Install」を実行する。
  3. メニューから「編集 > プロジェクト設定」 (Edit > Project Settings) を選択して、「プロジェクト設定」ウィンドウを開く。
  4. 「グラフィックス」 (Graphics) タブに切り替えて、「スクリプタブルレンダーパイプライン設定」 (Scriptable Render Pipeline Settings) で UniversalRP-HighQuality を設定する。
  5. メニューから「編集 > Render Pipeline > Universal Render Pipeline > Upgrade Project Materials to UniversalRP Materials」を実行して、既存のマテリアルを変換する。

動画:

Upgrading Your Existing Project to Universal Render Pipeline

参考:

Unity の LWRP 環境で Nature 系のマテリアルが真っピンクな状態を解決する方法 – Qiita

Universal Render Pipeline (URP) 乗り換えハマりポイントまとめ | fuqunaga

Initial Setup (URP) | Tom Stephenson

Installing the Universal Render Pipeline into an existing Project | Universal RP 13.1 Manual [Official]

Render Pipeline Converter | Universal RP 13.1 Manual [Official]

Converting Your Shaders | Universal RP 13.1 Manual [Official]

チュートリアル

Unity Scriptable Render Pipeline Tutotials | Catlike Coding

フォーラム

Universal Render Pipeline | Unity Forum [Official]

What is next for us at Unity with Scriptable Render Pipelines – Unity Forum

ドキュメント

Universal Render Pipeline | Unity Manual [Official]

Overview – Universal Render Pipeline | Universal RP 13.1 [Official]

チュートリアル

HDRP vs URP – Which Unity Template Should You Choose?

Evolving Game Graphics with the Universal Render Pipeline  (Unite Now 2020)

How the Universal Render Pipeline Unlocks Games for You

How to Make Glow Effect / Bloom

配信

URP 総点検!最近こんなの増えてました

Alto-tascal Unity Lib

リポジトリ:

tatsuya-koyama/Alto-tascal-Unity-Lib: あると助かる、Unity で使えるライブラリ – GitHub

Kawase Blur Renderer Extension

リポジトリ:

sebastianhein/urp_kawase_blur: URP Render Feature Test Project – GitHub

参考:

An investigation of fast real-time GPU-based image blur algorithms | Intel Software

Sharder Replacer

リポジトリ:

SakaITa/SharderReplacer.cs – Assets 内の全 Material の Shader を一括で置換する Unity Editor 拡張 – GitHub Gist

UI Blur Renderer Extension

リポジトリ:

ArneBezuijen/urp_kawase_UI_blur: URP Render Feature Test Project – GitHub

参考:

Fullscreen blur with URP – Unity Forum

Motion Blur (Fuji0k0)

リポジトリ:

yugofujioka/fMotionBlur: Motion Blur for Universal RP (as Same as PPSv2) – GitHub

URP GrabPass

リポジトリ:

Haruma-K/URPGrabPass: Replacement for GrabPass in Unity’s Universal Render Pipeline (URP) – GitHub

ドキュメント:

README-JA.md – Haruma-K/URPGrabPass – GitHub

参考:

URP プロジェクトで GrabPass を使用する | 夜風の MixedReality

記事をシェアする:
タグ:

コメントを残す

メールアドレスが公開されることはありません。

Protected by reCAPTCHA