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
1.1k
Other Decks in Programming
See All in Programming
CSC486 Lecture 14
javiergs
PRO
0
140
Functional APIから再考するLangGraphを使う理由
os1ma
4
630
アプリのビルドを楽にするかわいいスクリプトを作ってみた
reimim
0
120
プログラミング教育のコスパの話
superkinoko
0
100
Denoでフロントエンド開発 2025年春版 / Frontend Development with Deno (Spring 2025)
petamoriken
1
1.2k
ベクトル検索システムの気持ち
monochromegane
8
2.4k
ニックトレイン登壇資料
ryotakurokawa
0
120
‘무차별 LGTM~👍’만 외치던 우리가 ‘고봉밥 코드 리뷰’를?
hannah0731
0
490
Effective Signals in Angular 19+ Rules and Helpers
manfredsteyer
PRO
0
170
requirements with math
moony
0
490
生産性アップのためのAI個人活用
kunoyasu
0
460
AI時代のプログラミング教育 / programming education in ai era
kishida
22
19k
Featured
See All Featured
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.5k
It's Worth the Effort
3n
184
28k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.3k
Faster Mobile Websites
deanohume
306
31k
Visualization
eitanlees
146
15k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7.2k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
Fireside Chat
paigeccino
37
3.3k
How GitHub (no longer) Works
holman
314
140k
The Invisible Side of Design
smashingmag
299
50k
Rebuilding a faster, lazier Slack
samanthasiow
80
8.9k
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