MRが楽しい

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

MRTKでRender from cameraを利用してMixedRealityキャプチャとホログラムのズレを補正する

本日は MRTK の小ネタ枠です。
MRTKでRender from cameraを利用してMixedRealityキャプチャとホログラムのズレを補正する手順を記事にします。
f:id:bluebirdofoz:20201024223013j:plain

MixedRealityキャプチャとホログラムのズレ

MixedRealityキャプチャを使うと、アプリケーションのホログラムとカメラの写真を合成した画像を取得できます。
このとき、HoloLens のカメラに近いハンドメッシュなどの描画がズレてしまうことがあります。
これはアプリケーションが描画する視点の位置と、HoloLensに搭載されているカメラの位置が僅かに異なるためです。
f:id:bluebirdofoz:20201024223105j:plain

このズレを補正するのが、Render from Camera の機能です。
本機能を利用すると、キャプチャ時はカメラ位置からホログラムを描画するため、描画のズレが発生しなくなります。
microsoft.github.io

前提条件

Render from Cameraの機能は Unity2018.4.13f1 または、Unity2019.3f1 以降のバージョンでのみ利用可能です。

Render from Cameraの有効化

[MixedRealityToolkit]オブジェクトの[Inspector]ビューを開き、カメラ設定ロバイダーを変更します。
プロファイルを編集するため、デフォルトプロファイルを選択している場合は[Copy&Customize]で新規プロファイルを作成します。
f:id:bluebirdofoz:20201024223035j:plain

任意のプロファイル名を設定して[Clone]を実行します。
f:id:bluebirdofoz:20201024223123j:plain

プロファイルを新規作成したら[Camera]タブを開きます。
[CameraProfile]のプロファイルを[Clone]して新規プロファイルを作成します。
f:id:bluebirdofoz:20201024223135j:plain

任意のプロファイル名を設定して[Clone]を実行します。
f:id:bluebirdofoz:20201024223144j:plain

プロファイルを作成すると[Camera Settings Providers]が編集できるようになります。
[Windows Mixed Reality Camera Settings]のパネルを開き、[CameraSettingsProfile]のプロファイルを[Clone]して新規プロファイルを作成します。
f:id:bluebirdofoz:20201024223153j:plain

任意のプロファイル名を設定して[Clone]を実行します。
f:id:bluebirdofoz:20201024223208j:plain

これで[Render from PV Camera]の項目が編集できるようになります。
チェックを入れることで Render from Camera の機能が有効化されます。
f:id:bluebirdofoz:20201024223218j:plain

動作確認

後は HoloLens2 にアプリケーションをインストールして動作を確認します。
Render from Camera の機能を有効化していない場合と、有効化している場合を比較すると、ホログラムのズレが補正されていることが分かります。

・有効化していない場合
f:id:bluebirdofoz:20201024223229j:plain

・有効化している場合
f:id:bluebirdofoz:20201024223239j:plain

参考ページ

www.tattichan.work