LoginSignup
14
8

More than 5 years have passed since last update.

Mixed Realirt Toolkit V2 RC1を読み解く(概要編)

Posted at

ついにRC1がでたMixed Reality Toolkit - Unity V2

HoloLens 2にも対応した各種機能を追加したMRTK V2のリリース候補版が公開されました。

追加された機能などなど概要から簡単にチェックしてみました。基本的には以下の内容をベースに内容を整理しています。

やはりHoloLens 2向けの機能が非常に興味深いですね。

開発環境

RC1版の開発環境は以下の通りです。Unityは2018.3系ですね。

  • Windows SDK 18362+
  • Unity 2018.3+(ソースはUnity 2018.3.9f1で作成されている)
  • Visual Studio 2017

機能について

大まかに以下の機能に分類され提供されています。★印が新機能です。
やはり、HoloLens 2向けの機能が気になるところなのでこの後調べてまた紹介したいと思います。

  • Input System
    入力系のイベントシステム
  • ★Articulated Hands + Gestures (HoloLens 2)
    全指ハンドトラッキング系機能(HoloLens 2向け)
  • ★Eye Tracking (HoloLens 2)
    アイトラッキング系(HoloLens 2向け)
  • Voice Commanding
    音声コマンド
  • Gaze + Select (HoloLens)
    ゲイズ+選択(HoloLens 向け)
  • Controller Visualization
    コントローラ表示(IHMD向け)
  • Teleportation
    テレポート機能(IHMD向け)
  • UI Controls
    便利なUI系機能(コントロール等)
  • Solver and Interactions
    Solverシステム
  • Spatial Understanding
    空間認識系機能
  • ★Diagnostic Tool
    診断系ツール(ログ等の情報)

提供されるUI系機能

UI系の機能は既存から強化されています。強化されている内容から見るとHoloLens 2との制御違いなどもわかる(想像ですけど)のでそのあたりも少し触れていきたいと思います。
ただし、HoloLens 2はあくまで想像の域を出ていないですが・・・

機能 概要 HoloLens IHMD HoloLens2
MRTK_Button_Main.png
Button
以前からあったタップすると反応するボタンですね。MTRK V2ではProfile 形式に代わっているので、押されるとメソッドを呼び出すUnity方式の処理になっています。HoloLens 2では直接押すという表現が可能になるため、そのための機能も搭載されています。ちなみにHoloLens 2のジェスチャーはHoloLensのそれと区別するためかMRTKでは"関節式"という表現が入ってます Gaze(顔を向ける)でボタンを選択してエアタップより処理する コントローラのポインターを充ててSelectボタンなどを押す 人差し指でボタンを直接押す(んだとおもいます)
MRTK_BoundingBox_Main.png
Bounding Box
以前からあったBounding Boxです。3Dオブジェクトの回転、拡大縮小する機能です Gazeで頂点や回転ポイントを選択、タップ&ホールドで調整 コントローラのポインターで頂点や回転ポイントを選択、Selectボタン等をHoldして調整 頂点や回転をつまんで調整
MRTK_Manipulation_Main.png
Manipulation Handler
マニピュレーション機能。操作開始時を原点に相対値ででオブジェクトを操作するための仕組み。以前はTwoHandManipulateととして提供されていた機能です。MRTK V2になってからかなり機能強化されており、例えばボールを投げて飛ばすなどの実装がパラメータ定義だけでできるようです(使用見る限り) タップ&ホールドで調整 Selectボタン等をHoldして調整 つまんで調整
MRTK_Slate_Main.png
Slate
いわゆる2Dアプリのウィンドウ形状のUIです。2Dアプリと同じ外観で右上に2ボタン、中央に1ボタンのメニューバーがあり、内部のコンテンツをスクロールで操作できるようになっています - - -
MRTK_SystemKeyboard_Main.png
System Keyboard
仮想キーボードです。何のキーが押されたかはイベントではなく、文字列情報として取得する形です。イメージとしては、HoloLensにもともと備わっているキーボードと同じシステムですね(たぶん)。キーボードの上に入力した文字がテキストボックスに出ているあれです。 - - -
InteractableExamples.png
Interactable
これも依然あったものですね3Dオブジェクトに対して何らかの効果(例えばフォーカスがあるとコーヒーに湯気がでる等々)をつけるための機能です。 - - -
MRTK_Solver_Main.png
Solver
これも以前からある機能ですね。利用者の状態から3Dオブジェクトの位置を決める際に使うための機能(tag-along,body-lock等) - - -
MRTK_ObjectCollection_Main.png
Object Collection
これも以前からあるオブジェクトを整列して並べるためのコレクションです。 - - -
MRTK_Tooltip_Main.png
Tooltip
これも以前からある注釈をつける機能です。 - - -
MRTK_AppBar_Main.png
App Bar
Bounding Boxとセットで使用する。ボタンコマンドを表示するためのBarです。 - - -
MRTK_Pointer_Main.png
Pointers
モーションコントローラや手の延長線上にでるポインターの機能です。HoloLensの場合はGazeなのでこの機能はありません。そしてHoloLens 2ではポインターが手首からでます。スパイダーマンですね。また、ポインターがオブジェクトにあたっているような状態であったりつかんでいる場合はそれがわかる形状に変化する機能も有しています。 - モーションコントローラの正面方向にでる。 手首の根元付近から手の正面方向に出る。
MRTK_FingertipVisualization_Main.png
Fingertip Visualization
HoloLens 2のみ。人差し指でオブジェクトを操作する際の可視化を行う機能です。オブジェクトとの距離間でUIが変化します。
別途ハンドトラッキングを調べているのでそこと合わせるとわかりやすいです。ハンドトラッキングは大きく3つのグループの情報を扱います。「関節」「人差し指」「手のひら」の3つです。このうち人差し指だけ特別扱いされていてボタンを押すなどするときにはこの人差し指が基準になっているようです。おそらく全指トラッキング可能ななど誤ってボタンを押さないように意図的に人差し指でメインにしていると思われます。
- - 人差し指で操作を行っている状態。
mrtk_et_targetselect.png
Eye Tracking: Target Selection
HoloLens 2のみ。視線によるオブジェクトの選択のための仕組みです。MRTK V1の頃からあるGazeのフォーカスイベントを考え方は同じです。視線でオブジェクトにフォーカスが合うとイベントが発生します - - 視線でオブジェクトを選択する
mrtk_et_navigation.png
Eye Tracking: Navigation
HoloLens 2のみ。視線によるオブジェクトの操作。中身を読み解いてる途中なので別途また資料は読み解くのですが、視線の動きでスクロールやオブジェクトの拡大縮小ができます。 - - 視線でオブジェクトを操作する
mrtk_et_heatmaps.png
Eye Tracking: Heat Map
HoloLens 2のみ。視線のヒートマップとれるらしいですが詳細情報がないのでどういうものかはわからないです。 - - ?

魅力的な機能が満載なMRTK V2

HoloLens 2が手元にない中MRTK V2の機能を読みとくとHoloLens 2のもつポテンシャルをなんとなーく理解できるのですごく興味深いです。
まずはHand TrackingとEye Trackingについてドキュメントやサンプルを動かしつつ中身を読み解いていきたいと思います。

14
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
8