Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

自己紹介 株式会社ホロラボ 立原 愼也 (@deco_c_) おしまい!

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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)

Slide 5

Slide 5 text

MRTKが提供する多様な機能 MRTKが提供する入力システムや認識した環境を 処理する機能 MRTKの機能を使ったUI/UX コンポーネント群

Slide 6

Slide 6 text

クロスプラットフォームサポート • Microsoft HoloLens • Microsoft HoloLens 2 • Windows Mixed Reality headsets • OpenVR headsets (HTC Vive / Oculus Rift) • Ultraleap Hand Tracking • iOS や Android などのモバイルデバイス プラットフォームが異なってもボタンやオブジェクトの操作が同じようにできる

Slide 7

Slide 7 text

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アプリ開発の知見を積み重ねていっている

Slide 8

Slide 8 text

開発環境 • Windows SDK 18362+ • Unity 2018.4.x • Visual Studio 2019 Visual Studio Installer 経由でそろいます

Slide 9

Slide 9 text

Visual Studio のインストール • Visual Studio 2019

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

Visual Studio Installer - Unity Hub 以前は、Unity 201x.x でしたがいつの頃か Unity Hub をインストール するようになっています - USBデバイスの接続 - C++ (v142) ユニバーサル Windows プラットフォーム - C++ (v141) ユニバーサル Windows プラットフォーム

Slide 12

Slide 12 text

Unity Hub Unity のインストール Unity Hub -> インストール 推奨 リリースのUnityにチェック Universal Windows Platform Build Support にチェック

Slide 13

Slide 13 text

Unity Hub プロジェクトの作成 Unity Hub -> プロジェクト インストールしたUnity バージョンを指定 • 3Dを指定 • プロジェクト名をつける(ex. MRDD) ※ 保存先のパスはあまり深くならないようにする

Slide 14

Slide 14 text

Unity Universal Windows Platform 環境に切り替える File -> Build Settings… Universal Windows Platform を 選択して Switch Platform

Slide 15

Slide 15 text

MRTKのPackage Foundation Tools Examples Extensions Test Utilities MRTKの本体 MRTKを使った サンプル集 シーン遷移 などのMRTKの拡張 サービス MRTKの開発を便利 にするツール群 (主にEditor拡張系) 2.5 から追加された インタラクションを 使ったテストをしや すくするツール

Slide 16

Slide 16 text

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)

Slide 17

Slide 17 text

MRTKのインポート Unity Package 版 Releases · microsoft/MixedRealityToolkit- Unity (github.com) リリースページへアクセス Mixed Reality Foundation をDL

Slide 18

Slide 18 text

MRTKのインポート Unity Package 版 Assets -> Import Package -> Custom Package DLしたパッケージを指定 して開く Import 下記の方法でもインポートできます • EditorのProjectsタブでAssets にD&D • DLしたUnityPackageを実行

Slide 19

Slide 19 text

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 に次を入れる

Slide 20

Slide 20 text

MRTKのインポート Unity Package Manager 版 Assets -> Show in Explorer Packages を開く manifest.json を VSやVSCode など のテキストエディタで開く

Slide 21

Slide 21 text

MRTKのインポート Unity Package Manager 版 dependencies に "com.microsoft.mixedreality.toolkit.foundation": "2.5.1", を追加してUnityに戻る Window -> Package Manager Microsoft Mixed Reality Toolkit Foundation が 追加されていればOK

Slide 22

Slide 22 text

MRTKのセットアップ Unity Package インポート後に出てくる 設定をApply もし、Later で飛ばしてしまっても後からやり 直すことができます Mixed Reality Toolkit -> Utilities -> Configure Unity Project

Slide 23

Slide 23 text

シーンのセットアップ Mixed Reality Toolkit -> Add to Scene and Configure Hierarchy に下記が生成される - Mixed Reality Toolkit - Mixed Reality Playspace

Slide 24

Slide 24 text

セットアップ済みのシーンを使う (UPM版) UPM版では、サンプルの構築済 みのシーンをインポートできる Assets -> Samples -> Mixed Reality Toolkit Foundation -> Scene System Resources -> DefaultManagerScene

Slide 25

Slide 25 text

MRTKのセットアップ Profile Mixed Reality Toolkit Profile Camera Profile Camera Settings Profile Input System Profile Input Pointer Profile ・・・ MRTKは複数のProfileと呼ばれる機能ごとの設定によって動作が決まる

Slide 26

Slide 26 text

MRTKのセットアップ HoloLens 2 用に設定する Default Mixed Reality Toolkit Configuration Profile を押す Default HoloLens 2 Configuration Profile を選択 Game Scene が真っ暗になって いたらOK

Slide 27

Slide 27 text

Sceneを再生してみる Shift キーを押す 手が出たらOK Play ボタンを押し てSceneを再生する

Slide 28

Slide 28 text

Cubeを動かしてみよう Cube の配置 + ボタン -> 3D Object -> Cube Hierarchy -> Cube Position (0, 0, 1) Rotation (0, 0, 0) Scale (0.2, 0.2, 0.2)

Slide 29

Slide 29 text

Cubeを動かしてみよう Object Manipulator をつける Object Manipulator 片手または両手でオブジェクトの - 移動 - 拡大・縮小 - 回転 ができるようになる (旧) Manipulation Handler

Slide 30

Slide 30 text

Cubeを動かしてみよう Simulator で動かす Shift で手を出して マウスを左クリック これでCubeを掴んだ 状態になる マウスを動かせば 上下左右に ホイールを動かせば 前後に

Slide 31

Slide 31 text

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)

Slide 32

Slide 32 text

Button を配置しよう Scene を再生して、Shift を押しな がらマウスホイールを動かすとボ タンが押せる ポコッ♬ 音とアニメーションでフィードバック が返ってくる

Slide 33

Slide 33 text

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

Slide 34

Slide 34 text

Button などのコンポーネントを参照しやすくする Toolbox からコンポーネントを配置する

Slide 35

Slide 35 text

Button を押してCubeの色を変えよう Material を作ろう + ボタン -> Material で 2つのマテリアルを作る 右クリックでRenameして - Before - After としておく Shader を Mixed Reality Toolkit -> Standard に設定する

Slide 36

Slide 36 text

Button を押してCubeの色を変えよう Material を設定する Before Main Maps Albedo を (0, 100, 0) After Border Light にチェック Inner Glow にチェック Color を (0, 200, 255)

Slide 37

Slide 37 text

Button を押してCubeの色を変えよう Material を適応する Before を Cube に D&D

Slide 38

Slide 38 text

Button を押してCubeの色を変えよう Button を押したときのアクションを決めよう Pressable Button の Button Config Helper の Basic Events の On Click () に Cube を D&D

Slide 39

Slide 39 text

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

Slide 40

Slide 40 text

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

Slide 41

Slide 41 text

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

Slide 42

Slide 42 text

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

Slide 43

Slide 43 text

まとめて動かそう Tree に Object Manipulator をアタッチするでもまとめて動かすことができるが、 今回は Joy Stick という Experimental な機能を使う MRTKでは実験的な機能も公開されている Microsoft Mixed Reality Toolkit 2.5.0 release notes | Mixed Reality Toolkit Documentation

Slide 44

Slide 44 text

まとめて動かそう Joy Stick と入力 Joystick Prefab を Hierarchy に D&D Position (-0.2, -0.1, 0.4) Target Object に Tree を D&D

Slide 45

Slide 45 text

まとめて動かそう Debug Text の文字がすごいでかいので、 3 くらいにする 遠方にあって操作しづらいものや、オブ ジェクトのサイズがすごい大きいor小さ いものでも、簡単に操作できる

Slide 46

Slide 46 text

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

Slide 47

Slide 47 text

アプリのビルド Package 名を変更する Unity で HoloLens (UWP) アプリを作る際のパッ ケージ名をプロダクト名に変更するスクリプト - たるこすの日記 (hatenablog.com) HoloLensにインストールされている他アプリの パッケージ名と重複しない名前に変更する ※ 名前は何でもいい

Slide 48

Slide 48 text

アプリのビルド VR を有効にする

Slide 49

Slide 49 text

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

Slide 50

Slide 50 text

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

Slide 51

Slide 51 text

No content

Slide 52

Slide 52 text

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

Slide 53

Slide 53 text

Examples で使い方を覚えよう Unity Package Manager "com.microsoft.mixedreality. toolkit.examples": "2.5.1", を追加 MRTK Examples Hub | Mixed Reality Toolkit Documentation (microsoft.github.io)

Slide 54

Slide 54 text

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

Slide 55

Slide 55 text

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