Unityの既存プロジェクトにURPを導入する方法

UnityのレンダリングにURP(Universal Rendering Pipeline)を適用するとアプリが軽くなります。

元々LightWeightと言われていただけあって軽いです。

動作がカクツク可能性がある3Dモバイルゲームを作るときにはURPを使った方が良いです。

[toc]

URPとビルトインの比較

以下の3D脱出ゲームを作成し、URP適用前後で、FPSなどを比較してみました。

Unityの3Dゲーム。FPS比較用。

ビルトイン・パイプライン(Unityでプロジェクト作成時に「3D」を選択した時のもの)では、FPS:32.1、Batches:232, SetPassCall:100です。

URPを適用すると、FPS:59.9、Batches:114, SetPassCall:7になりました。

軽い!サクサク!!モバイルゲームに適しています。

URPの導入方法

パッケージマネージャからインストールします。

バージョン11ではリリースになっていますね。

The Universal Render Pipeline (URP) is a prebuilt Scriptable Render Pipeline, made by Unity. URP provides artist-friendly workflows that let you quickly and easily create optimized graphics across a range of platforms, from mobile to high-end consoles and PCs.

「URPはモバイルからハイエンドのプラットフォームで、最適化されたグラフィックを素早く簡単に作成するためのワークフローを提供します。」だそうです。

ちなみにURPは以下のアプリにも採用されているらしい。

世界初の家づくりアプリ「BOXWORLD」を正式リリース!〈プレスリリース配信〉

Asset内のフォルダで右クリック、Pipeline Asset(Forward Renderer)を作ります。

Editorで作ったアセットを指定します。

これでURPが適用できましたが、下記の画像の右上のように、1部のマテリアルがピンクになってしまいます。

Editorから以下のようにたどり、「Upgrade Project Materials To..」すると直りました。

中にはコンバートできてないマテリアルもあるみたいだけど、基本的なマテリアルであれば大丈夫。

参考URL

既存のUnityプロジェクトをUniversalRenderPipelineに移行する -サードインパクト修復-

 

ABOUTこの記事をかいた人

個人アプリ開発者。Python、Swift、Unityのことを発信します。月間2.5万PVブログ運営。 Twitter:@yamagablog