本日はHoloLens 2のHandMenuに関するトラブルシューティングになります。
〇HandMenuとは?
手に沿って追随するUIです。
ユーザーがどのような位置や状況にあってもユーザー自身の手を基準に現れるため非常に使いやすいUIです。
〇発生している問題
HandMenuを使用しているプロジェクト(ここではMixedRealityToolkit Example HandMenuExamplesを使用)ARM64でデプロイした場合HoloLens 2実機でHandMenuが表示されない or 最初の一度のみ表示される。
どちらの場合もEditor上では正常にHandMenuが機能していますが実機で動かなくなります。
〇発生環境
・Unity2019.3.9f1
・MRTK v2.5
・VisualStudio2019(16.7.7)
〇原因
VisualStudio側にバグがあり
こちらの問題はすでにイシューが上がっており、VisualStudio2019の次期更新(16.8)で解消されるようです。
これによるとSolver.UpdateWorkingScaleToGoalまたはUpdateWorkingPositionToGoalのコードを生成する際にIL2CPPでのコンパイルのバグが発生しているようです。
これによって手の検知がうまくできなくなっているようです。
〇解消法
この問題の解消法はいくつか存在します。
①ARM64ではなくARMでデプロイする
ARM64でデプロイ時にバグがあるためARMに変更することで正常に機能します。
②HandMenuの設定を変える。
HandMenuを行っている[HandConstraintPalmUp]コンポーネントの[Smmothing]のチェックボックスを無効化(デフォルトでは有効)することでこの問題が解消します。