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

公式サイト:

ユニバーサルレンダーパイプライン | 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]

マテリアルを 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 に対応した UnityShaderVariables | 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

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

参考:

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]

フォーラム

Universal Render Pipeline | Unity Forum [Official]

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

チュートリアル

Unity Scriptable Render Pipeline Tutotials | Catlike Coding

ドキュメント

Universal Render Pipeline | Unity Manual [Official]

Universal Render Pipeline Overview | 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

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

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

コメントを残す

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

Protected by reCAPTCHA