AnyPortrait > マニュアル > Universal Render Pipeline

Universal Render Pipeline


1.2.2

Universal Render Pipeline(URP)」は、Unity 2019.3から導入された新しいレンダリング方法です。
既存のLWRPを交換する「URP」は、より多くのプラットフォームとデバイスをサポートし2D、3D、VRとARなど、さまざまな種類のプロジェクトに適用することができます。
追加の説明については、以下のページを参照してて見ることをお勧めします。


- マテリアルライブラリ
- 「Shader Graph」でマテリアルを作成
- カスタムシェーダー
- About the Universal Render Pipeline Manual




Universal Render Pipeline設定しマテリアルを変更




Window > Package Manager」を実行します。
(メニューの位置や名前はUnityのバージョンに応じて差があることがあります。)




(1)Universal RP」パッケージを選択します。
リストにパッケージが見えない場合は、ロードに時間がかかりますので、少しアルゴされます。
(2)Installボタン」を押します。




URPパッケージがインストールされている場合、「Pipeline Asset」を作成し、レンダリングに適用する必要があります。
Assetsフォルダ内の右クリックをするか、Assetsメニューを選択して、「Create > Rendering > Universal Render Pipeline > Pipeline Asset(Forward Renderer)」を追加します。




UniversalRenderPipelineAsset」が作成されました。
また、URPのレンダリング方法を定義する「基本Rendererアセット」も一緒に生成されます。




生成された「URP Asset」をプロジェクトに適用してみましょう。
(2) エディタメニューの「Edit > Project Settings」を開いて、「Graphics」の項目を選択します。
(2)Scriptable Render Pipeline Settings」の項目に先立って生成された「UniversalRenderPipelineAsset」を割り当てます。
URP方法でレンダリングが有効になったので、おそらくほとんどのマテリアルが正常にレンダリングされていないことです。




URPをサポートしているマテリアルをインストールして適用してみましょう。
(1) AnyPortraitエディタを開いて、「Root Unit」を選択します。
(2)Material Libraryボタン」を押します。
(3) インストールするパッケージを選択します。ここでは「URP Presets」パッケージを選択します。
(4)URP Presets」が選択された状態で、「Unpack Presetボタン」を押します。




패키지가 설치되면 재질 라이브러리를 다시 실행해야합니다.
パッケージがインストールされると、マテリアルライブラリを再実行する必要があります。
확인 버튼을 누르고 Material Library 버튼을 눌러서 다시 엽니다.
「OKボタン」を押して、「Material Libraryボタン」を押して再度開きます。




URPをサポートする3種のプリセットが追加されました。
- URP Unlit : URP環境での光の影響を受けずに、元の色が表示されます。
- URP Lit : URP環境での光の影響を受けます。
- URP 2D Lit : 2D Rendererが適用されたURP環境で2D Lightの影響を受けます。




追加されたプリセットを使用して、マテリアルセットを作ってみましょう。
(1)Make Material Setボタン」を押します。
(2) URPプリセットのいずれかを選択します。ここでは「URP Unlit」プリセットを選択しました。
(3)Selectボタン」を押します。




(1) 生成された「URP Unlit」マテリアルセットを選択します。
(2)Default Materialボタン」を押して、デフォルト値に設定します。




LWRPとURPの「クリッピングマスク」をレンダリングする方法が異なりますので、Bake設定で追加の作業をする必要があります。
(1)Bakeボタン」を押します。
(2)Settingタブ」を選択します。
(3)Render Pipeline」の項目の値を「Scriptable Render Pipeline」に変更します。




(1)Bakeタブ」を選択します。
(2)Bakeボタン」を押します。




ユニティシーンでキャラクターを確認してみると、URP環境で正常に表示されるのを見ることができます。




URP Litマテリアルを適用


「URP Lit」マテリアルを適用して、光の影響を受けるようにすることができます。




マテリアルライブラリを開きます。
(1)Make Material Setボタン」を押します。
(2)URP Lit」プリセットを選択して (3)Selectボタン」を押します。




(1) 生成された「URP Lit」マテリアルセットを選択します。
(2)Default Materialボタン」を押してデフォルト値に設定します。
すべての作業が終了したら、マテリアルライブラリを閉じます。




Bakeを実行して、ユニティシーンで確認してみましょう。




Unlitマテリアルが適用されたのとは異なり、上の画像のように多少暗くしたり、あるいはまったく黒キャラクターが出力されます。
Litマテリアルは、光がなければ暗くなるからです。




様々な種類のLightオブジェクトを追加してみましょう。




ゲームを実行すると、光が適用されたキャラクターを見ることができます。




2D Rendererが適用されたURPでレンダリングする


URPはLWRP 2Dの機能が含まれてする方式です。
簡単に「2D Renderer」を適用して2D Lightを利用するレンダリング方法で切り替えることが可能です。




2D Rendererアセットを作成します。
AssetsメニューやAssetsフォルダで右クリックをして、
Create > Rendering > Universal Renderer Pipeline > 2D Renderer(Experimental)」を選択します。




新しい「2D Rendererアセット(New 2D Renderer Data)」が作成されました。




(1) 先に作成された「UniversalRenderPipelineAsset」を選択します。
(2)Renderer List」の項目に「2D Renderer(New 2D Renderer Data)」を割り当てます。
(3) 2D Rendererのためのマテリアルがまだ適用される前なので、ユニティシーンではまだ光が適用されません。
URP 2Dのためのマテリアルを作成しましょう。




上記の方法とほぼ同じです。
(1) マテリアルライブラリを開き、「Make Material Setボタン」を押します。
(2) 今回は「URP 2D Lit」プリセットを選択して (3)Selectボタン」を押します。




(1) 生成された「URP 2D Lit」マテリアルセットを選択し、 (2)Default Materialボタン」を押してデフォルト値に設定します。




Bakeを実行して、ユニティシーンで確認してみましょう。




Litマテリアルを使用したので、光のないシーンでは、キャラクターが暗く表示されます。
現在、基本的なLightオブジェクトが配置された状態であるが、2D Rendererに合った別のLightオブジェクトが必要です。




2D Lightオブジェクトを追加します。
Light > 2D」のカテゴリーに2D Rendererでサポートされている種類の「2D Light」があります。




2D Lightを配置します。




URP 2D環境でキャラクターが明るく表示されるのを見ることができます。




URPをサポートするShader Graphアセット




マテリアルライブラリからURP Presetsパッケージをインストールすれば、上記のようにURPのアセットが追加されます。
(Assets > AnyPortrait > Assets > Shaders > Advancedフォルダ)
このアセットは、Shader Graphで作成されました。




このアセットを開くと、Shader Graphの内容を見ることができます。
プリセットとして提供されているマテリアルは、基本的なライティングだけを実行します。
このアセットに基づいてShader Graphを作成して、様々なレンダリング手法を適用してみてください。