本日はHoloLensの表現枠です。
現在3月中のリリースに向けてYubimoziHoloLensアプリを開発しています。
このアプリではハンドメニューを用いてキーボードの表示、設定などを行うためアプリ内でユーザーにハンドメニューの存在を伝える必要があります。
今回はHoloLensアプリでハンドメニューを使用している際に効果的にユーザーにハンドメニューでの操作を使わせるような仕組みを実装します。
〇HandMenu
ハンドメニューはMRTKで提供されているUIコンポーネントです。
ハンドメニューを使用することでアプリ内でユーザーの手に沿ってメニューが表示されます。
MixedRealityコンテンツではユーザーの物理現実情報にのっとってアプリケーションが実施されます。
これは例えば狭い部屋などでアプリを起動した場合UIが壁にめり込んでしまい、ユーザーから操作できないなどの現象が起こりうるということになります。
ハンドメニューを使用することでユーザーがどのような物理現実世界にいても必ずユーザーが操作できる場所にメニューを配置することができます。
〇ユーザーに分かりやすく使わせる。
一般的な配置型UIと異なりハンドメニューはユーザーの手の平を見ない限り表示されることがないため、特にHoloLens初めてのユーザーにとっては最初が非常にわかりにくいUIとなっています。
今回はアプリ起動時に「手のひらを見てください」とテキストが表示されハンドメニューが起動すると表示が消える仕組みを実装します。
「左手のひらを見てください。」というTextMeshProのオブジェクトを配置しました。
このテキストがハンドメニューが表示された場合非表示になるように設定します。
この設定はハンドメニューオブジェクトのインスペクターウィンドウからHandConstraintPalmUpコンポーネントのOnHandActivete()のイベントに関数を追加し、テキストを設定、SetActiveをFalseにします。
HandConstraintPalmUpコンポーネントは手の向きを検知して、メニューの表示を行うマネージャーを担っています。
OnHandActivete()イベントでは手の平が検知された際に発火されるイベントになります。ここにテキストを非表示するように設定することでユーザーが無事にハンドメニューを開くことができたらテキストが消えるように設定されました。
本日はHoloLensのハンドメニューを使用するうえでのUXに関しての記事でした。