Unity で MR 機器用に軽量レンダリングを有効にする
※ これは 2018/11/02 Unity 2018.3.0b8 時点の情報です
最新版では動作が異なる可能性がありますのでご注意ください
前回はボールの運動軌道を予測して描画しました
ただ、MR 機器はどちらかというと PC よりもスマホに代表されるようなモバイル機器に分類される程度の描画性能しかもっていないため、これまでの Unity のデフォルト設定だとちょっと負荷が大きいかもしれません
ということで今回は、Unity 2018.1 よりリリースされている軽量レンダリング、Lightweight Render Pipelineを有効にしてみたいと思います
まずは 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 上での動作なので描画が軽くなっているかどうかはわかりませんが、エラーにならずちゃんと描画されていますね