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

Unity で HoloLens 2 アプリを開発しよう!公式 SDK の MRTK-Unity の紹介

Unity で HoloLens 2 アプリを開発しよう!公式 SDK の MRTK-Unity の紹介

【Mixed Reality Dev Days Japan 前夜祭】(https://hololens.connpass.com/event/197070/) の HL2 アプリ開発の紹介です。

Fa54d97af93719f9aa82873de3acb3b3?s=128

Shinya Tachihara

December 15, 2020
Tweet

Transcript

  1. Unity で HoloLens 2 アプリを開発しよう! 公式 SDK の MRTK-Unity の紹介

    MRDevDays Japan 前夜祭
  2. 自己紹介 株式会社ホロラボ 立原 愼也 (@deco_c_) おしまい!

  3. アジェンダ • MRTKの紹介 • 環境構築 • MRTKのインポートとセットアップ • アプリケーションのビルド

  4. Mixed Reality Toolkit (MRTK) クロスプラットフォームでMRアプリ開発を加速するためのコンポーネントと機能群 microsoft/MixedRealityToolkit-Unity: Mixed Reality Toolkit (MRTK)

    provides a set of components and features to accelerate cross-platform MR app development in Unity. (github.com)
  5. MRTKが提供する多様な機能 MRTKが提供する入力システムや認識した環境を 処理する機能 MRTKの機能を使ったUI/UX コンポーネント群

  6. クロスプラットフォームサポート • Microsoft HoloLens • Microsoft HoloLens 2 • Windows

    Mixed Reality headsets • OpenVR headsets (HTC Vive / Oculus Rift) • Ultraleap Hand Tracking • iOS や Android などのモバイルデバイス プラットフォームが異なってもボタンやオブジェクトの操作が同じようにできる
  7. MRTKの歴史 2016/05 HTK 2020/09 MRTK v2.5 2017/01 MRTK v1 2018/08

    MRTK vNext α 2019/08 MRTK v2.0 HL gen 1 向け ライブラリの作りを一新 リブランディング HoloLens gen 1 の頃から、4年以上MRアプリ開発の知見を積み重ねていっている
  8. 開発環境 • Windows SDK 18362+ • Unity 2018.4.x • Visual

    Studio 2019 Visual Studio Installer 経由でそろいます
  9. Visual Studio のインストール • Visual Studio 2019

  10. Visual Studio Installer - C++ によるデスクトップ開発 - ユニバーサル Windows プラットフォーム開発

    - Unity によるゲーム開発
  11. Visual Studio Installer - Unity Hub 以前は、Unity 201x.x でしたがいつの頃か Unity

    Hub をインストール するようになっています - USBデバイスの接続 - C++ (v142) ユニバーサル Windows プラットフォーム - C++ (v141) ユニバーサル Windows プラットフォーム
  12. Unity Hub Unity のインストール Unity Hub -> インストール 推奨 リリースのUnityにチェック

    Universal Windows Platform Build Support にチェック
  13. Unity Hub プロジェクトの作成 Unity Hub -> プロジェクト インストールしたUnity バージョンを指定 •

    3Dを指定 • プロジェクト名をつける(ex. MRDD) ※ 保存先のパスはあまり深くならないようにする
  14. Unity Universal Windows Platform 環境に切り替える File -> Build Settings… Universal

    Windows Platform を 選択して Switch Platform
  15. MRTKのPackage Foundation Tools Examples Extensions Test Utilities MRTKの本体 MRTKを使った サンプル集

    シーン遷移 などのMRTKの拡張 サービス MRTKの開発を便利 にするツール群 (主にEditor拡張系) 2.5 から追加された インタラクションを 使ったテストをしや すくするツール
  16. MRTKのインポート Unity Package Unity Package Manager • Unity Package をDLしてきてUnityにイン

    ポートする方法 • Manifest ファイルを弄らず、D&Dでで きるので心理的に楽 • PackageをEditor GUIで管理する方法。 • バージョン管理が楽 Mixed Reality Toolkit and Unity Package Manager | Mixed Reality Toolkit Documentation (microsoft.github.io)
  17. MRTKのインポート Unity Package 版 Releases · microsoft/MixedRealityToolkit- Unity (github.com) リリースページへアクセス

    Mixed Reality Foundation をDL
  18. MRTKのインポート Unity Package 版 Assets -> Import Package -> Custom

    Package DLしたパッケージを指定 して開く Import 下記の方法でもインポートできます • EditorのProjectsタブでAssets にD&D • DLしたUnityPackageを実行
  19. MRTKのインポート Unity Package Manager 版 Microsoft Mixed Reality https://pkgs.dev.azure.com/aipmr/MixedReality-Unity- Packages/_packaging/Unity-packages/npm/registry/

    com.microsoft.mixedreality com.microsoft.spatialaudio Edit -> Project Settings…. Package Manager に次を入れる
  20. MRTKのインポート Unity Package Manager 版 Assets -> Show in Explorer

    Packages を開く manifest.json を VSやVSCode など のテキストエディタで開く
  21. MRTKのインポート Unity Package Manager 版 dependencies に "com.microsoft.mixedreality.toolkit.foundation": "2.5.1", を追加してUnityに戻る

    Window -> Package Manager Microsoft Mixed Reality Toolkit Foundation が 追加されていればOK
  22. MRTKのセットアップ Unity Package インポート後に出てくる 設定をApply もし、Later で飛ばしてしまっても後からやり 直すことができます Mixed Reality

    Toolkit -> Utilities -> Configure Unity Project
  23. シーンのセットアップ Mixed Reality Toolkit -> Add to Scene and Configure

    Hierarchy に下記が生成される - Mixed Reality Toolkit - Mixed Reality Playspace
  24. セットアップ済みのシーンを使う (UPM版) UPM版では、サンプルの構築済 みのシーンをインポートできる Assets -> Samples -> Mixed Reality

    Toolkit Foundation -> Scene System Resources -> DefaultManagerScene
  25. MRTKのセットアップ Profile Mixed Reality Toolkit Profile Camera Profile Camera Settings

    Profile Input System Profile Input Pointer Profile ・・・ MRTKは複数のProfileと呼ばれる機能ごとの設定によって動作が決まる
  26. MRTKのセットアップ HoloLens 2 用に設定する Default Mixed Reality Toolkit Configuration Profile

    を押す Default HoloLens 2 Configuration Profile を選択 Game Scene が真っ暗になって いたらOK
  27. Sceneを再生してみる Shift キーを押す 手が出たらOK Play ボタンを押し てSceneを再生する

  28. Cubeを動かしてみよう Cube の配置 + ボタン -> 3D Object -> Cube

    Hierarchy -> Cube Position (0, 0, 1) Rotation (0, 0, 0) Scale (0.2, 0.2, 0.2)
  29. Cubeを動かしてみよう Object Manipulator をつける Object Manipulator 片手または両手でオブジェクトの - 移動 -

    拡大・縮小 - 回転 ができるようになる (旧) Manipulation Handler
  30. Cubeを動かしてみよう Simulator で動かす Shift で手を出して マウスを左クリック これでCubeを掴んだ 状態になる マウスを動かせば 上下左右に

    ホイールを動かせば 前後に
  31. Button を配置しよう Mixed Reality Toolkit Foundation -> SDK -> Features

    -> UX -> Prefabs -> Pressable Button HoloLens 2 を Hierarchy に D&D Position (0, -0.02, 0.2) Rotation (0, 0, 0) Scale (1, 1, 1)
  32. Button を配置しよう Scene を再生して、Shift を押しな がらマウスホイールを動かすとボ タンが押せる ポコッ♬ 音とアニメーションでフィードバック が返ってくる

  33. Button などのコンポーネントを参照しやすくする Tools Package を追加する Unity Package Manager "com.microsoft.mixedreality. toolkit.tools":

    "2.5.1", を追加 Unity Package Microsoft.MixedReality.Toolkit.Un ity.Tools.2.5.1.unitypackage
  34. Button などのコンポーネントを参照しやすくする Toolbox からコンポーネントを配置する

  35. Button を押してCubeの色を変えよう Material を作ろう + ボタン -> Material で 2つのマテリアルを作る

    右クリックでRenameして - Before - After としておく Shader を Mixed Reality Toolkit -> Standard に設定する
  36. Button を押してCubeの色を変えよう Material を設定する Before Main Maps Albedo を (0,

    100, 0) After Border Light にチェック Inner Glow にチェック Color を (0, 200, 255)
  37. Button を押してCubeの色を変えよう Material を適応する Before を Cube に D&D

  38. Button を押してCubeの色を変えよう Button を押したときのアクションを決めよう Pressable Button の Button Config Helper

    の Basic Events の On Click () に Cube を D&D
  39. Button を押してCubeの色を変えよう

  40. Button を押してCubeの色を変えよう

  41. Button を押してCubeの色を変えよう

  42. まとめて動かそう Create Empty で空のオブ ジェクトを生成 名前をTreeにする 複数のオブジェクトをD&D でTreeの下に置く

  43. まとめて動かそう Tree に Object Manipulator をアタッチするでもまとめて動かすことができるが、 今回は Joy Stick という

    Experimental な機能を使う MRTKでは実験的な機能も公開されている Microsoft Mixed Reality Toolkit 2.5.0 release notes | Mixed Reality Toolkit Documentation
  44. まとめて動かそう Joy Stick と入力 Joystick Prefab を Hierarchy に D&D

    Position (-0.2, -0.1, 0.4) Target Object に Tree を D&D
  45. まとめて動かそう Debug Text の文字がすごいでかいので、 3 くらいにする 遠方にあって操作しづらいものや、オブ ジェクトのサイズがすごい大きいor小さ いものでも、簡単に操作できる

  46. 空間を認識できるようにしよう Profilerの設定 • デフォルトではパフォーマンスの観点から 空間認識はOffになっている • MRTKで用意されているテンプレートのプロ ファイルは直接編集できず、テンプレート を複製して設定する Clone

    で複製する チェックボックス を有効にする
  47. アプリのビルド Package 名を変更する Unity で HoloLens (UWP) アプリを作る際のパッ ケージ名をプロダクト名に変更するスクリプト -

    たるこすの日記 (hatenablog.com) HoloLensにインストールされている他アプリの パッケージ名と重複しない名前に変更する ※ 名前は何でもいい
  48. アプリのビルド VR を有効にする

  49. アプリのビルド アプリをビルドする ビルド先のフォルダを作成する ※ 名前は何でもいい ビルドを選択 フォルダーの選択

  50. アプリのビルド アプリをビルドする ビルド後の.slnファイルを開く • Release • ARM64 • デバイス に切り替えてHoloLensをPCに接続してデバイスを押す

  51. None
  52. もっといいデモなかったのか… 10分は厳しかった…

  53. Examples で使い方を覚えよう Unity Package Manager "com.microsoft.mixedreality. toolkit.examples": "2.5.1", を追加 MRTK

    Examples Hub | Mixed Reality Toolkit Documentation (microsoft.github.io)
  54. 日本語ドキュメント MRTK へようこそ | Mixed Reality Toolkit Documentation (hololabinc.github.io)

  55. MRTK UX components v2.5.0 1:30pm – 1:55pm Session 4 MRTK

    UX components v2.5.0 より詳しいセッションは明日! Mixed Reality Dev Days Japan - Mixed Reality | Microsoft Docs