Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Unity で HoloLens 2 アプリを開発しよう!公式 SDK の MRTK-Unit...
Search
Shinya Tachihara
December 15, 2020
Programming
1
1.2k
Unity で HoloLens 2 アプリを開発しよう!公式 SDK の MRTK-Unity の紹介
【Mixed Reality Dev Days Japan 前夜祭】(
https://hololens.connpass.com/event/197070/
) の HL2 アプリ開発の紹介です。
Shinya Tachihara
December 15, 2020
Tweet
Share
More Decks by Shinya Tachihara
See All by Shinya Tachihara
TokyoHoloLensMeetUp_vol21.pdf
decoc
1
1k
Other Decks in Programming
See All in Programming
Внедряем бюджетирование, или Как сделать хорошо?
lamodatech
0
970
社内フレームワークとその依存性解決 / in-house framework and its dependency management
vvakame
1
440
Beyond ORM
77web
11
1.6k
ATDDで素早く安定した デリバリを実現しよう!
tonnsama
1
2.3k
2025.01.17_Sansan × DMM.swift
riofujimon
2
630
SwiftUIで単方向アーキテクチャを導入して得られた成果
takuyaosawa
0
120
ASP.NET Core の OpenAPIサポート
h455h1
0
150
ファインディの テックブログ爆誕までの軌跡
starfish719
1
680
[JAWS-UG横浜 #80] うわっ…今年のServerless アップデート、少なすぎ…?
maroon1st
0
140
個人アプリを2年ぶりにアプデしたから褒めて / I just updated my personal app, praise me!
lovee
0
280
“あなた” の開発を支援する AI エージェント Bedrock Engineer / introducing-bedrock-engineer
gawa
9
1.1k
Оптимизируем производительность блока Казначейство
lamodatech
0
980
Featured
See All Featured
The Pragmatic Product Professional
lauravandoore
32
6.4k
Rails Girls Zürich Keynote
gr2m
94
13k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
52k
Designing Experiences People Love
moore
139
23k
Building Applications with DynamoDB
mza
93
6.2k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
7
590
A Modern Web Designer's Workflow
chriscoyier
693
190k
Optimizing for Happiness
mojombo
376
70k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Become a Pro
speakerdeck
PRO
26
5.1k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Building an army of robots
kneath
302
45k
Transcript
Unity で HoloLens 2 アプリを開発しよう! 公式 SDK の MRTK-Unity の紹介
MRDevDays Japan 前夜祭
自己紹介 株式会社ホロラボ 立原 愼也 (@deco_c_) おしまい!
アジェンダ • MRTKの紹介 • 環境構築 • MRTKのインポートとセットアップ • アプリケーションのビルド
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)
MRTKが提供する多様な機能 MRTKが提供する入力システムや認識した環境を 処理する機能 MRTKの機能を使ったUI/UX コンポーネント群
クロスプラットフォームサポート • Microsoft HoloLens • Microsoft HoloLens 2 • Windows
Mixed Reality headsets • OpenVR headsets (HTC Vive / Oculus Rift) • Ultraleap Hand Tracking • iOS や Android などのモバイルデバイス プラットフォームが異なってもボタンやオブジェクトの操作が同じようにできる
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アプリ開発の知見を積み重ねていっている
開発環境 • Windows SDK 18362+ • Unity 2018.4.x • Visual
Studio 2019 Visual Studio Installer 経由でそろいます
Visual Studio のインストール • Visual Studio 2019
Visual Studio Installer - C++ によるデスクトップ開発 - ユニバーサル Windows プラットフォーム開発
- Unity によるゲーム開発
Visual Studio Installer - Unity Hub 以前は、Unity 201x.x でしたがいつの頃か Unity
Hub をインストール するようになっています - USBデバイスの接続 - C++ (v142) ユニバーサル Windows プラットフォーム - C++ (v141) ユニバーサル Windows プラットフォーム
Unity Hub Unity のインストール Unity Hub -> インストール 推奨 リリースのUnityにチェック
Universal Windows Platform Build Support にチェック
Unity Hub プロジェクトの作成 Unity Hub -> プロジェクト インストールしたUnity バージョンを指定 •
3Dを指定 • プロジェクト名をつける(ex. MRDD) ※ 保存先のパスはあまり深くならないようにする
Unity Universal Windows Platform 環境に切り替える File -> Build Settings… Universal
Windows Platform を 選択して Switch Platform
MRTKのPackage Foundation Tools Examples Extensions Test Utilities MRTKの本体 MRTKを使った サンプル集
シーン遷移 などのMRTKの拡張 サービス MRTKの開発を便利 にするツール群 (主にEditor拡張系) 2.5 から追加された インタラクションを 使ったテストをしや すくするツール
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)
MRTKのインポート Unity Package 版 Releases · microsoft/MixedRealityToolkit- Unity (github.com) リリースページへアクセス
Mixed Reality Foundation をDL
MRTKのインポート Unity Package 版 Assets -> Import Package -> Custom
Package DLしたパッケージを指定 して開く Import 下記の方法でもインポートできます • EditorのProjectsタブでAssets にD&D • DLしたUnityPackageを実行
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 に次を入れる
MRTKのインポート Unity Package Manager 版 Assets -> Show in Explorer
Packages を開く manifest.json を VSやVSCode など のテキストエディタで開く
MRTKのインポート Unity Package Manager 版 dependencies に "com.microsoft.mixedreality.toolkit.foundation": "2.5.1", を追加してUnityに戻る
Window -> Package Manager Microsoft Mixed Reality Toolkit Foundation が 追加されていればOK
MRTKのセットアップ Unity Package インポート後に出てくる 設定をApply もし、Later で飛ばしてしまっても後からやり 直すことができます Mixed Reality
Toolkit -> Utilities -> Configure Unity Project
シーンのセットアップ Mixed Reality Toolkit -> Add to Scene and Configure
Hierarchy に下記が生成される - Mixed Reality Toolkit - Mixed Reality Playspace
セットアップ済みのシーンを使う (UPM版) UPM版では、サンプルの構築済 みのシーンをインポートできる Assets -> Samples -> Mixed Reality
Toolkit Foundation -> Scene System Resources -> DefaultManagerScene
MRTKのセットアップ Profile Mixed Reality Toolkit Profile Camera Profile Camera Settings
Profile Input System Profile Input Pointer Profile ・・・ MRTKは複数のProfileと呼ばれる機能ごとの設定によって動作が決まる
MRTKのセットアップ HoloLens 2 用に設定する Default Mixed Reality Toolkit Configuration Profile
を押す Default HoloLens 2 Configuration Profile を選択 Game Scene が真っ暗になって いたらOK
Sceneを再生してみる Shift キーを押す 手が出たらOK Play ボタンを押し てSceneを再生する
Cubeを動かしてみよう Cube の配置 + ボタン -> 3D Object -> Cube
Hierarchy -> Cube Position (0, 0, 1) Rotation (0, 0, 0) Scale (0.2, 0.2, 0.2)
Cubeを動かしてみよう Object Manipulator をつける Object Manipulator 片手または両手でオブジェクトの - 移動 -
拡大・縮小 - 回転 ができるようになる (旧) Manipulation Handler
Cubeを動かしてみよう Simulator で動かす Shift で手を出して マウスを左クリック これでCubeを掴んだ 状態になる マウスを動かせば 上下左右に
ホイールを動かせば 前後に
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)
Button を配置しよう Scene を再生して、Shift を押しな がらマウスホイールを動かすとボ タンが押せる ポコッ♬ 音とアニメーションでフィードバック が返ってくる
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
Button などのコンポーネントを参照しやすくする Toolbox からコンポーネントを配置する
Button を押してCubeの色を変えよう Material を作ろう + ボタン -> Material で 2つのマテリアルを作る
右クリックでRenameして - Before - After としておく Shader を Mixed Reality Toolkit -> Standard に設定する
Button を押してCubeの色を変えよう Material を設定する Before Main Maps Albedo を (0,
100, 0) After Border Light にチェック Inner Glow にチェック Color を (0, 200, 255)
Button を押してCubeの色を変えよう Material を適応する Before を Cube に D&D
Button を押してCubeの色を変えよう Button を押したときのアクションを決めよう Pressable Button の Button Config Helper
の Basic Events の On Click () に Cube を D&D
Button を押してCubeの色を変えよう
Button を押してCubeの色を変えよう
Button を押してCubeの色を変えよう
まとめて動かそう Create Empty で空のオブ ジェクトを生成 名前をTreeにする 複数のオブジェクトをD&D でTreeの下に置く
まとめて動かそう Tree に Object Manipulator をアタッチするでもまとめて動かすことができるが、 今回は Joy Stick という
Experimental な機能を使う MRTKでは実験的な機能も公開されている Microsoft Mixed Reality Toolkit 2.5.0 release notes | Mixed Reality Toolkit Documentation
まとめて動かそう Joy Stick と入力 Joystick Prefab を Hierarchy に D&D
Position (-0.2, -0.1, 0.4) Target Object に Tree を D&D
まとめて動かそう Debug Text の文字がすごいでかいので、 3 くらいにする 遠方にあって操作しづらいものや、オブ ジェクトのサイズがすごい大きいor小さ いものでも、簡単に操作できる
空間を認識できるようにしよう Profilerの設定 • デフォルトではパフォーマンスの観点から 空間認識はOffになっている • MRTKで用意されているテンプレートのプロ ファイルは直接編集できず、テンプレート を複製して設定する Clone
で複製する チェックボックス を有効にする
アプリのビルド Package 名を変更する Unity で HoloLens (UWP) アプリを作る際のパッ ケージ名をプロダクト名に変更するスクリプト -
たるこすの日記 (hatenablog.com) HoloLensにインストールされている他アプリの パッケージ名と重複しない名前に変更する ※ 名前は何でもいい
アプリのビルド VR を有効にする
アプリのビルド アプリをビルドする ビルド先のフォルダを作成する ※ 名前は何でもいい ビルドを選択 フォルダーの選択
アプリのビルド アプリをビルドする ビルド後の.slnファイルを開く • Release • ARM64 • デバイス に切り替えてHoloLensをPCに接続してデバイスを押す
None
もっといいデモなかったのか… 10分は厳しかった…
Examples で使い方を覚えよう Unity Package Manager "com.microsoft.mixedreality. toolkit.examples": "2.5.1", を追加 MRTK
Examples Hub | Mixed Reality Toolkit Documentation (microsoft.github.io)
日本語ドキュメント MRTK へようこそ | Mixed Reality Toolkit Documentation (hololabinc.github.io)
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