MRが楽しい

MRやVRについて学習したことを書き残す

MRTKのシェーダをビルトインレンダラー環境からURP環境への変更に合わせてアップグレードする

本日は MRTK の小ネタ枠です。
MRTKのシェーダをビルトインレンダラー環境からURP環境への変更に合わせてアップグレードする手順を記事にします。

サンプルシーンの作成

初めにビルトインレンダラー環境で構築した MRTK のサンプルシーンを用意しました。
このシーンには MRTKStandardShader を反映したゲームオブジェクトを配置しています。

URP環境への変更

まず Unity プロジェクト自体をビルトインレンダラーの環境からURPの環境に変更します。
メニューから[Window -> Package Manager]を開きます。

[Packages: Unity Registry]から[Universal RP]を検索して[Install]を実行します。

Assets フォルダから右クリックで[Create -> Rendering -> Universal Render Pipeline -> Pipeline Asset]を担当する人を選択します。
これで URP のパイプラインアセットが生成されます。

メニューから[Edit -> Project Settings..]ダイアログを開き、[Graphics]タブを開きます。

[scriptable Render Pipeline Settings]の項目に作成したパイプラインアセットを設定してURP環境への変更は完了です。

MRTKのシェーダをアップグレード

Unity プロジェクトを URP 環境に変更すると MRTKStandardShader を反映したゲームオブジェクトが正常に表示されなくなります。
正常に表示するには MRTKStandardShader を URP に対応したシェーダにアップグレードする必要があります。

メニューから[Mixed Reality -> Toolkit -> Utilities -> Upgrade MRTK Standard Shader for Universal Render Pipeline]を実行することでシェーダをアップグレードできます。

シェーダの変更後は元に戻すことはできない旨のダイアログが表示されます。
[OK]を選択してアップグレードを実行します。

以下の通り MRTK のシェーダがアップグレードされ、URP 環境でも正常に表示されるようになりました。

参考ページ

docs.microsoft.com