夜風のMixedReality

xRと出会って変わった人生と出会った技術を書き残すためのGeekなHoloRangerの居場所

HoloLens 2アプリを遊んでみる MRTK ExampleHub その2 Hand Interaction Examples

その1ではMRTKExampleHubのインストールを行いました。

redhologerbera.hatenablog.com

MRTKExampleHubはストアではなくMRTKのGithubのリリースでアプリケーションパッケージとしてリリースされているためインストールを行いました。

今回はHandInteraction Exampplesを見ていきます。

www.youtube.com

HandInteractionExamplesはHandTrackingでのユーザーと3Dオブジェクトとの対話を体感するシーンです。

f:id:Holomoto-Sumire:20200712203917j:plain

MixedRealityToolkit ExamplesのHandInteractionExamplesと同様のシーンです。

以下のものが含まれています。

〇Pan & Zoom Interaction

f:id:Holomoto-Sumire:20200712204439j:plain

f:id:Holomoto-Sumire:20200712204510j:plain

Pan & Zoom Interactionは2Dの画面に手を触れることでスクロールすることができます。

これはアプリケーション内で説明ウィンドウなどを表示するときに役立ちそうです。

機能としては[HandInteractionPanZoom]コンポーネントが行っているようです。 ここではHorizontal(水平)がロックされているため鉛直方向のみのスクロールになっています。

f:id:Holomoto-Sumire:20200712204142j:plain

〇Keyboard Interaction

f:id:Holomoto-Sumire:20200712204610j:plain

OSで提供されているキーボードを使用することができます。

 私のHoloLens 2の場合USキーボード(英字)と日本語キーボードを使用する設定にしているためここで表示させたキーボードでも切り替えて使用することができます。

 アプリケーション内でキーボードを用意するわけではないのでユーザーが普段使用している言語のキーボードを使用できます。

〇HoloLens 1 Style Always visible

f:id:Holomoto-Sumire:20200712205047j:plain

f:id:Holomoto-Sumire:20200712205207j:plain

HoloLens 1st時代からあるクラシックなBoundingBoxです。 オブジェクトを覆うように立方体の8頂点で拡大縮小、中点で回転を行えます。

f:id:Holomoto-Sumire:20200712205408j:plain

このBoundingBoxはHoloLens 1stのアプリケーション内で多く使用されています。

redhologerbera.hatenablog.com

〇HoloLens 2 Style Handles always visible

HoloLens 2ように新しく導入されたBounding Boxです。 HoloLens 1stスタイルに比べHandTrackingで直接オブジェクトを操作できるためハンドルが非常にコンパクトになっています。

f:id:Holomoto-Sumire:20200712205648j:plain

f:id:Holomoto-Sumire:20200712205718j:plain

BoundingBoxを用いることもできますが、両手ジェスチャーで回転やスケールの変更を行うこともできます。

〇HoloLens 1 Style Explicit Adjust Mode with AppBar

f:id:Holomoto-Sumire:20200712210639j:plain

f:id:Holomoto-Sumire:20200712210514j:plain

HoloLens 1st スタイルのオブジェクトで、AppBarが表示されておりここでBoundingBoxを選択することで最初はなかったBoundingBoxが表示されるようになります。

また、AppBarを用いてオブジェクトを削除することもできます。

〇HoloLens 2 Style Show all handles on Proximity

f:id:Holomoto-Sumire:20200712210853j:plain

f:id:Holomoto-Sumire:20200712210925j:plain

HoloLens 2用のBoundingBoxで最初は表示されていませんが手を近づけることでBoundingBoxが表示、使用可能になります。

コーヒーカップ型のオブジェクトもあり、建設など3Dモデルを見ることが主となるアプリケーションの場合非常に便利な機能になります。

f:id:Holomoto-Sumire:20200712211227j:plain

f:id:Holomoto-Sumire:20200712211259j:plain

〇Piano

f:id:Holomoto-Sumire:20200712211452j:plain

ピアノのオブジェクトです。

キーを叩くと対応する音が流れます。

f:id:Holomoto-Sumire:20200712211612j:plain

これは以前中身を見ています。

redhologerbera.hatenablog.com

〇Button

f:id:Holomoto-Sumire:20200712211752j:plain

ボタンの押し心地を確かめることができます。

Buttonに関しては以前記事にしています。

redhologerbera.hatenablog.com

〇PinchSlider

f:id:Holomoto-Sumire:20200712211958j:plain

SliderのUIです。 PinchSliderはスライダーをつかんで動かすことでその値を別のオブジェクトやスクリプトに反映することができます。

ここではPlatonicの色(各PinchSliderがRGBに対応しています。)に対応しています。

f:id:Holomoto-Sumire:20200712212206j:plain

〇Playonic

手で触れることで温かみのある音と色の変化で疑似的な触覚フィードバックを体感できます。(指先が温かくなる間隔)

f:id:Holomoto-Sumire:20200712212433j:plain

〇SpatialMeshとのInteraction

f:id:Holomoto-Sumire:20200712212534j:plain

f:id:Holomoto-Sumire:20200712212627j:plain

右側に配置されているプレーンの上にあるオブジェクトには重力が与えられています。

そのためつかんで空中で話すとSpatialMeshの上に落ちることになります。

〇アプリケーション内でEdgeを起動する

f:id:Holomoto-Sumire:20200712212849j:plain

HoloLens 2はアプリケーション内で別のアプリケーションや2Dアプリを起動できます。

3Dアプリの場合は現在起動しているアプリが終了し、選択したアプリケーションへと移行しますが、Edgeなどの場合はアプリケーション内で使用することができます。