HoloLens 2対応 MRTK v2 ハンズオン / HoloLens2 MRTKv2 Hands on
by
HoloLab
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Unity 2018.4.12f1, Visual Studio 2017/2019, MRTK v2.1.0対応 最終更新日 2019/12/05 株式会社ホロラボ 45分でHoloLens 2アプリ開発 1
Slide 2
Slide 2 text
タイムテーブル 1. 5分:オープニング 2. 5分:Unityプロジェクトの作成 3. 5分:Mixed Reality Toolkitの取り込み 4. 5分:プロジェクトの初期設定 5. 5分:オブジェクトの配置 6. 5分:ハンドジェスチャーでオブジェクトが落ちる処理を作成 7. 5分:実機デプロイ 8. 5分:空間マッピングの設定 9. 5分:アイトラッキング 10. 5分:クロージング 2
Slide 3
Slide 3 text
1.オープニング いまからやることをお伝えします。 3
Slide 4
Slide 4 text
事前準備 • HoloLens 2実機 • 開発PC • Windows 10(Home/Pro) • Unity 2018.4.12f3(固定)のインストール(Personal可, Unity Hubより) • Visual Studio 2017 15.5.6以降(含UWP SDK)のインストール • Microsoft Mixed Reality Toolkit v2.1.0(固定)のダウンロード 4
Slide 5
Slide 5 text
今日のゴール 7
Slide 6
Slide 6 text
2.Unityプロジェクトの作成 最初にUnityのプロジェクトを作りましょう。 8
Slide 7
Slide 7 text
Unityプロジェクトの作成(1) 1. Unity Hubを起動し[新規作成]から該当バージョン(2018.4.x)をクリックします。 9
Slide 8
Slide 8 text
Unityプロジェクトの作成(2) 1. プロジェクト名を入力します。 2. プロジェクトのフォルダを選択します。 3. [作成] をクリックします。 10 1 3 2
Slide 9
Slide 9 text
Unityプロジェクトの作成(3) プロジェクトが作成されました。 11
Slide 10
Slide 10 text
3. Mixed Reality Toolkitの取り込み 便利機能がたくさん入っているMixed Reality Toolkitを追加しましょう。 12
Slide 11
Slide 11 text
MixedRealityToolkit-Unityのダウンロード(1) 1. https://github.com/microsoft/MixedRealityToolkit-Unity/releases/tag/v2.1.0 から [Microsoft.MixedReality.Toolkit.Unity.Foundation.2.1.0.unitypackage] をダウンロードします。 13
Slide 12
Slide 12 text
1. Platformを[Universal Windows Platform]に変更します。 2. [Switch Platform]をクリックします。 ※MRTKがプロジェクト設定を変更するため、先にHoloLensのプラットフォームに変更する。 UWPビルドの設定 1 14 2
Slide 13
Slide 13 text
1. [Microsoft.MixedReality.Toolkit.Unity.Foundation.2.1.0.unitypackage]ファイルを Unity の [Project] ビューに入れます。 Mixed Reality Toolkitの取り込み(1) 15
Slide 14
Slide 14 text
Mixed Reality Toolkitの取り込み(2) 1. [Import Unity Package] ダイアログが表示されるので [Import] を押します。 16
Slide 15
Slide 15 text
Mixed Reality Toolkitの取り込み(3) 1. プロジェクト設定の変更を行うので[Apply]をクリックする。 17
Slide 16
Slide 16 text
MixedRealityToolkit-Unityの取り込み(3) MixedRealityToolkit-Unityが取り込めました。 18
Slide 17
Slide 17 text
オプション:Unityエディターの配置を変える(1) 1. 右上にある [Layout] をクリックします 2. [2 by 3] をクリックします。 1 19 2
Slide 18
Slide 18 text
オプション:Unityエディターの配置を変える(2) 1. [Project] ビューの右上の小さなボタン (ハンバーガーメニュー) をクリックします。 2. [One Column Layout] をクリックします。 1 20 2
Slide 19
Slide 19 text
オプション:Unityエディターの配置を変える(3) [Project]ビューがツリー表示されるようになりました。 21
Slide 20
Slide 20 text
4. プロジェクトの初期設定 MixedRealityToolkitの機能を使ってプロジェクトの初期設定を行います。 22
Slide 21
Slide 21 text
プロジェクトの初期設定(1) 1. メニューの [Mixed Reality Toolkit] にある [Add to Scene and Configure…] をクリックします。 23
Slide 22
Slide 22 text
プロジェクトの初期設定(2) 1. プロファイルの選択画面が表示されるので[DefaultHoloLens2ConfigurationProfile]を選択します。 24
Slide 23
Slide 23 text
プロジェクトの初期設定(3) 1. プロファイルが追加されます。ここでHoloLens 2の動作に関する設定を行います。 25
Slide 24
Slide 24 text
プロジェクトの初期設定(4) 1. 空間マップを使用するときなどはプロファイルを変更可能にする必要があります。「Copy & Customize」で プロファイルをCloneします。 2. CloneされたプロファイルはCustomProfilesに生成されます。 26 1 2
Slide 25
Slide 25 text
プロジェクトの初期設定(5) 1. この状態でEditor実行すると、Diagnosticsが表示されます。またSHIFTキーを押すとHand Jointが表示され ます。 27
Slide 26
Slide 26 text
5.オブジェクトの配置 HoloLensに表示する世界を作りましょう。 28
Slide 27
Slide 27 text
オブジェクトの配置(1) 1. [Hierarchy] ビューの何もないところで左クリックし、選択を外します。 2. [Hierarchy] ビューの何もないところで右クリックし、[3D Object]→[Cube] を選択します。 29 1 2
Slide 28
Slide 28 text
オブジェクトの配置(2) Cubeを配置できました。 30
Slide 29
Slide 29 text
Cubeの “Inspector” ビューを操作します。 1. [Position] を [0.5,0,1] に変更します。 2. [Scale] を [0.2,0.2,0.2] に変更します。 単位はメートル(m)です。 オブジェクトの配置(3) 31 1 2
Slide 30
Slide 30 text
オブジェクトの配置(4) 1. 同様に “Hierarchy” ビューで [Sphere] を配置します。 2. [Position] を [0,0,1] に変更します。 3. [Scale] を[0.2,0.2,0.2]に変更します。 32 1 2 3
Slide 31
Slide 31 text
オブジェクトの配置(5) 1. 最後に “Hierarchy” ビューで [Capsule] を配置します。 2. [Position] を [-0.5,0,1]に変更します。 3. [Scale] を [0.2,0.2,0.2] に変更します。 33 1 2 3
Slide 32
Slide 32 text
6. ハンドジェスチャーでオブジェクトが 落ちる処理を作成 ジェスチャーを認識させてインタラクションの機能を作りましょう。 34
Slide 33
Slide 33 text
ハンドジェスチャーでオブジェクトが落ちるようにする(1) 1. Cubeに「Rigidbody」、「Near Interaction Touchable」、「Manipulation Hander」を追加する。 35
Slide 34
Slide 34 text
ハンドジェスチャーでオブジェクトが落ちるようにする(2) 1. Rigidbodyの「Use Gravity」のチェックを外し、「Is Kinematic」にチェックする(落ちないようにする) 2. Near Interaction Touchableの「Event To Recieve」を「Pointer」に変更する(タッチを認識するように)、 「Fix Bounds」および「Fix Center」のボタンを押す(CUBEの範囲を決定する) 3. Manipulation Handlerの「On Manipulation Ended」にCubeを入れ、RigidbodyのIsKinematicのチェックを 外し、RigidbodyのuseGravityのチェックを入れる(落ちるようにする)。 36 1 2 3
Slide 35
Slide 35 text
1. 同じように [Sphere] と [Capsule] も設定することでハンドジェスチャーで落ちるようになります。 ハンドジェスチャーでオブジェクトが落ちるようにする(4) 38
Slide 36
Slide 36 text
ハンドメッシュを表示します。 1. 全体のプロファイルの「Input」にあるプロファイルをCloneします。 2. さらに「Hand Tracking」のプロファイルをCloneします。 3. 「Hand Mesh Visualization Modes」を「Player」にします。 ハンドジェスチャーでオブジェクトが落ちるようにする(5) 39 1 2 3
Slide 37
Slide 37 text
7. 実機デプロイ 実機で動かします。 40
Slide 38
Slide 38 text
1. メニューの [File | Build Settings] または [Shift+Ctrl+B]で “Build Settings” 画面を表示します。 2. [Add Open Scenes] ボタンで先ほど保存したシーンを追加します。 実機デプロイ(1) 2 41
Slide 39
Slide 39 text
実機デプロイ(2) 1. [Build] ボタンをクリックします。 2. 表示された Windows エクスプローラーで [新しいフォルダー] ボタンをクリックします。 3. フォルダー名を [UWP] とします。 4. [フォルダーの選択] ボタンをクリックするとビルドが開始します。 1 2 3 4 42
Slide 40
Slide 40 text
実機デプロイ(3) 1. ビルドが実行されます。 • エラーが発生するとコンソールにエラーログが表示されます。 43
Slide 41
Slide 41 text
実機デプロイ(3) 1. [プロジェクト名] フォルダーの [UWP] フォルダーにある [<プロジェクト名>.sln] ファイルを開きます。 44
Slide 42
Slide 42 text
実機デプロイ(4) 1. Visual Studioの構成部分を[Release],[ARM],[Device] に変更します。 2. USBケーブルをPCとHoloLens間で接続して[Device]ボタンをクリックします。 1 2 45
Slide 43
Slide 43 text
PINの設定 1. 初回のみVisual StudioとHoloLensでペアリングを求められます。 2. HoloLens 2の「設定」アプリの「更新とセキュリティ」にある「開発者向け」から「ペアリング」ボタンを 押し、表示される数字をVisual Studioに入力します。 46
Slide 44
Slide 44 text
8.空間マッピングの設定 空間マッピングを表示させてオブジェクトが落ちないようにしましょう。 49
Slide 45
Slide 45 text
1. プロファイルの「Spatial Awareness」にある「Enable Spatial Awareness System on Startup」にチェック をいれます。 空間マッピングの設定(1) 50
Slide 46
Slide 46 text
空間マッピングの設定(1) 51 1. UnityのPlayer SettingsのPublishing SettingsのCapabilityにある「SpatialPerception」とUnityから出力後の Visual Studioのmanifestの機能にある「空間認識」の両方にチェックがあることを確認する(なければチェッ クする)。初回ビルド以外はVisual Studioに反映されないので注意。
Slide 47
Slide 47 text
9. アイトラッキング 視線を使ったインタラクションを作ってみましょう 52
Slide 48
Slide 48 text
アイトラッキング(1) 1. 全体のプロファイルの「Input」にあるプロファイルをCloneします(ハンドメッシュなどで済んでいれば不要)。 2. 「Input Data Provider」の「+ Add Data Provider」をクリックします。 3. 「New Data Provider」の「Type」を「WindowsMixedRealityEyeGazeDataProvider」に設定します。 53 1 2 3
Slide 49
Slide 49 text
アイトラッキング(2) 1. 「Input Simulation Service」のプロファイルをCloneします。 2. 「Simulate Eye Position」にチェックを入れます。 54 1 2
Slide 50
Slide 50 text
アイトラッキング(3) 1. 「Main Camera」の「Gaze Provider」の「Use Eye Tracking」にチェックがあることを確認します(なけれ ばチェックします)。 55
Slide 51
Slide 51 text
アイトラッキング(4) 1. テスト用コードをプロジェクトに追加します。 2. Cube、Sphere、Capsuleに追加します(デフォルトでは未選択時に水色、選択時に白に色が変わります)。 56 1 2
Slide 52
Slide 52 text
アイトラッキング(5) 1. Unityから出力しVisual Studioのマニフェストの機能で「視線入力」にチェックします。 2. UnityでMRTKのBuild Windowを使用してビルドする場合、「Appx Build Options」の「Gaze Input Capability」にチェックします。 57 1 2
Slide 53
Slide 53 text
10.クロージング 58
Slide 54
Slide 54 text
本日使用したHoloLens固有の機能 • 〇:視線入力(Eye tracking) • 〇:ハンドジェスチャー入力(Hand gesture input) • -:音声入力(Voice input) • -:空間(3次元)音響(Spatial sound) • 〇:空間マッピング(Spatial awareness) 59
Slide 55
Slide 55 text
60