なんとUnity Hub の新規作成に「2D URP」がテンプレートに追加されているので2Dでライトを積極的に使っていきたい、みたいな人はこれを選べばそのまま URP の 2DRenderer が設定済みのプロジェクトが選べるようになっています。
この場合説明不要ですが、後から 2D でもライト使いたいケースだとプロジェクトに設定が必要なので Unity 2021.2 の URP(と 2DRenderer)の導入の仕方を紹介したいと思います。
確認環境
確認環境は以下の通りです。
- Unity 2021.2.0f1
- Universal RP 12.1
設定方法
パッケージを追加する
Window > Package Manager を開いて Unity Registry を選んで Universal RP を Instal します。
PiplelineAsset を作成する
プロジェクトの「+」ボタンからメニューを開いて以下の項目を選択します。
Rendering > URP Asset (with 2D Renderer)
「New Universal Render Pipeline Asset」と「New Universal Render Pipeline Asset_Renderer」の 2種類が作成されますが長ったらしいのでそれぞれ「URPAsset」と「URPAseet_2DRenderer」にリネームしておきます。
Project Setting の設定
Edit > Project Settings... を選択して Graphics の「Scriptable Render Pipeline Settings」に先ほど作成した「URPAsset」を設定します。
何かダイアログが出ますが「Continue」します。
同じく Project Settings... の Quality の Rendering > Render Pipeline Asset も同じように設定します。
同じようなダイアログが出ますが「Continue」します。
これで設定は以上です。
ライトが動作するか確認する
Hierarchy の「+」から Light > *** Light 2D という項目が表示されていたら設定は正常です。
シーン上に有効なライトが 1つも無い状態だとライト未設定の時と同じ状態に表示されてしまうため(以前は配置したスプライトが真っ黒になっていましたが)適当に「Spot Light 2D」を画面に配置します。
以下のように少し Outer を大きくして適当に画面にスプライトを配置します。
Scene上では以下のようになっています。
これを実行して Game ウインドウで確認すると以下の通りライトの影響を受けているのが確認できました。
Post Processingも確認する
この時点で Camera に特殊効果を付与できる Post Processing も URP 用のものが利用可能になっているので合わせて動作を確認します。
まず、Camera の Rendering > Post Processing をチェックします
次に任意のゲームオブジェクトに「Add Component」> Volume を選択します。
Volume コンポーネントは Add Override で新しい項目が追加できるのでボタンを押して、Prost-Processing > Vignette と Lens Distortion を選択しています。設定値は以下の画像の通りです。
Vignette は Intensity を少し大きくしないとチェックを入れただけでは何も起きません。
そうすると編集中の画面が以下のように変化するのでこれで Prost-Processing が有効なことが確認できました。
Post Process 毎の効果はネットで調べれば出てくると思うのでここでは説明しません。
ただ注意点として 2D のため 3Dを主眼にした効果、DOF(被写界深度)などはあんまりちゃんと機能しません。ほかにも機能しないのがいくつかあるようですが都度確認する必要があります。
以上です。