本日はMRTK Examples調査枠です。
HoloLensの開発ツールであるMRTKにはMRTKの機能をまとめたデモ集Examplesが提供されています。
MRTKに実装されている機能や実装などを学ぶことができます。
今回はHandCoachExampleを見ていきます。
〇HandCoachExample
MRTK v.2.4ではHandCoachExampleはMRTK/Examples/Experimental/HandCoachExample/Scenesにあります。
2020年9月現在HandCoachExamplesはExperimenatal(実験的機能)として実装されています。
〇シーン概要
シーンには8つのオブジェクトとそれに対応する手のオブジェクトが配置されています。
HandCoachExampleではHoloLensの操作に慣れていないユーザーに対してジェスチャーを伝える機能のデモシーンです。
シーンを実行すると8つそれぞれのオブジェクトの操作方法に関して手のオブジェクトとアニメーションで視覚的に教えてくれます。
〇Near Select
Near Selectはオブジェクトに触るtouchの動作を覚えることができます。
〇AirTap
ハンドオブジェクトがAirTapのアニメーションを行います。
ユーザーは手のオブジェクトに重ねるように手を向けて動作を真似することでジェスチャーを覚えることができます。
〇Move
オブジェクトを動かすジェスチャーを伝えるアニメーションです。
コップのオブジェクトをつかんで動かすようにアニメーションが動きます。
〇Rotate
BoundingBoxがアタッチされているオブジェクトを回転させるアニメーションです。
オブジェクトのBoundingBoxのハンドルをつかみ、動かしています。
〇Scale
BoundingBoxがアタッチされているオブジェクトを拡大するアニメーションです。
BoundingBoxのハンドルをつかんで拡大する動きを教えます。
〇Scroll
HoloLens 2のジェスチャーで初心者にとってオブジェクトとの距離感をつかむことが難易度が高いため、筆者の個人的に一番使用したいCoachです。
オブジェクトを押さない程度に触れ、上下にスワイプします。
〇HandFlip
手のひらを反すアニメーションを行います。
これはHandMenu等を説明する場合有効的です。
〇PlamUp
HandFlipと似ていますが、手のひらを反す動作がありません。
PlayGroundの鳥のデモなど手のひらを使う動作を覚えることができます。
〇HandCoach
HandCoachExampleの[SceneContent]の子オブジェクトには上記の各捜査対象のオブジェクトの子オブジェクトとして[StaticHandCoachRoot_R]があり、このオブジェクトが手のモデルになります。
[StaticHandCoachRoot_R]オブジェクトには子オブジェクトとして[InteractionHint_R]、さらに子オブジェクトとして[HandRig_R]、さらに深い階層に骨に当たる[MainR_JNT]とメッシュに当たる[MeshR]があります。
[MeshR]には[Teaching_Hand2]というマテリアルがアタッチされており、このマテリアルが手の見た目の設定に相当します。
また、[Teaching_Hand2]マテリアルには[Teaching_Hand2]という独自のShaderがアタッチされています。
このShaderに関しても次回以降調査してみます。
[HandRig_R]にアニメーターが設定されています。
このアニメーターには[HandCoach_R_Animator]がアタッチされており、ここに各操作のアニメーションが格納されています。
親オブジェクトの[InteractionHint_R]オブジェクトには[HandInteractionHint]コンポーネントがアタッチされており、この[AnimationState]で再生する動きを選択しています。
以上がHandCoachExampleの第一回でした。
HandTrackingは一度理解できれば現実のものと対話するように操作できますが、初めてHoloLensを体験するユーザーにとっては難しいものもあります。
このような機能は初心者のユーザーを想定して何らかの仕組みで現れるようにすることでよりストレスなくHoloLensの体験ができるでしょう。