しっぽを追いかけて

ぐるぐるしながら考えています

Unity と猫の話題が中心   掲載内容は個人の私見であり、所属組織の見解ではありません

Unity + MRTK で入力を受けつける両手ジェスチャを制御する

※ これは 2018/01/08 Unity 2017.3.0f3、Mixed Reality Toolkit 2017.2.1.4 Patch Release 時点の情報です

最新版では動作が異なる可能性がありますのでご注意ください

新しい Mixed Reality Toolkit がプレリリースされました!

github.com

というわけで、今回は新しいバージョンの新機能の Two hand manipulable 、HoloLens の両手ジェスチャの制御を試してみたいと思います

必要環境は下記の通り

環境 必要条件
Unity 2017.2 以降(2017.2.1p2 が動作確認バージョンらしい)
Windows SDK 10.0.16299 以降
Visual Studio 2017 以降
Windows 10 Fall Creators Update 以降

まずは MRTK のリリースページにある unitypackage 2つをそれぞれダウンロードして Unity 上にインポートします

UnityEditor を開いたら [Mixed Reality Toolkit] - [Configure] - [Apply Mixed Reality Project Settings] のメニューだけ実行してプロジェクト設定を調整

次に Assets/HoloToolkit-Examples/Input/Scenes/TwoHandManipulationTest のサンプル実装のシーンを開いてみます

f:id:matatabi_ux:20180414183406p:plain

開いてみると5つの立体が並んでいて、どうやらどんなジェスチャを受け付けるか異なる設定がされている模様

f:id:matatabi_ux:20180414183526p:plain

そのうちの1つの立体を選択してみるとどうやら TwoHandManipulable.cs のスクリプトがアタッチされており、ここで設定するようですね

f:id:matatabi_ux:20180414183656p:plain

設定項目は下記のような感じ

項目名 説明
Host Transform 制御対象となる GameObject の transform
特に指定しない場合はアタッチ先になる
Bounding Box Prefab バウンディングボックスに使用するプレハブ
とりあえず BoundingBoxBasic でよい
Manipulation Mode 入力を受けつける両手ジェスチャ
Scale : ピンチインアウト拡縮
Rotate : 回転
Move : Z軸移動
Constraint On Rotation 回転軸の制限
X Axis Only : X軸のみ
Y Axis Only : Y軸のみ
Z Axis Only : Z軸のみ
One Hand Movement 片手でつかんで移動できるかどうか

どうも UnityEditor 上では両手ジャスチャーが認識されないので、HoloLens にインストールして動かしてみます・・・

f:id:matatabi_ux:20180422120411g:plain

拡縮、回転、Z軸移動と試してみたのですが・・・操作が下手なのか回転はスムーズにいけませんでした

それとカーソルが両手ジェスチャに切り替わらないのはまだ正式リリース前だからでしょうか?