MRが楽しい

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

HoloLens2でホロモンアプリを作る その7(HeadLookController使用時の注意点)

本日はアプリ作成枠です。
HoloLens2でホロモンアプリを作る進捗を書き留めていきます。
f:id:bluebirdofoz:20210222231927j:plain

HeadLookController使用時の注意点に関するメモです。

HeadLookControllerの設定

HeadLookControllerの設定による視線追従の設定は以下の記事を参照ください。
bluebirdofoz.hatenablog.com

HeadLookControllerで元のアニメーションを上書きしないようにする

HeadLookController の[OverrideAnimation]の設定が ON の場合、指定ボーンのアニメーションが上書きされてしまいます。
f:id:bluebirdofoz:20210222231949j:plain

このため、[MaxBendingAngle]の値を[0]に設定した場合も上書きが発生してアニメーションが微妙に変わってしまいます。
以下は[OverrideAnimation]の設定を切り替えて同じアニメーションの同じタイミングをキャプチャしたものです。
・[OverrideAnimation]がON
f:id:bluebirdofoz:20210222232001j:plain
・[OverrideAnimation]がOFF
f:id:bluebirdofoz:20210222232010j:plain

微妙な差異ですが[OverrideAnimation]が ON では指定ボーンの角度が 0 度で固定されてしまうため、顔の回転が完全には行われていない事が分かります。
元のアニメーションの動きをそのまま表示したい場合は[OverrideAnimation]を OFF にし、かつ、[MaxBendingAngle]の値を[0]に設定されている必要があります。

問題点

ただし、この場合はアニメーションが上書きされないため、[MaxBendingAngle]の値を大きくしても視点の追従に元のアニメーションの動きが反映されてしまいます。
一方で[OverrideAnimation]をスクリプト上で切り替えり、コンポーネント自体の有効無効を切り替えた場合、顔の角度がスムーズに変化しません。
今回のアプリでは視線追従を行うアニメーションでは顔を大きく動かさないことで問題の回避を図ることとしました。