Upgrade to Pro — share decks privately, control downloads, hide ads and more …

HoloLens 2対応 MRTK v2 ハンズオン / HoloLens2 MRTKv2 Hands on

HoloLab
December 05, 2019

HoloLens 2対応 MRTK v2 ハンズオン / HoloLens2 MRTKv2 Hands on

HoloLab

December 05, 2019
Tweet

More Decks by HoloLab

Other Decks in Technology

Transcript

  1. Unity 2018.4.12f1, Visual Studio 2017/2019, MRTK v2.1.0対応
    最終更新日 2019/12/05
    株式会社ホロラボ
    45分でHoloLens 2アプリ開発
    1

    View full-size slide

  2. タイムテーブル
    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

    View full-size slide

  3. 1.オープニング
    いまからやることをお伝えします。
    3

    View full-size slide

  4. 事前準備
    • 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

    View full-size slide

  5. 今日のゴール
    7

    View full-size slide

  6. 2.Unityプロジェクトの作成
    最初にUnityのプロジェクトを作りましょう。
    8

    View full-size slide

  7. Unityプロジェクトの作成(1)
    1. Unity Hubを起動し[新規作成]から該当バージョン(2018.4.x)をクリックします。
    9

    View full-size slide

  8. Unityプロジェクトの作成(2)
    1. プロジェクト名を入力します。
    2. プロジェクトのフォルダを選択します。
    3. [作成] をクリックします。
    10
    1
    3
    2

    View full-size slide

  9. Unityプロジェクトの作成(3)
    プロジェクトが作成されました。
    11

    View full-size slide

  10. 3. Mixed Reality Toolkitの取り込み
    便利機能がたくさん入っているMixed Reality Toolkitを追加しましょう。
    12

    View full-size slide

  11. 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

    View full-size slide

  12. 1. Platformを[Universal Windows Platform]に変更します。
    2. [Switch Platform]をクリックします。
    ※MRTKがプロジェクト設定を変更するため、先にHoloLensのプラットフォームに変更する。
    UWPビルドの設定
    1
    14
    2

    View full-size slide

  13. 1. [Microsoft.MixedReality.Toolkit.Unity.Foundation.2.1.0.unitypackage]ファイルを Unity の [Project]
    ビューに入れます。
    Mixed Reality Toolkitの取り込み(1)
    15

    View full-size slide

  14. Mixed Reality Toolkitの取り込み(2)
    1. [Import Unity Package] ダイアログが表示されるので [Import] を押します。
    16

    View full-size slide

  15. Mixed Reality Toolkitの取り込み(3)
    1. プロジェクト設定の変更を行うので[Apply]をクリックする。
    17

    View full-size slide

  16. MixedRealityToolkit-Unityの取り込み(3)
    MixedRealityToolkit-Unityが取り込めました。
    18

    View full-size slide

  17. オプション:Unityエディターの配置を変える(1)
    1. 右上にある [Layout] をクリックします
    2. [2 by 3] をクリックします。 1
    19
    2

    View full-size slide

  18. オプション:Unityエディターの配置を変える(2)
    1. [Project] ビューの右上の小さなボタン (ハンバーガーメニュー) をクリックします。
    2. [One Column Layout] をクリックします。
    1
    20
    2

    View full-size slide

  19. オプション:Unityエディターの配置を変える(3)
    [Project]ビューがツリー表示されるようになりました。
    21

    View full-size slide

  20. 4. プロジェクトの初期設定
    MixedRealityToolkitの機能を使ってプロジェクトの初期設定を行います。
    22

    View full-size slide

  21. プロジェクトの初期設定(1)
    1. メニューの [Mixed Reality Toolkit] にある [Add to Scene and Configure…] をクリックします。
    23

    View full-size slide

  22. プロジェクトの初期設定(2)
    1. プロファイルの選択画面が表示されるので[DefaultHoloLens2ConfigurationProfile]を選択します。
    24

    View full-size slide

  23. プロジェクトの初期設定(3)
    1. プロファイルが追加されます。ここでHoloLens 2の動作に関する設定を行います。
    25

    View full-size slide

  24. プロジェクトの初期設定(4)
    1. 空間マップを使用するときなどはプロファイルを変更可能にする必要があります。「Copy & Customize」で
    プロファイルをCloneします。
    2. CloneされたプロファイルはCustomProfilesに生成されます。
    26
    1
    2

    View full-size slide

  25. プロジェクトの初期設定(5)
    1. この状態でEditor実行すると、Diagnosticsが表示されます。またSHIFTキーを押すとHand Jointが表示され
    ます。
    27

    View full-size slide

  26. 5.オブジェクトの配置
    HoloLensに表示する世界を作りましょう。
    28

    View full-size slide

  27. オブジェクトの配置(1)
    1. [Hierarchy] ビューの何もないところで左クリックし、選択を外します。
    2. [Hierarchy] ビューの何もないところで右クリックし、[3D Object]→[Cube] を選択します。
    29
    1 2

    View full-size slide

  28. オブジェクトの配置(2)
    Cubeを配置できました。
    30

    View full-size slide

  29. Cubeの “Inspector” ビューを操作します。
    1. [Position] を [0.5,0,1] に変更します。
    2. [Scale] を [0.2,0.2,0.2] に変更します。
    単位はメートル(m)です。
    オブジェクトの配置(3)
    31
    1
    2

    View full-size slide

  30. オブジェクトの配置(4)
    1. 同様に “Hierarchy” ビューで [Sphere] を配置します。
    2. [Position] を [0,0,1] に変更します。
    3. [Scale] を[0.2,0.2,0.2]に変更します。
    32
    1
    2
    3

    View full-size slide

  31. オブジェクトの配置(5)
    1. 最後に “Hierarchy” ビューで [Capsule] を配置します。
    2. [Position] を [-0.5,0,1]に変更します。
    3. [Scale] を [0.2,0.2,0.2] に変更します。
    33
    1
    2
    3

    View full-size slide

  32. 6. ハンドジェスチャーでオブジェクトが
    落ちる処理を作成
    ジェスチャーを認識させてインタラクションの機能を作りましょう。
    34

    View full-size slide

  33. ハンドジェスチャーでオブジェクトが落ちるようにする(1)
    1. Cubeに「Rigidbody」、「Near Interaction Touchable」、「Manipulation Hander」を追加する。
    35

    View full-size slide

  34. ハンドジェスチャーでオブジェクトが落ちるようにする(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

    View full-size slide

  35. 1. 同じように [Sphere] と [Capsule] も設定することでハンドジェスチャーで落ちるようになります。
    ハンドジェスチャーでオブジェクトが落ちるようにする(4)
    38

    View full-size slide

  36. ハンドメッシュを表示します。
    1. 全体のプロファイルの「Input」にあるプロファイルをCloneします。
    2. さらに「Hand Tracking」のプロファイルをCloneします。
    3. 「Hand Mesh Visualization Modes」を「Player」にします。
    ハンドジェスチャーでオブジェクトが落ちるようにする(5)
    39
    1
    2
    3

    View full-size slide

  37. 7. 実機デプロイ
    実機で動かします。
    40

    View full-size slide

  38. 1. メニューの [File | Build Settings] または [Shift+Ctrl+B]で “Build Settings” 画面を表示します。
    2. [Add Open Scenes] ボタンで先ほど保存したシーンを追加します。
    実機デプロイ(1)
    2
    41

    View full-size slide

  39. 実機デプロイ(2)
    1. [Build] ボタンをクリックします。
    2. 表示された Windows エクスプローラーで [新しいフォルダー] ボタンをクリックします。
    3. フォルダー名を [UWP] とします。
    4. [フォルダーの選択] ボタンをクリックするとビルドが開始します。
    1
    2
    3
    4
    42

    View full-size slide

  40. 実機デプロイ(3)
    1. ビルドが実行されます。
    • エラーが発生するとコンソールにエラーログが表示されます。
    43

    View full-size slide

  41. 実機デプロイ(3)
    1. [プロジェクト名] フォルダーの [UWP] フォルダーにある [<プロジェクト名>.sln] ファイルを開きます。
    44

    View full-size slide

  42. 実機デプロイ(4)
    1. Visual Studioの構成部分を[Release],[ARM],[Device] に変更します。
    2. USBケーブルをPCとHoloLens間で接続して[Device]ボタンをクリックします。
    1
    2
    45

    View full-size slide

  43. PINの設定
    1. 初回のみVisual StudioとHoloLensでペアリングを求められます。
    2. HoloLens 2の「設定」アプリの「更新とセキュリティ」にある「開発者向け」から「ペアリング」ボタンを
    押し、表示される数字をVisual Studioに入力します。
    46

    View full-size slide

  44. 8.空間マッピングの設定
    空間マッピングを表示させてオブジェクトが落ちないようにしましょう。
    49

    View full-size slide

  45. 1. プロファイルの「Spatial Awareness」にある「Enable Spatial Awareness System on Startup」にチェック
    をいれます。
    空間マッピングの設定(1)
    50

    View full-size slide

  46. 空間マッピングの設定(1)
    51
    1. UnityのPlayer SettingsのPublishing SettingsのCapabilityにある「SpatialPerception」とUnityから出力後の
    Visual Studioのmanifestの機能にある「空間認識」の両方にチェックがあることを確認する(なければチェッ
    クする)。初回ビルド以外はVisual Studioに反映されないので注意。

    View full-size slide

  47. 9. アイトラッキング
    視線を使ったインタラクションを作ってみましょう
    52

    View full-size slide

  48. アイトラッキング(1)
    1. 全体のプロファイルの「Input」にあるプロファイルをCloneします(ハンドメッシュなどで済んでいれば不要)。
    2. 「Input Data Provider」の「+ Add Data Provider」をクリックします。
    3. 「New Data Provider」の「Type」を「WindowsMixedRealityEyeGazeDataProvider」に設定します。
    53
    1
    2
    3

    View full-size slide

  49. アイトラッキング(2)
    1. 「Input Simulation Service」のプロファイルをCloneします。
    2. 「Simulate Eye Position」にチェックを入れます。
    54
    1
    2

    View full-size slide

  50. アイトラッキング(3)
    1. 「Main Camera」の「Gaze Provider」の「Use Eye Tracking」にチェックがあることを確認します(なけれ
    ばチェックします)。
    55

    View full-size slide

  51. アイトラッキング(4)
    1. テスト用コードをプロジェクトに追加します。
    2. Cube、Sphere、Capsuleに追加します(デフォルトでは未選択時に水色、選択時に白に色が変わります)。
    56
    1
    2

    View full-size slide

  52. アイトラッキング(5)
    1. Unityから出力しVisual Studioのマニフェストの機能で「視線入力」にチェックします。
    2. UnityでMRTKのBuild Windowを使用してビルドする場合、「Appx Build Options」の「Gaze Input
    Capability」にチェックします。
    57
    1
    2

    View full-size slide

  53. 10.クロージング
    58

    View full-size slide

  54. 本日使用したHoloLens固有の機能
    • 〇:視線入力(Eye tracking)
    • 〇:ハンドジェスチャー入力(Hand gesture input)
    • -:音声入力(Voice input)
    • -:空間(3次元)音響(Spatial sound)
    • 〇:空間マッピング(Spatial awareness)
    59

    View full-size slide