Universal RP(URP)を2Dプロジェクトへ設定する方法

作成済みの 2Dプロジェクトへ Universal Render Pipeline (URP/Universal RP) を後から設定する手順をまとめました(とはいっても現状これしか設定の仕様がないので唯一の設定方法になります。

確認環境

確認環境は以下の通りです。

  • Unity 2019.3.11f1
  • Unity 2019.4.10f1
  • Universal RP 7.3.1
  • Windows 10 + VisualStudio 2019

2021.1 以降の人はこの記事の内容だと内容が古いので以下の記事を参照するようにしてください。

takap-tech.com

2Dプロジェクトを作成する

以下のようにプロジェクト作成画面で「2D」を選択しプロジェクトを作成します。

f:id:Takachan:20200428190256p:plain

Package ManagerからURPをインストーする

Window > Package Managerでパッケージマネージャーを開きます。

ウインドウの左側のリストから「Universal RP」を選択し「Install」します。

f:id:Takachan:20200428190611p:plain

少し時間がかかりますが完了するまで待ちます。完了するとリストにチェックが入ります。

f:id:Takachan:20200428190830p:plain

プロジェクトの設定

PipelineAssetの設定

プロジェクトの「+」ボタンからメニューを開いて以下の項目を選択します。

Rendering > Universal Render Pipeline > Pipeline Asset (Frward Render)

f:id:Takachan:20200428192337p:plain

以下の2つのアセットが作成されます。

  • UniversalRenderPipelineAsset
  • UniversalRenderPipelineAsset_Renderer

次に、Edit > Project Settings... でウインドウを開き Graphics の Scriptable Render Pipeline Setting に 先ほど作成した「UniversalRenderPipelineAsset」を指定します。

f:id:Takachan:20200428205403p:plain

次に、Project の「+」を選択し、Rendering > Universal Render Pipeline > 2D Renderer (Experimental) を選択します。

そうするとProject上に「New 2D Renderer Data」というアセットが作成されます。

f:id:Takachan:20200428210938p:plain

そして、生成したアセットを「UniversalRenderPipelineAsset」を選択しインスペクターから以下のように設定します。

f:id:Takachan:20200428211117p:plain

以上で準備は完了です。

2Dでライト機能が使用できるか確認する

ライト機能が使用できるようになっているか確認します。

Hierarchy から Light > 2D > *** Light 2D (Experimental)

という項目が表示されているか確認します。

f:id:Takachan:20200428210137p:plain

適当にスプライトを配置し、Point Light を配置するとシーンビュー上でライトの効果が発生していると思います。

f:id:Takachan:20200428211354p:plain

この時スプライトのマテリアルが、「Sprite-Lit-Default」となっているのですがこれがURP用のマテリアルになります。

これで2Dプロジェクトへのライトを導入することができました。

Transparency Sort Mode の指定方法

Universal RP でもY軸ソートできます。一応このフォーラムで言及があるのですが日本語が無いみたいなので紹介します。

よく2DでY軸で下にあるものがより手前に描画される設定があります。これはUnity上では

Project Settins > Graphics > Camera Setting

Transparency Sort Mode を「Derault」から「Custom Axis」へ変更し、Transparency Sort Axis をX=0, Y=1, Z=0 

に設定することでY軸の位置がより下にあるものが手前に表示されるようなります。ただ Universal RP の Render Pipeline Asset を Scriptable Render Pipeline Settns に設定した時点で項目が「A Scriptable Render Pipeline is in use, some settings will not be used and are hidden」(SRPが使われていて一部の設定が非表示になっているよ)と表示されてここから項目の指定ができなくなります。

f:id:Takachan:20200915225131p:plain
URP を設定すると Transparency Sort Mode が非表示になる

この設定、なくなったわけではなく、先ほどの手順で作成した「New 2D Renderer Data」に設定項目が移動しています。

New 2D Renderer Data のアセットを Project から選択して Inspector にプロパティを表示すると「Transparency Sort Mode」という項目があります。

この項目を「Default」から「Custom Axis」に変更すると設定前と同じように「Transparency Sort Mode」が表示されます。ここに先ほどと同じく「X=0, Y=0, Z=0」を指定すれば同じような動きになります。

f:id:Takachan:20200915225701p:plain
New 2D Renderer Data に Custom Axis の設定が移動している

以上です。