Mixed Reality Toolkit 3 - 「MRTK XR Rig」と「Bounds Control」

3.2K Views

September 21, 22

スライド概要

XRミーティング 2022/9/21 #XRMTG (https://osaka-driven-dev.connpass.com/event/259203/)登壇資料。
MRTK3をMagic Leap 2で動かすためにカメラや入力系の部品「MRTK XR Rig」の調査をした話。

profile-image

ICT業界でソフトウェアエンジニア/アプリケーションアーキテクトを担当。 社内ではXR関連技術に関する啓もう活動や技術支援に従事。 業務の傍ら、XR(特にMixed Reality領域)についての開発技術の調査、開発などを行っています。 また、「大阪駆動開発」コミュニティ所属しており、日々の調査で得た知見はコミュニティを通して情報発信を行っています。

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

Mixed Reality Toolkit 3 「MRTK XR Rig」と「Bounds Control」 2022/09 XRミーティング takabrz1 Takahiro Miyaura

2.

Microsoft MVP for Mixed Reality 2018-2023 某会社でSE(アプリケーション領域のアーキテクト的なお仕事なはず)= XRは趣味です(貢献領域:Mixed Reality) 宮浦 恭弘 (Miyaura Takahiro) ◼ 大阪駆動開発(とHolomagicians)コミュニティに生息 ◼ HoloLens日本販売してからxR系技術に取組む ◼最近はMixed Reality Toolkit 3と戯れている。 ◼ 新しい技術や、MRに使えそうな技術を調べる 技術Tips : https://qiita.com/miyaura @takabrz1 ※よかったらこれを機にお知り合いになってください

3.

本日の内容 ◼ Mixed Reality Toolkit 3の機能を見てみる ✓ MRTK XR Rig ✓ カメラやコントローラの基本Prefab ✓ (おまけ) Bounds Control ✓ 実装方法がV2と異なるか 2022/9/21 Copyright © 2022 Takahiro Miyaura 3

4.

経緯 ML2ハッカソンみたいなことがあった MRTK3がMagic Leap 2で動くかな? とかしていた。 2022/9/21 Copyright © 2022 Takahiro Miyaura 4

5.

経緯 ML2ハッカソンみたいなことがあった 実際のところどうだったの? ○ 頭の6DOFは特に何もしなくても動いてた ○ ただ、原点位置がいまいちわかっていない・・・ ○ ハンドトラッキングは作り込みがいるかもしれない(要調査) ○ 現状、ML2はOpenXR対応していない ○ モーションコントローラも作り込みは必要 ※おさわり会の時はMRTKのハンドコントローラの動きを乗っ取った。 ○ 1個だけ認識する前提での部品が必要 ○ 一応XRI経由で制御可なのは確認 ML2のOpenXR対応次第かな。。。 それまでに無理してやるべきか (技術的興味だけあるw) 2022/9/21 Copyright © 2022 Takahiro Miyaura 5

6.

Mixed Reality Toolkit 3 おさらい 2022/9/21 Copyright © 2022 Takahiro Miyaura 6

7.

Mixed Reality Toolkit 3はPublic Preview版だから 検証目的で使ってね! Microsoft 公式でもそう書かれています。 2022/9/21 Copyright © 2022 Takahiro Miyaura 7

8.

Mixed Reality Toolkit 3に至る経緯 - Mixed Reality Toolkit とは Unity向けのMicrosoft公式のOSSライブラリ Holotoolkit HoloLens向け ◼Unity向け ◼クロスプラットフォーム ◼最新バージョンはV2.8.2 ✓基本コンポーネント ✓共通のインタラクション ✓UIコントロール ※Unreal向けのMRTKもあります。 ※実はBabylon.js版もある 2022/9/21 Mixed Reality Toolkit Windows Mixed Reality Devices対応 Mixed Reality Toolkit V2 HoloLens 1/2,VR Devices,Mobile AR… Mixed Reality Toolkit 3 New!!! Copyright © 2022 Takahiro Miyaura 8

9.

MRTK3のポイント 既存ライブラリへの対応、標準化 ✓ MRTK V2までで持つしかなかった機能や仕組みを改めて既存ライブラリを利用するように変更 引 用 元 :Microsoft Developer,「 Getting started with your first MRTK3 project」 , https://youtu.be/aVnwIq4VUcY, (参 照 2022/06/11) 業界標準、冗長な機能に対応するためのリファクタリングにより 扱いやすいライブラリへ 2022/9/21 Copyright © 2022 Takahiro Miyaura 9

10.

MRTK3のポイント (参考)開発環境とパッケージ要件 開発に必要な環境とパッケージ ○ Mixed Reality Feature Tool ○ Unity 2020.3.35,2021.3.4 or newer ○ packages ✓ Mixed Reality OpenXR Plugin(from Mixed Reality Feature Tool) ✓ Input System* ✓ XR Management* ✓ XR Interaction Toolkit* ✓ OpenXR Plugin* ○ Visual Studio 2022 ✓ Windows 10 SDK version 10.0.19041.0 or 10.0.18362.0, or Windows 11 SDK ✓ USB Device Connectivity (required to deploy/debug to HoloLens over USB) ✓ C++ (v142) Universal Windows Platform tools (required when using Unity) *印はMRTK3を導入すると自動的に依存関係のあるpa ckageとしてインポートされます。 2022/9/21 Copyright © 2022 Takahiro Miyaura 10

11.

MRTK3での開発について 2022/9/21 Copyright © 2022 Takahiro Miyaura 11

12.

MRTK3の開発について 基本的にはMRTK V2と違いはなさそう ○ 一方でアーキテクチャのベースがOpenXRやXR Interaction Toolkitになっているためお作法は変わっている (OpenXRやXRI知ってる方が理解はしやすいです) 2022/9/21 Copyright © 2022 Takahiro Miyaura 12

13.

MRTK3の開発について サンプル試したい方 ○Qiitaにまとめています。 ○Getting started with your first MRTK3 project https://qiita.com/miyaura/items/df5947d45cb3b86bbf18 ○MRTK3について ○空のプロジェクトの作成~デプロイ ○Hand Interaction Example等のサンプルについて 2022/9/21 Copyright © 2022 Takahiro Miyaura 13

14.

Mixed Reality Toolkit 3 MRTK XR Rig 2022/9/21 Copyright © 2022 Takahiro Miyaura 14

15.

Mixed Reality Toolkit 3 MRTK XR Rig カメラや各種入力系のコンポーネントをまとめたもの ◼ XRIでのXRRigに相当 ○Main Camera ○デバイスの頭の位置に相当 ○Tracked Pose Driverコンポーネントで位置制御 2022/9/21 Copyright © 2022 Takahiro Miyaura 15

16.

Mixed Reality Toolkit 3 MRTK XR Rig カメラや各種入力系のコンポーネントをまとめたもの ◼ XRIでのXRRigに相当 ○MRTK RightHand(LeftHand) Controller ○両手(モーションコントローラ)に相当 ○NearInteractionModeDetector ○指先制御と掴む制御のモード切替え ○IndexTip PokeInteractor ○人差し指先のInteractor ○Far Ray ○遠方を指すためのレイ ○GrabInteractor ○掴む動作に関するInteractor ○GazePinchInteractor ○ピンチ操作に関するInteractor 2022/9/21 Copyright © 2022 Takahiro Miyaura 16

17.

(参考)XR Interaction Toolkit https://docs.unity3d.com/Packages/com.unity.xr.interaction.toolkit@2.0/manual/installation.html デバイス操作とコンテンツ動作を容易に相互作用する Interactors 選択したりするアク ションを処理 Register Register Interaction Manager InteractorsとInteractablesの管理と仲介 Control Action Interactables 選択したり、アクティブに することができるシーン内 のオブジェクト Select Controllers 入力データを抽象化し、Interactorがそ れを使ってInteractionの状態に変換する 方法を提供 2022/02/16 Copyright © 2022 Takahiro Miyaura 17

18.

(参考)XR Interaction Toolkit MRTK3の定義からみると。。。 MRTK RightHand Controllerでの関係 2022/9/21 Copyright © 2022 Takahiro Miyaura 18

19.

Mixed Reality Toolkit 3 MRTK XR Rig カメラや各種入力系のコンポーネントをまとめたもの ◼ XRIでのXRRigに相当 ○MRTK Gaze Controller ○Head Gazeに相当 ○GazeInteractor 2022/9/21 Copyright © 2022 Takahiro Miyaura 19

20.

Mixed Reality Toolkit 3 MRTK XR Rig カメラや各種入力系のコンポーネントをまとめたもの ◼ XRIでのXRRigに相当 ○MRTK Interaction Manager ○複数のInteractorの優先度付けを行い1つを選択 以下の課題を解消するための仕組み ✓ オブジェクトとの位置関係や操作に応じて複数 のInteractorが動作 ✓ 複数の操作が同時に発生し誤動作につながる (掴む動作と指先で押す動作など) ○Canvas Proxy Interactor ○UGUI上のイベント用 ○XRIの仕組みに乗せるためのプロキシ 2022/9/21 Copyright © 2022 Takahiro Miyaura 20

21.

MRTK3からのUI表現 Volumetric UI With Unity Canvas UGUI側イベントはProxy XRI Interactorでフィードバック 従来のXRIでの関係 UGUIのイベントを XRI Interactorに通して 処理を可能にする 2022/6/23 Copyright © 2022 Takahiro Miyaura 21

22.

(おまけ) Mixed Reality Toolkit 3 Bounds Control 2022/9/21 Copyright © 2022 Takahiro Miyaura 22

23.

(おまけ)Mixed Reality Toolkit 3 Bounds Control MRTK V2とほぼ一緒ですね。 ◼操作対象にMRTKの幾つかのコンポーネントを設定 ○Object Manipulator ○オブジェクトをコントローラで操作する ○Constraint Manager ○Object Manipulator/Bounds Control等の制 約を管理 ○Min Max Scale Constraint ○オブジェクト操作時のサイズを制限 ○Bounds Control ○辺/角の操作点を使ってサイズや向きを調整 2022/9/21 Copyright © 2022 Takahiro Miyaura 23

24.

本日の内容 ◼ Mixed Reality Toolkit 3の機能を見てみる ✓ MRTK XR Rig ✓ カメラやコントローラの基本Prefab ✓ XRIをベースに開発者が楽をできる構成で提供 ✓ 近距離、遠距離、掴む、押すといった複数の操作を調整 ✓ UGUIとの区別なく制御可能 ✓ 各種デバイスへの対応も容易(※OpenXRだと。。。) ✓ 未対応デバイスへも大掛かりな改修なく対応できそう ✓ (おまけ) Bounds Control ✓ 実装方法はあまりV2と変わらない MRTK V2を触っているとなんとなく同じように開発できる。 XRI等知っておくとMRTK3の理解はしやすそう。 2022/9/21 Copyright © 2022 Takahiro Miyaura 24

25.

MRTK3に関する情報 ◼ Github - Mixed Reality Toolkit 3 ✓ https://github.com/microsoft/MixedRealityToolkit-Unity/tree/mrtk3 ◼ MTRK3ドキュメント ✓ https://aka.ms/mrtk3 ◼ MRTK3 Tutorial : "Zappy's Playground" ✓ https://aka.ms/ZappysPlayground ◼ Mixed Reality Dev Days 2022 ✓ 再生リスト:https://www.youtube.com/watch?v=U1BSqLbW-PM&list=PLlrxD0HtieHhkPlibqfQf1pGvM0vLNPpL 1. Introducing MRTK3 – Shaping the future of the MR Developer Experience.(https://youtu.be/fjQFkeF-ZOM) →過去のMRTKの取組みから振返り、MRTK3がどういったコンセプトで今回作られたのか 2. Getting started with your first MRTK3 project(https://youtu.be/aVnwIq4VUcY) →MRTK3動かしてみようぜ 3. MRTK3 Interaction building blocks(https://youtu.be/naVziEJ-yDg) →MRTK3の入力系についての設計や構造 4. Building Rich UI for MR in MRTK3(https://youtu.be/g2HF5HMy-2c) →MRTK3の素敵なUIをどう構築しているか 5. Working with Dynamic Data and Theming in MRTK3(https://youtu.be/IiTpZ2ojyno) →データバインディングとテーマ制御について 6. Deploy Everywhere with OpenXR and MRTK3(https://youtu.be/LI6lyW9TG9o) →MRTK3のOpenXR対応で色々デバイスで動く話 2022/9/21 Copyright © 2022 Takahiro Miyaura 25

26.

大阪駆動開発 関西を中心に、IT系のおもしろそうなことを 楽しんでやるコミュニティ 2022/9/21