【Unity】LWRPプロジェクトの作成とサンプルシーン
Unity2018.1 から LWRP (Lightweight Render Pipeline: 軽量レンダーパイプライン) が導入されました。LWRPはSRP(Scriptable Render Pipeline)の1つで、HDRP (High Definition Render Pipeline: 高画質レンダーパイプライン)に比べ軽量でモバイル向きだそうです。
SRPとはUnity がフレームをどのように描画するかをデベロッパーが C# で制御できるようにするものです。
まずは新規にLWRP用のプロジェクトを作成します。 なお、既存のプロジェクトをLWRPに適用させるのはテラシュールさんの記事がわかりやすかったです。
実行環境
Unity: 2018.3.4f1
LWRP: 4.1.0-preview
LWRPプロジェクトの作成
プロジェクトの新規作成で、Template に Lightweight RP (Preview) が増えているので選択します。ちなみに、LWRPはまだPreview版のようで、2019.1から本格的に使えるようになるようです。
プロジェクトを作成するとこんなサンプルシーンが開きます。
サンプルプロジェクトにはLWRP設定が3種類用意されています。Edit > Project Settings > Graphics の一番上の設定を切り替えれば変更できます。
LWRP-LowQuality | LWRP-MediumQuality | LWRP-HighQuality |
設定の違いは以下のようになっています。
LWRP-LowQuality | LWRP-MediumQuality | LWRP-HighQuality | |
HDR | OFF | ON | ON |
MSAA(Anti Aliasing) | Disabled | 2x | 4x |
Main Light - Shadow Resolution |
512 | 1024 | 1024 |
Additional Lights |
Disabled |
Per Pixel |
Per Pixel |
Additional Lights - Cast Shadows |
- |
OFF |
ON (1024) |
Shadows - Cascades |
No Cascades | Two Cascades | Four Cascades |
Shadows - Soft Shadows |
OFF | ON | ON |
左の絵はHDRがオフなのでスポットライトとブルームが反映されていないのと、真ん中の絵はAdditional LightsのCast Shadowsがオフなので右側にスポットライトの影が出てないのが大きな違いでしょうか。
なお、LWRPと通常のUnityビルドインパイプラインの違いは下記に記載があります。
注意点は、CEDEC2018の発表資料にある通り、
① CameraのCallbackが呼ばれない
Camera.OnRenderImageなどのCamera系のコールバックが呼ばれなくなります。
② Surface Shaderが使えない
vertex shader / fragment shader もしくは、2018.1からの新機能ShaderGraphでのShader記述に置き換える必要があります。
それ以外にも、
③ 現状のLWRPでは複数のカメラに対応していない。Unity2019.1で対応するかもしれないとのこと。
https://forum.unity.com/threads/glitching-with-multiple-cameras-lwrp.592477/
- Remove multi-camera support. LWRP and HDRP will not support multi-camera layered rendering.
つまり、UI用にMainCameraとは別のカメラを追加する、みたいなことは現状ではうまく動作しないと思われます。
④ LWRPは、通常のビルドインのUnityレンダリングやHDRPとは互換性がない。既存のプロジェクトにLWRPを適用するための一括変換コマンドもあるが、すべて正確に変換できるとは限らずアセットによっては手動で修正しなければいけないかもしれません。
Editor > Render Piepeline > Update Project Materials To Lightweight Materials
などがありそうです。そもそもLWRPはまだPreview版で仕様が変更される可能もあります。本格的な使用はUnity2019での正式版まで待った方がいいかもしれません。