しっぽを追いかけて

ぐるぐるしながら考えています

Unity と猫の話題が中心   掲載内容は個人の私見であり、所属組織の見解ではありません

Unity で MR 機器用に軽量レンダリングを有効にする

※ これは 2018/11/02 Unity 2018.3.0b8 時点の情報です

最新版では動作が異なる可能性がありますのでご注意ください

前回はボールの運動軌道を予測して描画しました

ただ、MR 機器はどちらかというと PC よりもスマホに代表されるようなモバイル機器に分類される程度の描画性能しかもっていないため、これまでの Unity のデフォルト設定だとちょっと負荷が大きいかもしれません

ということで今回は、Unity 2018.1 よりリリースされている軽量レンダリング、Lightweight Render Pipelineを有効にしてみたいと思います

blogs.unity3d.com

まずは UnityEditor の [Window] - [Package Manager] を選び、パッケージマネージャーのウィンドウを開きます

この Pakage Manager は Visual Studio の Nuget パッケージマネージャーと同じ発想のライブラリ管理機能です

左上のコンボボックスが「All packages」になっているのを確認し、表示される一覧の中から 「Core RP Library」「Lightweight RP」をそれぞれ選択、Install ボタンでインストールします

インストールが終わったら Project ビューの右クリックメニューから [Create] - [Rendering] - [Lightweight Render Pipeline Asset] を選択、名前もそのまま LightweightRenderPipelineAsset としました

この作成したアセットは、Settings パネルの中の Graphics を選んで一番上に表示される「Scriptable Render Pipeline Settings」にドラッグドロップで設定します

これで Lightweight Render Pipeline が有効になるのですが・・・

ボールも地面もエラー発生を表すショッキングピンクになってしまいました

これは Lightweight Render Pipeline に対応していない通常の Shader を利用してボールや地面を描画していたために起こっています

そこで、Project ビュー上で Ball, Direction, Floor, Simulation の各種マテリアルに対して対応する Shader を利用するように設定変更します

Ball, Floor のマテリアルは LightWeight Render Pipeline/Lit の Shader を選択し、光源の影響を受けるようにします

Direction, Simulation のマテリアルは LightWeight Render Pipeline/Unlit の Shader を選択し、光源の影響を受けないようにし、Surface Type に Transparent を指定することで背景部分を透過させます

Trail のマテリアルは LightWeight Render Pipeline/Particle/Unlit の Shader を選択し、光源の影響を受けないようにし、Rendering Mode に Addtive を指定することでボールの軌跡を他のものに上乗せして描画するようにします

これで Lightweight Render Pipeline の設定はおわりなので実行して試してみます

PC 上での動作なので描画が軽くなっているかどうかはわかりませんが、エラーにならずちゃんと描画されていますね