SlideShare a Scribd company logo
takabrz1 大阪駆動開発 Takahiro Miyaura
OpenXR + XR Interaction Toolkit
使ったHoloLensコンテンツ開発検証
~ (私が)完全に理解できたらちゃんと作れて、いろいろ話できるはず編 ~
2022/03
Kobe HoloLens Meetup vol.5
宮浦 恭弘 (Miyaura Takahiro)
 大阪駆動開発(とHolomagicians)コミュニティに生息
 HoloLens日本販売してからxR系技術に取組む
 普段はよくMixed Reality Toolkitに関する調査している
 新しい技術や、MRに使えそうな技術を調べる
技術Tips : https://qiita.com/miyaura
@takabrz1 ※よかったらこれを機にお知り合いになってください
 リリース機能調べたり・・・
 面白い機能使ってみたり・・・
 新しい実験してフィードバックしたり・・・
最近はこちらに
Come Back気味
(貢献領域:Mixed Reality)
Microsoft MVP for Windows Development 2018-202 2
某会社でSE(アプリケーション領域のアーキテクト的なお仕事なはず)= XRは趣味です
と思ったらDigital Twins
この話をしようと思った経緯は
Mixed Reality Toolkit V3から来ています。
2022/02/16 Copyright © 2022 Takahiro Miyaura 3
Mixed Reality Toolkit V3について
 詳細が知りたい人はアーカイブへ
Tokyo HoloLens ミートアップ vol.29
~HoloLens日本上陸五周年記念!~
2022/01/19 Copyright © 2022 Takahiro Miyaura
動画を見たい方は・・・
HoloLens ミートアップのアーカイブは
Conpass等で後日共有予定
4
 Microsoft YoonさんからのV3に関する情報
 経緯
 アーキテクチャー
 リリース計画
 Etc…
Mixed Reality Toolkit V3について
- ロードマップ
2022年春~夏にPublic Preview→その後リリース予定
2022/01/19 Copyright © 2022 Takahiro Miyaura 5
Development
Now
• Port core UX building blocks
• Internal Validation
• Performance Analysis
Public Preview
Spring/Summer ‘22
• OpenXR
• New Architecture based on XRI
• New Mixed Reality Design
Language
• Independent Subsystems
• UI Theme System
• Data Binding
• Collection Navigator
• Volumetric Layout Tools
Public Contributions
Mixed Reality Toolkit V3について
- アーキテクチャ
フィードバックと業界標準のサポート
2022/01/19 Copyright © 2022 Takahiro Miyaura 6
○非MRTKのコードと容易に統合可能
○独立したサブシステム
○MRTK V2を使いながらMRTK V3へ移行が可能
○エンタープライズ規模に対応したコンポーネント
○トクロスプラットフォームデバイスのサポー
○業界標準のサポート(最小要件の変更)
Unity XR Interaction Toolkit(XRI) OpenXR Unity 2020.3 LTS
xRコンテンツ開発を簡素化することを
目的としたクロスプラットフォームXR
体験を実現するための仕様およびSDK
xRコンテンツ開発を実現する3D開発プ
ラットフォーム
xRデバイスとコンテンツのInteraction
を抽象化しデバイス固有の実装を隠蔽
かすることでクロスプラットフォーム
開発を支援するための開発キット
Mixed Reality Toolkit V3について
- アーキテクチャ
使いたい部分を導入しながらコンテンツ開発の自由度を上げる構造
2022/01/19 Copyright © 2022 Takahiro Miyaura 7
Theming / Branding
Data Binding
MRTK(No dependencies)
Volumetric Layout Accessibility
MRTK
Core UX
(Buttons, sliders, etc)
MRTK Interaction Layer
(Pointers, Gaze,
Stateful interactions)
Input Simulator
MRTK Subsystems
(Hands, Performance data, Speech, etc)
Tools
(Build Window, etc)
XR Interaction Toolkit
Input System XR / AR Subsystems
OpenXR / Microsoft Extentions
Unity
Visualizations
(Spatial Mesh, Performance
Monitor, Boundary)
Mixed Reality Toolkit V3について
- アーキテクチャ
使いたい部分を導入しながらコンテンツ開発の自由度を上げる構造
2022/01/19 Copyright © 2022 Takahiro Miyaura 8
Theming / Branding
Data Binding
MRTK(No dependencies)
Volumetric Layout Accessibility
MRTK
Core UX
(Buttons, sliders, etc)
MRTK Interaction Layer
(Pointers, Gaze,
Stateful interactions)
Input Simulator
MRTK Subsystems
(Hands, Performance data, Speech, etc)
Tools
(Build Window, etc)
XR Interaction Toolkit
Input System XR / AR Subsystems
OpenXR / Microsoft Extentions
Unity
Visualizations
(Spatial Mesh, Performance
Monitor, Boundary)
【ポイント2】
Unityの標準の手段が
土台になっている
【ポイント1】
OpenXRが基本
本日のお題
 OpenXR + XR Interaction Toolkitの話
 実際にHoloLens2向けにサンプルを構築
 OpenXRのみでの開発(各種トラッキング、イベントの制御)
 OpenXR + XR Interaction Toolkitでの開発
 と言いながらXR Interaction ToolkitのVRサンプルをコンパクトにして設定方法を調べた
2022/02/16 Copyright © 2022 Takahiro Miyaura 9
作ってみて気づいたことや、それぞれの話を簡単に。
なお、空間マッピングはまだ(ちょっとハードル高いw)
少しだけ技術の話
OpenXR
2022/02/16 Copyright © 2022 Takahiro Miyaura 10
OpenXR
https://www.khronos.org/openxr/
デバイス固有の制御を隠蔽化し実装部分の共通化を図るための仕組み
2022/02/16 Copyright © 2022 Takahiro Miyaura 11
Windows XR / Legacy XRを使う開
発
HoloLens を made with Unityすると。。。
OpenXRを使う開発
(Mixed Reality OpenXR Plugin)
移植が容易
XR Interaction Toolkit
https://docs.unity3d.com/Packages/com.unity.xr.interaction.toolkit@2.0/manual/installation.html
デバイス操作とコンテンツ動作を容易に相互作用する
2022/02/16 Copyright © 2022 Takahiro Miyaura 12
Interactors
選択したりするアク
ションを処理
Interactables
選択したり、アクティブに
することができるシーン内
のオブジェクト
Controllers
入力データを抽象化し、インターアク
ターがそれを使ってインタラクション
の状態(特に選択と起動)に変換する
方法を提供
Interaction
Manager
InteractorsとInteractablesの管理と仲
介
Regist
er
Regist
er
Select
Action Control
基本的な部分は
Mixed Reality Toolkitの
Input Systemに似ている
Interactables
Controllers
Cursor,Focus,Pointer…
MRTKが操作とコンテ
ンツをつなぐ…
OpenXRだけでHoloLens 2コンテンツ作る
割と面倒でした。。。
2022/02/16 Copyright © 2022 Takahiro Miyaura 13
OpenXRだけでHoloLens 2コンテンツ作る
環境
今回は以下の環境
2022/02/16 Copyright © 2022 Takahiro Miyaura 14
 Unity 2020.3.8f1(リビジョン注意!時々HoloLensに致命的なバグあり)
 Microsoft OpenXR Plugin 1.3.1 ※Mixed Reality Feature Toolでセットアップ
 Visual Studio 2019
OpenXRだけでHoloLens 2コンテンツ作る
 Tracked Pose Driverでデバイス操作と紐づけ
 Player Inputでデバイスのアクションと処理を紐づけ
2022/02/16 Copyright © 2022 Takahiro Miyaura 15
【結構実装しないといけないです】
※デバイスのトラッキングまでは実装不要
オブジェクトの制御は要実装
 手を認識→ハンドレイを表示
 ハンドレイがオブジェクトに衝突→オブジェクトを選択
 タップ→オブジェクトの色を変える
OpenXRだけでHoloLens 2コンテンツ作る
カメラ6DOF設定の例
Tracked Pose Driver(New Input System)をMainCameraに追加
2022/02/16 Copyright © 2022 Takahiro Miyaura 16
Position Actionに
devicePosition [OpenXR HMD]を設定
Rotation Actionに
deviceRotation [OpenXR HMD]を設定
Tracked Pose Driverを追加するとデバイスの情報がオブジェクトに反映
OpenXR HMDなので頭の動きに追従
OpenXRだけでHoloLens 2コンテンツ作る
アクションの定義
Player Inputを利用
2022/02/16 Copyright © 2022 Takahiro Miyaura 17
タップ操作でイベントを起こす場合
Input Action AssetにSelectPressedをアクションとして
定義する
デバイス操作から必要なものを
アクションとして定義
アクションに対応する処理を
処理するメソッドを関連付ける
OpenXRだけでHoloLens 2コンテンツ作る
アクションの定義
Input Action Assetはデバイス操作とアクションを紐づけ
2022/02/16 Copyright © 2022 Takahiro Miyaura 18
デバイス操作をアクションとして定義
(左手のタップ操作をSelectアクションで定義)
OpenXRだけでHoloLens 2コンテンツ作る
色々頑張るといつものあれができます!
2022/02/16 Copyright © 2022 Takahiro Miyaura 19
 割り当てたアクション
 Head Position(6DOF)
 ハンドトラッキング(Palmのみ)
 ハンドレイ
 タップ操作でのアクション
 実装例
 ハンドレイでフォーカス、タップでオブジェクトの色変更
 空間でタップすると豆腐が生み出される
OpenXR + XR Interaction Toolkit
でHoloLens 2コンテンツ作る
ほとんどサンプルを流用しました。
ほとんど変更いらないです。
2022/02/16 Copyright © 2022 Takahiro Miyaura 20
OpenXR + XR Interaction Toolkit でHoloLens 2コンテンツ作る
環境
今回は以下の環境
2022/02/16 Copyright © 2022 Takahiro Miyaura 21
 Unity 2020.3.8f1(リビジョン注意!時々HoloLensに致命的なバグあり)
 Microsoft OpenXR Plugin 1.3.1 ※Mixed Reality Feature Toolでセットアップ
 XR Interaction Toolkit 2.0.1
 Visual Studio 2019
XR Interaction Toolkitのサンプル「Starter Assets」を流用
基本的にはこのサンプルの設定をHoloLens用に変えれば動きます。
OpenXR + XR Interaction Toolkit で
HoloLens 2コンテンツ作る
基本はOpenXRの時と同じ
2022/02/16 Copyright © 2022 Takahiro Miyaura 22
 基本的な設定
 Tracked Pose Driverでデバイス操作と紐づけ
 Input Action Managerを配置
 Interaction Managerを設置
 ハンドトラッキング制御
 Action Based Controller Manager(なくてもいいか
も)
 XR Controller(Action-based)
 XR Ray Interactor(ハンドレイ利用の場合)
 XR Direct Interactor(つかむ動作用)
 操作するオブジェクト
 XR Grab Interactable
OpenXRだけでHoloLens 2コンテンツ作る
カメラ6DOF設定の例
Tracked Pose Driver(Input System)をMainCameraに追加
2022/02/16 Copyright © 2022 Takahiro Miyaura 23
考え方はOpenXRの時と一緒。
デバイスの動作を定義する方法がXRIではより共通化
Position Inputに
XRI Head/Positionを設定
Rotation Inputに
XRI Head/Positionを設定
OpenXRだけでHoloLens 2コンテンツ作る
アクションの定義
XRIでもデバイス操作とアクションを紐づけ
2022/02/16 Copyright © 2022 Takahiro Miyaura 24
Tracked Pose Driver(カメラ用)
に紐づけたのはこの定義
OpenXRだけでHoloLens 2コンテンツ作る
オブジェクトの定義
操作対象オブジェクトにInteractableを設定
2022/02/16 Copyright © 2022 Takahiro Miyaura 25
 動かしたいオブジェクトに追加
 実行時にInteractableをInteraction Managerに自動登録
 InteractorからのアクションがInteraction Managerを経由
してInteractableに伝達
 条件に応じて(フォーカス持ってる)制御
ここでInteraction Managerと紐づけ
OpenXRだけでHoloLens 2コンテンツ作る
おおむね最小限になりました
2022/02/16 Copyright © 2022 Takahiro Miyaura 26
 割り当てたアクション
 Head Position(6DOF)
 ハンドトラッキング(Palmのみ)
 ハンドレイ(左手のみ)
 つかむ制御(両手)
 各オブジェクトへの操作
 実装内容
 XRIのVRサンプルの一部を焼き直してHoloLens2用に
まとめ
 OpenXR + XR Interaction Toolkitの話
 実際にHoloLens2向けにサンプルを構築
 OpenXRのみでの開発(各種トラッキング、イベントの制御)
 OpenXR + XR Interaction Toolkitでの開発
 と言いながらXR Interaction ToolkitのVRサンプルをコンパクトにして設定方法を調べた
2022/02/16 Copyright © 2022 Takahiro Miyaura 27
 OpenXRのみでやるのはなかなか面倒
 その面を補完できるのがXRIで使い勝手はMRTKに近
い
 XRIとMRTKが融合するととても便利そう
 空間マッピングはいずれやっておきますw
最後に
GitHubに今回作ったサンプルあげておきました
2022/02/16 Copyright © 2022 Takahiro Miyaura 28
もう少し細かいことはQiitaにも書く予定
 https://github.com/TakahiroMiyaura/OpenXRHoloLensSamples
大阪駆動開発
関西を中心に、IT系のおもしろそうなことを
楽しんでやるコミュニティ

More Related Content

What's hot

What's hot (20)

Hololens2 MRTK2.7(OpenXR) でのビルド環境構築(環境設定からビルドまで)
Hololens2 MRTK2.7(OpenXR) でのビルド環境構築(環境設定からビルドまで)Hololens2 MRTK2.7(OpenXR) でのビルド環境構築(環境設定からビルドまで)
Hololens2 MRTK2.7(OpenXR) でのビルド環境構築(環境設定からビルドまで)
 
OpenVRやOpenXRの基本的なことを調べてみた
OpenVRやOpenXRの基本的なことを調べてみたOpenVRやOpenXRの基本的なことを調べてみた
OpenVRやOpenXRの基本的なことを調べてみた
 
シェーダーを活用した3Dライブ演出のアップデート ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スクスタ)の開発事例~​
シェーダーを活用した3Dライブ演出のアップデート ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スクスタ)の開発事例~​シェーダーを活用した3Dライブ演出のアップデート ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スクスタ)の開発事例~​
シェーダーを活用した3Dライブ演出のアップデート ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スクスタ)の開発事例~​
 
MRTK3を調べてみた
MRTK3を調べてみたMRTK3を調べてみた
MRTK3を調べてみた
 
猫でも分かるUE4のポストプロセスを使った演出・絵作り
猫でも分かるUE4のポストプロセスを使った演出・絵作り猫でも分かるUE4のポストプロセスを使った演出・絵作り
猫でも分かるUE4のポストプロセスを使った演出・絵作り
 
CEDEC2016: Unreal Engine 4 のレンダリングフロー総おさらい
CEDEC2016: Unreal Engine 4 のレンダリングフロー総おさらいCEDEC2016: Unreal Engine 4 のレンダリングフロー総おさらい
CEDEC2016: Unreal Engine 4 のレンダリングフロー総おさらい
 
なぜなにFProperty - 対応方法と改善点 -
なぜなにFProperty - 対応方法と改善点 -なぜなにFProperty - 対応方法と改善点 -
なぜなにFProperty - 対応方法と改善点 -
 
猫でも分かるUMG
猫でも分かるUMG猫でも分かるUMG
猫でも分かるUMG
 
Unityではじめるオープンワールド制作 エンジニア編
Unityではじめるオープンワールド制作 エンジニア編Unityではじめるオープンワールド制作 エンジニア編
Unityではじめるオープンワールド制作 エンジニア編
 
UE4におけるキャラクタークラス設計
UE4におけるキャラクタークラス設計UE4におけるキャラクタークラス設計
UE4におけるキャラクタークラス設計
 
60fpsアクションを実現する秘訣を伝授 解析編
60fpsアクションを実現する秘訣を伝授 解析編60fpsアクションを実現する秘訣を伝授 解析編
60fpsアクションを実現する秘訣を伝授 解析編
 
個人製作インディーゲーム”ジラフとアンニカ” のUE4 制作事例紹介 | UNREAL FEST EXTREME 2020 WINTER
個人製作インディーゲーム”ジラフとアンニカ” のUE4 制作事例紹介 | UNREAL FEST EXTREME 2020 WINTER個人製作インディーゲーム”ジラフとアンニカ” のUE4 制作事例紹介 | UNREAL FEST EXTREME 2020 WINTER
個人製作インディーゲーム”ジラフとアンニカ” のUE4 制作事例紹介 | UNREAL FEST EXTREME 2020 WINTER
 
MRTKをNreal Lightに対応させてみた
MRTKをNreal Lightに対応させてみたMRTKをNreal Lightに対応させてみた
MRTKをNreal Lightに対応させてみた
 
60fpsアクションを実現する秘訣を伝授 基礎編
60fpsアクションを実現する秘訣を伝授 基礎編60fpsアクションを実現する秘訣を伝授 基礎編
60fpsアクションを実現する秘訣を伝授 基礎編
 
「Press Button, Drink Coffee」 UE4における ビルドパイプラインとメンテナンスの全体像
「Press Button, Drink Coffee」 UE4における ビルドパイプラインとメンテナンスの全体像「Press Button, Drink Coffee」 UE4における ビルドパイプラインとメンテナンスの全体像
「Press Button, Drink Coffee」 UE4における ビルドパイプラインとメンテナンスの全体像
 
Epic Online Services でできること
Epic Online Services でできることEpic Online Services でできること
Epic Online Services でできること
 
OpenCVで作るスタンプAR
OpenCVで作るスタンプAROpenCVで作るスタンプAR
OpenCVで作るスタンプAR
 
Unreal Engine 4を使って地球を衛る方法
Unreal Engine 4を使って地球を衛る方法Unreal Engine 4を使って地球を衛る方法
Unreal Engine 4を使って地球を衛る方法
 
メカアクションゲーム『DAEMON X MACHINA』 信念と血と鋼鉄の開発事例
メカアクションゲーム『DAEMON X MACHINA』 信念と血と鋼鉄の開発事例メカアクションゲーム『DAEMON X MACHINA』 信念と血と鋼鉄の開発事例
メカアクションゲーム『DAEMON X MACHINA』 信念と血と鋼鉄の開発事例
 
UE4アセットリダクション手法紹介
UE4アセットリダクション手法紹介UE4アセットリダクション手法紹介
UE4アセットリダクション手法紹介
 

Similar to OpenXR + XR Interaction Toolkit使ったHoloLensコンテンツ開発検証 ~ (私が)完全に理解できたらちゃんと作れて、いろいろ話できるはず編 ~

Similar to OpenXR + XR Interaction Toolkit使ったHoloLensコンテンツ開発検証 ~ (私が)完全に理解できたらちゃんと作れて、いろいろ話できるはず編 ~ (20)

今改めて見る Plane finding
今改めて見る Plane finding今改めて見る Plane finding
今改めて見る Plane finding
 
【続】OpenXRでHoloLensアプリを作る
【続】OpenXRでHoloLensアプリを作る【続】OpenXRでHoloLensアプリを作る
【続】OpenXRでHoloLensアプリを作る
 
World Locking Tools V1.0.0について~ 機能と導入 ~
World Locking Tools V1.0.0について~ 機能と導入 ~ World Locking Tools V1.0.0について~ 機能と導入 ~
World Locking Tools V1.0.0について~ 機能と導入 ~
 
HoloLens1アプリをHoloLens2アプリに変換できるかチャレンジ
HoloLens1アプリをHoloLens2アプリに変換できるかチャレンジHoloLens1アプリをHoloLens2アプリに変換できるかチャレンジ
HoloLens1アプリをHoloLens2アプリに変換できるかチャレンジ
 
Mixed Reality関連のSDKの状況を調べてみた
Mixed Reality関連のSDKの状況を調べてみたMixed Reality関連のSDKの状況を調べてみた
Mixed Reality関連のSDKの状況を調べてみた
 
HoloLens 1のアプリをHoloLens 2に移行する
HoloLens 1のアプリをHoloLens 2に移行するHoloLens 1のアプリをHoloLens 2に移行する
HoloLens 1のアプリをHoloLens 2に移行する
 
「あれ」がスマホで動くのか試してみた
「あれ」がスマホで動くのか試してみた「あれ」がスマホで動くのか試してみた
「あれ」がスマホで動くのか試してみた
 
UIデザイン設計から開発をつなぐ「MRTK Figma Bridge for Unity」を使ってみよう
UIデザイン設計から開発をつなぐ「MRTK Figma Bridge for Unity」を使ってみようUIデザイン設計から開発をつなぐ「MRTK Figma Bridge for Unity」を使ってみよう
UIデザイン設計から開発をつなぐ「MRTK Figma Bridge for Unity」を使ってみよう
 
Mixed Reality Feature ToolとMixed Reality Toolkit V2.6.1
Mixed Reality Feature ToolとMixed Reality Toolkit V2.6.1Mixed Reality Feature ToolとMixed Reality Toolkit V2.6.1
Mixed Reality Feature ToolとMixed Reality Toolkit V2.6.1
 
HoloLensでコンテンツを操作する方法 - Gaze And Dwell -
HoloLensでコンテンツを操作する方法 - Gaze And Dwell -HoloLensでコンテンツを操作する方法 - Gaze And Dwell -
HoloLensでコンテンツを操作する方法 - Gaze And Dwell -
 
MixedReality技術とその活用事例~xR(VR/AR/MR...)への基礎知識~
MixedReality技術とその活用事例~xR(VR/AR/MR...)への基礎知識~MixedReality技術とその活用事例~xR(VR/AR/MR...)への基礎知識~
MixedReality技術とその活用事例~xR(VR/AR/MR...)への基礎知識~
 
Mixed Reality Toolkit V3について
Mixed Reality Toolkit V3についてMixed Reality Toolkit V3について
Mixed Reality Toolkit V3について
 
Mixed Reality Toolkit 3 Recap
Mixed Reality Toolkit 3 RecapMixed Reality Toolkit 3 Recap
Mixed Reality Toolkit 3 Recap
 
Oculus Quest 2 on Mixed Reality Toolkit V2.5.0~ ハンドトラッキングする方法 ~
Oculus Quest 2 on Mixed Reality Toolkit V2.5.0~ ハンドトラッキングする方法 ~Oculus Quest 2 on Mixed Reality Toolkit V2.5.0~ ハンドトラッキングする方法 ~
Oculus Quest 2 on Mixed Reality Toolkit V2.5.0~ ハンドトラッキングする方法 ~
 
IoT関連のAzureを使い倒して お部屋の空気観測装置を作った話
IoT関連のAzureを使い倒して お部屋の空気観測装置を作った話IoT関連のAzureを使い倒して お部屋の空気観測装置を作った話
IoT関連のAzureを使い倒して お部屋の空気観測装置を作った話
 
Unreal Engine でアプリ開発~ MRTK UXTools for Unreal V0.9.0 ~
Unreal Engine でアプリ開発~ MRTK UXTools for Unreal V0.9.0 ~Unreal Engine でアプリ開発~ MRTK UXTools for Unreal V0.9.0 ~
Unreal Engine でアプリ開発~ MRTK UXTools for Unreal V0.9.0 ~
 
Mixed Reality Toolkit 3 のチュートリアル「Zappy’s Playground」の紹介
Mixed Reality Toolkit 3 のチュートリアル「Zappy’s Playground」の紹介Mixed Reality Toolkit 3 のチュートリアル「Zappy’s Playground」の紹介
Mixed Reality Toolkit 3 のチュートリアル「Zappy’s Playground」の紹介
 
クロスプラットフォーム開発としての「Mixed Reality Toolkit V2」が持つ可能性
クロスプラットフォーム開発としての「Mixed Reality Toolkit V2」が持つ可能性クロスプラットフォーム開発としての「Mixed Reality Toolkit V2」が持つ可能性
クロスプラットフォーム開発としての「Mixed Reality Toolkit V2」が持つ可能性
 
だんグラで「Mixed Reality Toolkit V2」のサンプルを動かしてみた
だんグラで「Mixed Reality Toolkit V2」のサンプルを動かしてみただんグラで「Mixed Reality Toolkit V2」のサンプルを動かしてみた
だんグラで「Mixed Reality Toolkit V2」のサンプルを動かしてみた
 
Mixed Reality Toolkit V2.2.0のMobile対応について
Mixed Reality Toolkit V2.2.0のMobile対応についてMixed Reality Toolkit V2.2.0のMobile対応について
Mixed Reality Toolkit V2.2.0のMobile対応について
 

More from Takahiro Miyaura

More from Takahiro Miyaura (16)

Microsoft Ignite 2022の情報 & Microsoft Learnの整理をしてみた
Microsoft Ignite 2022の情報 & Microsoft Learnの整理をしてみたMicrosoft Ignite 2022の情報 & Microsoft Learnの整理をしてみた
Microsoft Ignite 2022の情報 & Microsoft Learnの整理をしてみた
 
Mixed Reality Toolkit 3 の更新状況 - 6月からもちょいちょいアップデートされてるよ
Mixed Reality Toolkit 3 の更新状況 - 6月からもちょいちょいアップデートされてるよMixed Reality Toolkit 3 の更新状況 - 6月からもちょいちょいアップデートされてるよ
Mixed Reality Toolkit 3 の更新状況 - 6月からもちょいちょいアップデートされてるよ
 
Mixed Reality Toolkit 3 - 「MRTK XR Rig」と「Bounds Control」
Mixed Reality Toolkit 3 - 「MRTK XR Rig」と「Bounds Control」Mixed Reality Toolkit 3 - 「MRTK XR Rig」と「Bounds Control」
Mixed Reality Toolkit 3 - 「MRTK XR Rig」と「Bounds Control」
 
Mixed Reality Toolkit 3 のチュートリアル「Zappy’s Playground」のUXをみる
Mixed Reality Toolkit 3 のチュートリアル「Zappy’s Playground」のUXをみるMixed Reality Toolkit 3 のチュートリアル「Zappy’s Playground」のUXをみる
Mixed Reality Toolkit 3 のチュートリアル「Zappy’s Playground」のUXをみる
 
Mixed Reality Toolkit で OpenXRのEye Trackingを使う
Mixed Reality Toolkit で OpenXRのEye Trackingを使うMixed Reality Toolkit で OpenXRのEye Trackingを使う
Mixed Reality Toolkit で OpenXRのEye Trackingを使う
 
Mixed RealityとAzure Digital Twinsを組合わせてデジタルツインを可視化するためのTips
Mixed RealityとAzure Digital Twinsを組合わせてデジタルツインを可視化するためのTipsMixed RealityとAzure Digital Twinsを組合わせてデジタルツインを可視化するためのTips
Mixed RealityとAzure Digital Twinsを組合わせてデジタルツインを可視化するためのTips
 
5周年ふりかえり!HoloLens 1とHoloLens 2のUI操作と実装の違いを改めて見てみよう
5周年ふりかえり!HoloLens 1とHoloLens 2のUI操作と実装の違いを改めて見てみよう5周年ふりかえり!HoloLens 1とHoloLens 2のUI操作と実装の違いを改めて見てみよう
5周年ふりかえり!HoloLens 1とHoloLens 2のUI操作と実装の違いを改めて見てみよう
 
World Locking Tools でAzure Spatial Anchorsが使えるようになった
World Locking Tools でAzure Spatial Anchorsが使えるようになったWorld Locking Tools でAzure Spatial Anchorsが使えるようになった
World Locking Tools でAzure Spatial Anchorsが使えるようになった
 
Azure Digital TwinとUnreal Engineを統合するADTLink Pluginについて
 Azure Digital TwinとUnreal Engineを統合するADTLink Pluginについて Azure Digital TwinとUnreal Engineを統合するADTLink Pluginについて
Azure Digital TwinとUnreal Engineを統合するADTLink Pluginについて
 
久しぶりにMicrosoft Meshを使ってみた - 色々変わってたよ編 -
久しぶりにMicrosoft Meshを使ってみた - 色々変わってたよ編 -久しぶりにMicrosoft Meshを使ってみた - 色々変わってたよ編 -
久しぶりにMicrosoft Meshを使ってみた - 色々変わってたよ編 -
 
Azure Object Anchors のQuick Startで理解を深めたい
Azure Object Anchors のQuick Startで理解を深めたいAzure Object Anchors のQuick Startで理解を深めたい
Azure Object Anchors のQuick Startで理解を深めたい
 
Build 2021のDigital Twinsセションを読み解く ~Azure関連サービス概要とラーニングパスの詳説~
Build 2021のDigital Twinsセションを読み解く ~Azure関連サービス概要とラーニングパスの詳説~Build 2021のDigital Twinsセションを読み解く ~Azure関連サービス概要とラーニングパスの詳説~
Build 2021のDigital Twinsセションを読み解く ~Azure関連サービス概要とラーニングパスの詳説~
 
ラーニングパス「Azure Digital Twins と Unity を使用して Mixed Reality デジタル ツインを構築する」にAzure ...
ラーニングパス「Azure Digital Twins と Unity を使用して Mixed Reality デジタル ツインを構築する」にAzure ...ラーニングパス「Azure Digital Twins と Unity を使用して Mixed Reality デジタル ツインを構築する」にAzure ...
ラーニングパス「Azure Digital Twins と Unity を使用して Mixed Reality デジタル ツインを構築する」にAzure ...
 
Azure Object Anchors Recap(Kobe版)
Azure Object Anchors Recap(Kobe版)Azure Object Anchors Recap(Kobe版)
Azure Object Anchors Recap(Kobe版)
 
Azure Object Anchors Recap
Azure Object Anchors RecapAzure Object Anchors Recap
Azure Object Anchors Recap
 
Unityは知ってる開発者が UE4 で HoloLens 2 アプリ開発セションを聞くために知っておくといいかもTips
Unityは知ってる開発者が UE4 で HoloLens 2 アプリ開発セションを聞くために知っておくといいかもTipsUnityは知ってる開発者が UE4 で HoloLens 2 アプリ開発セションを聞くために知っておくといいかもTips
Unityは知ってる開発者が UE4 で HoloLens 2 アプリ開発セションを聞くために知っておくといいかもTips
 

Recently uploaded

FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance
 
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
ssuserbefd24
 

Recently uploaded (14)

FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
 
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
 
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
 

OpenXR + XR Interaction Toolkit使ったHoloLensコンテンツ開発検証 ~ (私が)完全に理解できたらちゃんと作れて、いろいろ話できるはず編 ~

  • 1. takabrz1 大阪駆動開発 Takahiro Miyaura OpenXR + XR Interaction Toolkit 使ったHoloLensコンテンツ開発検証 ~ (私が)完全に理解できたらちゃんと作れて、いろいろ話できるはず編 ~ 2022/03 Kobe HoloLens Meetup vol.5
  • 2. 宮浦 恭弘 (Miyaura Takahiro)  大阪駆動開発(とHolomagicians)コミュニティに生息  HoloLens日本販売してからxR系技術に取組む  普段はよくMixed Reality Toolkitに関する調査している  新しい技術や、MRに使えそうな技術を調べる 技術Tips : https://qiita.com/miyaura @takabrz1 ※よかったらこれを機にお知り合いになってください  リリース機能調べたり・・・  面白い機能使ってみたり・・・  新しい実験してフィードバックしたり・・・ 最近はこちらに Come Back気味 (貢献領域:Mixed Reality) Microsoft MVP for Windows Development 2018-202 2 某会社でSE(アプリケーション領域のアーキテクト的なお仕事なはず)= XRは趣味です と思ったらDigital Twins
  • 3. この話をしようと思った経緯は Mixed Reality Toolkit V3から来ています。 2022/02/16 Copyright © 2022 Takahiro Miyaura 3
  • 4. Mixed Reality Toolkit V3について  詳細が知りたい人はアーカイブへ Tokyo HoloLens ミートアップ vol.29 ~HoloLens日本上陸五周年記念!~ 2022/01/19 Copyright © 2022 Takahiro Miyaura 動画を見たい方は・・・ HoloLens ミートアップのアーカイブは Conpass等で後日共有予定 4  Microsoft YoonさんからのV3に関する情報  経緯  アーキテクチャー  リリース計画  Etc…
  • 5. Mixed Reality Toolkit V3について - ロードマップ 2022年春~夏にPublic Preview→その後リリース予定 2022/01/19 Copyright © 2022 Takahiro Miyaura 5 Development Now • Port core UX building blocks • Internal Validation • Performance Analysis Public Preview Spring/Summer ‘22 • OpenXR • New Architecture based on XRI • New Mixed Reality Design Language • Independent Subsystems • UI Theme System • Data Binding • Collection Navigator • Volumetric Layout Tools Public Contributions
  • 6. Mixed Reality Toolkit V3について - アーキテクチャ フィードバックと業界標準のサポート 2022/01/19 Copyright © 2022 Takahiro Miyaura 6 ○非MRTKのコードと容易に統合可能 ○独立したサブシステム ○MRTK V2を使いながらMRTK V3へ移行が可能 ○エンタープライズ規模に対応したコンポーネント ○トクロスプラットフォームデバイスのサポー ○業界標準のサポート(最小要件の変更) Unity XR Interaction Toolkit(XRI) OpenXR Unity 2020.3 LTS xRコンテンツ開発を簡素化することを 目的としたクロスプラットフォームXR 体験を実現するための仕様およびSDK xRコンテンツ開発を実現する3D開発プ ラットフォーム xRデバイスとコンテンツのInteraction を抽象化しデバイス固有の実装を隠蔽 かすることでクロスプラットフォーム 開発を支援するための開発キット
  • 7. Mixed Reality Toolkit V3について - アーキテクチャ 使いたい部分を導入しながらコンテンツ開発の自由度を上げる構造 2022/01/19 Copyright © 2022 Takahiro Miyaura 7 Theming / Branding Data Binding MRTK(No dependencies) Volumetric Layout Accessibility MRTK Core UX (Buttons, sliders, etc) MRTK Interaction Layer (Pointers, Gaze, Stateful interactions) Input Simulator MRTK Subsystems (Hands, Performance data, Speech, etc) Tools (Build Window, etc) XR Interaction Toolkit Input System XR / AR Subsystems OpenXR / Microsoft Extentions Unity Visualizations (Spatial Mesh, Performance Monitor, Boundary)
  • 8. Mixed Reality Toolkit V3について - アーキテクチャ 使いたい部分を導入しながらコンテンツ開発の自由度を上げる構造 2022/01/19 Copyright © 2022 Takahiro Miyaura 8 Theming / Branding Data Binding MRTK(No dependencies) Volumetric Layout Accessibility MRTK Core UX (Buttons, sliders, etc) MRTK Interaction Layer (Pointers, Gaze, Stateful interactions) Input Simulator MRTK Subsystems (Hands, Performance data, Speech, etc) Tools (Build Window, etc) XR Interaction Toolkit Input System XR / AR Subsystems OpenXR / Microsoft Extentions Unity Visualizations (Spatial Mesh, Performance Monitor, Boundary) 【ポイント2】 Unityの標準の手段が 土台になっている 【ポイント1】 OpenXRが基本
  • 9. 本日のお題  OpenXR + XR Interaction Toolkitの話  実際にHoloLens2向けにサンプルを構築  OpenXRのみでの開発(各種トラッキング、イベントの制御)  OpenXR + XR Interaction Toolkitでの開発  と言いながらXR Interaction ToolkitのVRサンプルをコンパクトにして設定方法を調べた 2022/02/16 Copyright © 2022 Takahiro Miyaura 9 作ってみて気づいたことや、それぞれの話を簡単に。 なお、空間マッピングはまだ(ちょっとハードル高いw)
  • 11. OpenXR https://www.khronos.org/openxr/ デバイス固有の制御を隠蔽化し実装部分の共通化を図るための仕組み 2022/02/16 Copyright © 2022 Takahiro Miyaura 11 Windows XR / Legacy XRを使う開 発 HoloLens を made with Unityすると。。。 OpenXRを使う開発 (Mixed Reality OpenXR Plugin) 移植が容易
  • 12. XR Interaction Toolkit https://docs.unity3d.com/Packages/com.unity.xr.interaction.toolkit@2.0/manual/installation.html デバイス操作とコンテンツ動作を容易に相互作用する 2022/02/16 Copyright © 2022 Takahiro Miyaura 12 Interactors 選択したりするアク ションを処理 Interactables 選択したり、アクティブに することができるシーン内 のオブジェクト Controllers 入力データを抽象化し、インターアク ターがそれを使ってインタラクション の状態(特に選択と起動)に変換する 方法を提供 Interaction Manager InteractorsとInteractablesの管理と仲 介 Regist er Regist er Select Action Control 基本的な部分は Mixed Reality Toolkitの Input Systemに似ている Interactables Controllers Cursor,Focus,Pointer… MRTKが操作とコンテ ンツをつなぐ…
  • 14. OpenXRだけでHoloLens 2コンテンツ作る 環境 今回は以下の環境 2022/02/16 Copyright © 2022 Takahiro Miyaura 14  Unity 2020.3.8f1(リビジョン注意!時々HoloLensに致命的なバグあり)  Microsoft OpenXR Plugin 1.3.1 ※Mixed Reality Feature Toolでセットアップ  Visual Studio 2019
  • 15. OpenXRだけでHoloLens 2コンテンツ作る  Tracked Pose Driverでデバイス操作と紐づけ  Player Inputでデバイスのアクションと処理を紐づけ 2022/02/16 Copyright © 2022 Takahiro Miyaura 15 【結構実装しないといけないです】 ※デバイスのトラッキングまでは実装不要 オブジェクトの制御は要実装  手を認識→ハンドレイを表示  ハンドレイがオブジェクトに衝突→オブジェクトを選択  タップ→オブジェクトの色を変える
  • 16. OpenXRだけでHoloLens 2コンテンツ作る カメラ6DOF設定の例 Tracked Pose Driver(New Input System)をMainCameraに追加 2022/02/16 Copyright © 2022 Takahiro Miyaura 16 Position Actionに devicePosition [OpenXR HMD]を設定 Rotation Actionに deviceRotation [OpenXR HMD]を設定 Tracked Pose Driverを追加するとデバイスの情報がオブジェクトに反映 OpenXR HMDなので頭の動きに追従
  • 17. OpenXRだけでHoloLens 2コンテンツ作る アクションの定義 Player Inputを利用 2022/02/16 Copyright © 2022 Takahiro Miyaura 17 タップ操作でイベントを起こす場合 Input Action AssetにSelectPressedをアクションとして 定義する デバイス操作から必要なものを アクションとして定義 アクションに対応する処理を 処理するメソッドを関連付ける
  • 18. OpenXRだけでHoloLens 2コンテンツ作る アクションの定義 Input Action Assetはデバイス操作とアクションを紐づけ 2022/02/16 Copyright © 2022 Takahiro Miyaura 18 デバイス操作をアクションとして定義 (左手のタップ操作をSelectアクションで定義)
  • 19. OpenXRだけでHoloLens 2コンテンツ作る 色々頑張るといつものあれができます! 2022/02/16 Copyright © 2022 Takahiro Miyaura 19  割り当てたアクション  Head Position(6DOF)  ハンドトラッキング(Palmのみ)  ハンドレイ  タップ操作でのアクション  実装例  ハンドレイでフォーカス、タップでオブジェクトの色変更  空間でタップすると豆腐が生み出される
  • 20. OpenXR + XR Interaction Toolkit でHoloLens 2コンテンツ作る ほとんどサンプルを流用しました。 ほとんど変更いらないです。 2022/02/16 Copyright © 2022 Takahiro Miyaura 20
  • 21. OpenXR + XR Interaction Toolkit でHoloLens 2コンテンツ作る 環境 今回は以下の環境 2022/02/16 Copyright © 2022 Takahiro Miyaura 21  Unity 2020.3.8f1(リビジョン注意!時々HoloLensに致命的なバグあり)  Microsoft OpenXR Plugin 1.3.1 ※Mixed Reality Feature Toolでセットアップ  XR Interaction Toolkit 2.0.1  Visual Studio 2019 XR Interaction Toolkitのサンプル「Starter Assets」を流用 基本的にはこのサンプルの設定をHoloLens用に変えれば動きます。
  • 22. OpenXR + XR Interaction Toolkit で HoloLens 2コンテンツ作る 基本はOpenXRの時と同じ 2022/02/16 Copyright © 2022 Takahiro Miyaura 22  基本的な設定  Tracked Pose Driverでデバイス操作と紐づけ  Input Action Managerを配置  Interaction Managerを設置  ハンドトラッキング制御  Action Based Controller Manager(なくてもいいか も)  XR Controller(Action-based)  XR Ray Interactor(ハンドレイ利用の場合)  XR Direct Interactor(つかむ動作用)  操作するオブジェクト  XR Grab Interactable
  • 23. OpenXRだけでHoloLens 2コンテンツ作る カメラ6DOF設定の例 Tracked Pose Driver(Input System)をMainCameraに追加 2022/02/16 Copyright © 2022 Takahiro Miyaura 23 考え方はOpenXRの時と一緒。 デバイスの動作を定義する方法がXRIではより共通化 Position Inputに XRI Head/Positionを設定 Rotation Inputに XRI Head/Positionを設定
  • 24. OpenXRだけでHoloLens 2コンテンツ作る アクションの定義 XRIでもデバイス操作とアクションを紐づけ 2022/02/16 Copyright © 2022 Takahiro Miyaura 24 Tracked Pose Driver(カメラ用) に紐づけたのはこの定義
  • 25. OpenXRだけでHoloLens 2コンテンツ作る オブジェクトの定義 操作対象オブジェクトにInteractableを設定 2022/02/16 Copyright © 2022 Takahiro Miyaura 25  動かしたいオブジェクトに追加  実行時にInteractableをInteraction Managerに自動登録  InteractorからのアクションがInteraction Managerを経由 してInteractableに伝達  条件に応じて(フォーカス持ってる)制御 ここでInteraction Managerと紐づけ
  • 26. OpenXRだけでHoloLens 2コンテンツ作る おおむね最小限になりました 2022/02/16 Copyright © 2022 Takahiro Miyaura 26  割り当てたアクション  Head Position(6DOF)  ハンドトラッキング(Palmのみ)  ハンドレイ(左手のみ)  つかむ制御(両手)  各オブジェクトへの操作  実装内容  XRIのVRサンプルの一部を焼き直してHoloLens2用に
  • 27. まとめ  OpenXR + XR Interaction Toolkitの話  実際にHoloLens2向けにサンプルを構築  OpenXRのみでの開発(各種トラッキング、イベントの制御)  OpenXR + XR Interaction Toolkitでの開発  と言いながらXR Interaction ToolkitのVRサンプルをコンパクトにして設定方法を調べた 2022/02/16 Copyright © 2022 Takahiro Miyaura 27  OpenXRのみでやるのはなかなか面倒  その面を補完できるのがXRIで使い勝手はMRTKに近 い  XRIとMRTKが融合するととても便利そう  空間マッピングはいずれやっておきますw
  • 28. 最後に GitHubに今回作ったサンプルあげておきました 2022/02/16 Copyright © 2022 Takahiro Miyaura 28 もう少し細かいことはQiitaにも書く予定  https://github.com/TakahiroMiyaura/OpenXRHoloLensSamples