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.1k
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
C++でシェーダを書く
fadis
6
4.1k
聞き手から登壇者へ: RubyKaigi2024 LTでの初挑戦が 教えてくれた、可能性の星
mikik0
1
130
受け取る人から提供する人になるということ
little_rubyist
0
230
Why Jakarta EE Matters to Spring - and Vice Versa
ivargrimstad
0
1.1k
エンジニアとして関わる要件と仕様(公開用)
murabayashi
0
290
Hotwire or React? ~アフタートーク・本編に含めなかった話~ / Hotwire or React? after talk
harunatsujita
1
120
よくできたテンプレート言語として TypeScript + JSX を利用する試み / Using TypeScript + JSX outside of Web Frontend #TSKaigiKansai
izumin5210
6
1.7k
GitHub Actionsのキャッシュと手を挙げることの大切さとそれに必要なこと
satoshi256kbyte
5
430
【Kaigi on Rails 2024】YOUTRUST スポンサーLT
krpk1900
1
330
Nurturing OpenJDK distribution: Eclipse Temurin Success History and plan
ivargrimstad
0
920
2024/11/8 関西Kaggler会 2024 #3 / Kaggle Kernel で Gemma 2 × vLLM を動かす。
kohecchi
5
920
macOS でできる リアルタイム動画像処理
biacco42
9
2.4k
Featured
See All Featured
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
109
49k
Scaling GitHub
holman
458
140k
Ruby is Unlike a Banana
tanoku
97
11k
How to train your dragon (web standard)
notwaldorf
88
5.7k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
KATA
mclloyd
29
14k
A Philosophy of Restraint
colly
203
16k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
4 Signs Your Business is Dying
shpigford
180
21k
Documentation Writing (for coders)
carmenintech
65
4.4k
Being A Developer After 40
akosma
86
590k
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