夜風のMixedReality

xRと出会って変わった人生と出会った技術を書き残すためのGeekなHoloRangerの居場所

HoloLens 2実機でHandMenuが表示されない問題の解消 

本日はHoloLens 2のHandMenuに関するトラブルシューティングになります。

〇HandMenuとは?

f:id:Holomoto-Sumire:20200908093228g:plain

手に沿って追随するUIです。

ユーザーがどのような位置や状況にあってもユーザー自身の手を基準に現れるため非常に使いやすいUIです。

〇発生している問題

HandMenuを使用しているプロジェクト(ここではMixedRealityToolkit Example HandMenuExamplesを使用)ARM64でデプロイした場合HoloLens 2実機でHandMenuが表示されない or 最初の一度のみ表示される。

どちらの場合もEditor上では正常にHandMenuが機能していますが実機で動かなくなります。

f:id:Holomoto-Sumire:20201029091556j:plain

https://youtu.be/zxdL4HVtrh4

〇発生環境

・Unity2019.3.9f1

・MRTK v2.5

・VisualStudio2019(16.7.7)

〇原因

 VisualStudio側にバグがあり

 こちらの問題はすでにイシューが上がっており、VisualStudio2019の次期更新(16.8)で解消されるようです。

f:id:Holomoto-Sumire:20201029090741j:plain
MRTKのリリースページより

github.com

 これによるとSolver.UpdateWorkingScaleToGoalまたはUpdateWorkingPositionToGoalのコードを生成する際にIL2CPPでのコンパイルのバグが発生しているようです。

 これによって手の検知がうまくできなくなっているようです。

〇解消法

この問題の解消法はいくつか存在します。

①ARM64ではなくARMでデプロイする

 ARM64でデプロイ時にバグがあるためARMに変更することで正常に機能します。

f:id:Holomoto-Sumire:20201029091359j:plain

②HandMenuの設定を変える。

HandMenuを行っている[HandConstraintPalmUp]コンポーネントの[Smmothing]のチェックボックスを無効化(デフォルトでは有効)することでこの問題が解消します。

f:id:Holomoto-Sumire:20201029091052j:plain