こちらから内容を抜粋しています speakerdeck.com
Mixed Reality Capture (MRC) では、アプリのカメラ描画と実際のカメラの描画の合成を行いますが、近傍のハンドメッシュの描画がずれてしまいます。 これを補正し、ハンドメッシュを正しく手の位置に重ねてくれる機能が、Render from Camera です。
どういうことかと言うと、以下の画像の通りです。
パフォーマンス上ハンドメッシュは出さない方がいいのですが、ハンドメッシュがないとオクルージョンしないため、物体との奥行き感が分かりづらいです。 あと単純にハンドメッシュ出していると映えるというのもあります。しかし、このようにずれてしまうといらない誤解を生みかねないため、重ねてあげるのがいいでしょう。
Render from Camera を適応する
使い方は、Render from the PV camera にまとまっています。 github.com
Device Portal には、チェックボックスが設けられておりますが、分かりづらいことに このチェックボックスだけでは動作しません。
アプリケーション内で以下のコードを実行する必要があります。
var display = Windows.Graphics.Holographic.HolographicDisplay.GetDefault(); var view = display.TryGetViewConfiguration(Windows.Graphics.Holographic.HolographicViewConfigurationKind.PhotoVideoCamera); if (view != null) { view.IsEnabled = true; }
注) オリジナルのドキュメントでは,HolographicViewConfiguration となっているが存在しないAPI。代わりに HolographicViewConfigurationKind を使う。
MRTK から使う
次期リリース予定の、MRTK 2.2 には、この機能が提供されるようになります。
DefaultWindowsMixedRealityCameraSettingsProfileからRender from camera が有効化できるようになっています。
Unityバージョンの注意
キャプションに書いてある通り、この機能は、Unity2018.4.13f1 または、Unity2019.3f1から有効となります。