📄

MRTK v3 現在公開されている情報まとめ (2022/05/26 現在)

2022/05/26に公開

はじめに

MRTK v3 に関しては、まだあまり情報が公開されていないのですが、今朝から始まった Microsoft Build 2022 (#MSBuild) を見ていて、MRTK v3 について現時点で公開されている情報を整理しておきたいなーと思い立ったので、Microsoft Build を見たテンションのまま、現在公開されている MRTK v3 の情報を整理していきたいと思いますー!

参考文献

この記事で整理した MRTK v3 に関する情報は、以下公式サイト及び動画内での内容を
ピックアップしたものとなっています。より詳しい内容を知りたい場合は、
以下リソースへ直接アクセスしてみてください。

MRTK v3 - ロードマップ

MRTK v3 のリリース情報 (予定) ですが、MS Docs に記載されている情報によると、
Spring/Summer 2022 (2022年 春夏) に Public Preview (GitHub リポジトリ) が公開される予定 です。


Roadmap - Mixed Reality Toolkit より引用

MRTK v3 - アーキテクチャ

MRTK チームは現在、新しいアーキテクチャを導入する MRTK v3 の開発に注力しています。
このアーキテクチャでは、コミュニティや企業からのフィードバックを元に、
いくつかの問題点に対処しています。また、豊富な Mixed Reality エクスペリエンスを
開発するために、まったく新しいアーキテクチャを備えています。

具体的なアーキテクチャの話に入る前に、具体的にどのようなフィードバックがあったのか紹介されていた内容を簡単に整理してご紹介できればと思います。MRTK v2 を使用したユーザー (コミュニティ) 、企業からのフィードバックを元に、MRTK v3 では より良い Developer Experience (開発者体験) の構築 に力を入れていることが分かります。

フィードバック内容 (一部抜粋)

  • MRTK から1つの機能だけをダウンロードしたいのに、パッケージが大きすぎる
  • Mixed Reality スペースのコンテンツレイアウトが難しい
  • MRTK v2 のボタンサイズや UI スタイルのカスタマイズが難しい
  • UI に動的データを反映させたい
  • アクセシビリティが必要
  • Unity が Unity 2018 と LegacyXR のサポートを終了
  • MRTK v2 は学習曲線が急すぎる

MRTK v3 ではこれらのフィードバックを元に、以下のアーキテクチャが導入される予定です。


画像引用元 : Tokyo HoloLens ミートアップ vol.29 : MRTK v3 デベロッパーエクスペリエンス - Microsoft Principal UX Designer Yoon Park さんのセッション (YouTube) より引用

非MRTKコードと簡単に統合できるサブシステム (MRTK v2 と MRTK v3 コードの共存も可能で、ポーティング作業もより手軽に) 、また、開発環境の最小要件が更新され、OpenXR などの最新の業界標準をサポートしており、フレーム時間の消費を最小限に抑えるサブシステム を MRTK v3 パッケージ開発の目標とされているようです。

MRTK v3 最小要件 は以下の通りです。

  • Unity 2020.3 LTS
  • OpenXR
  • Unity XR Interaction Toolkit (XRI)

Unity's XR Interaction Toolkit (XRI) はインタラクションと入力のハンドリングをする新しい方法です。MRTK v3 は XRI 上に構築されます。MRTKチームは、これが進むべき正しい道であると信じています。なぜなら、XRI は MRTKチームが真の意味で Mixed Reality をユニークなものにし、価値を高めることに集中することを可能にしてくれるからです。
this is their new way of handling interactions and input and we are basing mrtkv3 on this now we believe this is the right path to go because it really allows us the mrtk team to focus on those things that really make mr unique and add value to what unity does really well Mixed Reality Speaker Series: MRTK v3: Improving the MR Developer Experience (YouTube) より自動翻訳より引用

これは我々チームにとって、MRスペース内の開発を加速させてくれるでしょう。もし、既に XRI を採用している場合はそれは素晴らしいです。MRTKチームは XRI の上に MRTK を構築し、より付加的な多くの価値をあなたにもたらすことができます。
now this will enable us to accelerate our development in the mr space while allowing you to focus on that underlying plumbing that'll make you know mr apps functional so if you've already adopted xri that's great we're going to be building on top of it and bringing lots of additional value to you Mixed Reality Speaker Series: MRTK v3: Improving the MR Developer Experience (YouTube) より自動翻訳より引用

MRTK v3 のための新しい最小要件に OpenXR があります。あなたは MRTK v2 で OpenXR を使用する機会を持っています。しかし、私たちはより効率的な開発に焦点を当てています。そして、Mixed Reality の未来に新しい掛けをしました。Microsoft は MRTK v3 のコア機能を開発するために、OpenXR にすべてをつぎ込みます。これは、MRTKで明示的にサポートされていない、または発表されていない、まったく新しいデバイスが市場にあることを意味します。
a new minimum requirement for v3 will be open xr
you have an opportunity to use openxr at mrtkv2 but as we look to focus our development effort and take new bets on the future of mixed reality
microsoft is all in on openxr which is why we're making it a core piece of mrtk v3
what does this mean for you this means that if there is a device that is brand new on the marketthat we haven't explicitly supported or announced for mrtk Mixed Reality Speaker Series: MRTK v3: Improving the MR Developer Experience (YouTube) より自動翻訳より引用

とても少ない労力でサポートするデバイスを追加することができる。そして、私たちは既に MRTK v2 でも確認しています。もし全体の開発者 Slack にいる場合、開発者からのメッセージを見ることができます。「私は OpenXR のおかげで新しいデバイスを MRTK v2 の自分のサポートリストに追加することができました。」これはオープン (open) です。その際の環境は Unity 2020.3 LTS です。MRTK v3 はこの場所に提供されます。
you can with very little effort add support for that device
and we see that already with mrtk v2 if you've been in the whole developer slack
i see messages from people saying hey i was able to add this new device to my supported list for mrtk v2 thanks to openxr and that's the whole idea making sure that it is open and then finally unity 2020.3 lts thatis where we'll be placing our stake in the ground for mrtk v3 now Mixed Reality Speaker Series: MRTK v3: Improving the MR Developer Experience (YouTube) より自動翻訳より引用

MRTK v3 注力エリア は以下の通りです。

  • OpenXR と Unity XR Interaction Toolkit (XRI) 上に構築すること
  • 非 MRTK コードと簡単に統合できる独立したサブシステム
  • パフォーマンスの向上
  • エンタープライズ規模の開発に対応可能なコンポーネント
  • クロスプラットフォームデバイスのサポート
  • 柔軟性、拡張性のある Layout Tools
  • データ駆動UI
  • 独自ブランドを素早く UI へ反映させるための Theming system
  • アクセシビリティのオプション

MRTK v2 から MRTK v3 へのポーティングについて

  • Volumetric Layout
  • Data Binding
  • Theming/Branding
  • Accessibility
  • Tools (Build window, etc..)

MRTK v3 - 注目機能

ここからは MRTK チームのプレゼンでも紹介されている
MRTK v3 注目の機能 についてご紹介していきたいと思います。

  • 新しい Mixed Reality UI デザイン (new design language)
  • テーマシステム (Theming system)
  • Data Binding & Dynamic UI
  • Interaction
  • Layout Tool

新しい Mixed Reality UI デザイン

MRTK v3 で最もエキサイティングなアップデートの1つは、新しいデザイン言語 (new Mixed Reality Design Language) です。Microsoft Mesh App でも採用されているこの新しいデザイン言語は、HoloLens 2 以降の学習とリサーチに基づいているそうです。MRTK v3 では UXコンポーネントを使用して、以下の UX を作成することができます。




画像引用元 : Tokyo HoloLens ミートアップ vol.29 : MRTK v3 デベロッパーエクスペリエンス - Microsoft Principal UX Designer Yoon Park さんのセッション (YouTube) より引用

Microsoft mesh app で採用されている新しいデザイン言語は、従来のクラシックな HoloLens 2 スタイルブルーと少し異なります。これは紫みがかった青色で新しい種類の色であり、デバイス上でも凄く美しい見た目です。平面 (Slate) サンプルの曲線率にも変更を加えています。
let's switch over and talk about the new ui that's coming if you've used the microsoft mesh app you've seen the new mixed reality design language this is a bit of a departure from the classic hololens 2 style blue. it is a new kind of a purplish bluish color that i think looks great on device. now we've also changed the curvature of the of the panels as you can see here with this slate example Mixed Reality Speaker Series: MRTK v3: Improving the MR Developer Experience (YouTube) より自動翻訳より引用

テーマシステム (Theming system)

Mixed Reality UI デザイン時に役立つ、もう一つのアップデートは
テーマシステム (Theming system) です。

UI メニューやボタンなどの、カラーやマテリアル、フォントなどを
動的に切り替えることができるコンポーネントです。



画像引用元 : Tokyo HoloLens ミートアップ vol.29 : MRTK v3 デベロッパーエクスペリエンス - Microsoft Principal UX Designer Yoon Park さんのセッション (YouTube) より引用

さらにステップを進め、たくさんのユーザーに意見を聞いてみたところ、「私は独自のテーマやブランドをアプリケーションに追加したい」「(テーマを変えるためには)各アセットごとにひとつずつ更新を加えなければならず、作業に多くの時間を要します」という意見をもらいました。私たちは動的に生成したコレクションのすべてに変更を反映させることのできる Theming sytem を作成しました。これにより、ユーザーはアプリ内のアセットに新しいテーマを素早く適用することができます。この操作は編集時、ランタイム上で実行することができます。
but to take it a step further we've heard a lot of people say when i want to add my own theming and branding to my mixed reality app. i have to go in and update every asset one by one and that takes a very long time so we created a new theming system that goes all the way down to dynamically generated collections
so that you can quickly apply new themes to the assets in your app. and this is something you can do at edit time or something you can even do at run time Mixed Reality Speaker Series: MRTK v3: Improving the MR Developer Experience (YouTube) より自動翻訳より引用

もし誰が使用しているかに基づいて異なる UI を持つアプリケーションを実装したい場合、恐らくあなたはクライアントごとにアプリを構築しているでしょう。特定の組織向けに構築し、アプリ内で認証済みユーザーに彼らのブランドを持たせたいと考えた際、ユーザーはログインして、特定の個人に適するデザイン (見た目) へと変更します。
so if you want to have your app you know look different based on who's using it maybe you're building an app for a set of clients maybe you're building it for a particular organization and you wanted to have their branding that's something that you could build into the app have them authenticate when they log in and boom switch
the look and feel to match what it should be for that particular individual Mixed Reality Speaker Series: MRTK v3: Improving the MR Developer Experience (YouTube) より自動翻訳より引用

Data Binding & Dynamic UI

MRTKチームは MRTK にアップデートされた UI と共にこの機能を追加できたことに興奮しています。新しい Theming (テーマシステム) は Dynamic UI の新しい Data Binding 機能によって提供されます。このサンプルでは、リアルタイムで Website flicker から写真を読み込んでいます。そして、MRTK アセットにその結果を入力します。
so we're really excited to bring this feature to mrtk along with its updated ui
now this new theming feature is powered by dynamic ui through a new data binding feature in this particular example this developer is loading in pictures from the website flickr in real time and then populating their mrtk assets with them now Mixed Reality Speaker Series: MRTK v3: Improving the MR Developer Experience (YouTube) より自動翻訳より引用


画像引用元 : Tokyo HoloLens ミートアップ vol.29 : MRTK v3 デベロッパーエクスペリエンス - Microsoft Principal UX Designer Yoon Park さんのセッション (YouTube) より引用

この Data Binding ソリューションはリストの視覚化に活用されます。そして、パフォーマンスのためにデータをプールします。これにより、バックエンドに1000枚の画像があるにも関わらず、実際に読み込まれるのはこれらのサブセットのみです。サブセットが表示され、そこにはリストのスクロールを監視する仕組みがあります。
this data binding solution is also leveraging list virtualization and data pooling to make it performant so although there are a thousand pictures living on the back end only a subset of those are actually loaded in and displayed and there are guards in there to make sure that as you scroll through the list Mixed Reality Speaker Series: MRTK v3: Improving the MR Developer Experience (YouTube) より自動翻訳より引用

既に存在するオブジェクトを再インスタンス化しません。
Data Binding ソリューションはエンタープライスソリューションとして十分に堅牢です。

we're not re-instantiating objects that already exist so this is a solution that we're proving out and with internal teams and making sure that it is robust enough for the enterprise solutions that we know some of you are focused on Mixed Reality Speaker Series: MRTK v3: Improving the MR Developer Experience (YouTube) より自動翻訳より引用

Interaction

インタラクションに関しては、XRI (XR Interaction Toolkit) のアーキテクチャを拡張した Interactor と Interactable が提供される予定です。


画像引用元 : Tokyo HoloLens ミートアップ vol.29 : MRTK v3 デベロッパーエクスペリエンス - Microsoft Principal UX Designer Yoon Park さんのセッション (YouTube) より引用

以下の画像は、MRTK で提供される予定の Interactor の1つです。
Microsoft Mesh App では、オブジェクトを空間から削除するモードに切り替えた際、 GrabInteractor の位置に✕アイコンを表示されていた気がするので、
この Interactor を使用すればそういった新しいインタラクションが実現できそうですね。


画像引用元 : Tokyo HoloLens ミートアップ vol.29 : MRTK v3 デベロッパーエクスペリエンス - Microsoft Principal UX Designer Yoon Park さんのセッション (YouTube) より引用

Eye Gaze & Pinch ジェスチャー操作

画像では少し分かりづらいですが、Eye Gaze を使って UI メニューのボタンにフォーカスを当て、Pinch (手を摘む) ジェスチャーでボタンを選択できる操作をコンポーネントを使用することで実現可能なようです。Microsoft Mesh App でもハンドメニューに採用されたはず?なので、気になる方は Microsoft Mesh (Preview) をご覧ください。


画像引用元 : Tokyo HoloLens ミートアップ vol.29 : MRTK v3 デベロッパーエクスペリエンス - Microsoft Principal UX Designer Yoon Park さんのセッション (YouTube) より引用

Visual を Interaction ロジックから完全に分離

UIボタンの Visual と Interaction ロジックが分離されるようです。MRTK v2 の Interactable コンポーネントでは、ボタンの Visual と Interaction を同じコンポーネントで設定する箇所がありましたが、個人的には、この Interactable コンポーネントが分離されるという意味だという理解?をしています。


画像引用元 : Tokyo HoloLens ミートアップ vol.29 : MRTK v3 デベロッパーエクスペリエンス - Microsoft Principal UX Designer Yoon Park さんのセッション (YouTube) より引用

Layout Tool

私たちは既にスマートフォンやタブレット上で Web ページを閲覧する際、レスポンシブレイアウトを見慣れています。そして、MRTKチームはこのコンセプトを Mixed Reality に展開しています。
we're already used to seeing responsive layouts on our phones and on our tablets when we use the web and now we're bringing this concept to mixed reality Mixed Reality Speaker Series: MRTK v3: Improving the MR Developer Experience (YouTube) より自動翻訳より引用


画像引用元 : Tokyo HoloLens ミートアップ vol.29 : MRTK v3 デベロッパーエクスペリエンス - Microsoft Principal UX Designer Yoon Park さんのセッション (YouTube) より引用

Curved Layouts


画像引用元 : Tokyo HoloLens ミートアップ vol.29 : MRTK v3 デベロッパーエクスペリエンス - Microsoft Principal UX Designer Yoon Park さんのセッション (YouTube) より引用

MR Dev Days

6/8-9 (現地時間) に MR Dev Days が開催されます。
セッション一覧は既にイベントページで公開されているので、こちら よりご覧ください。


MR Dev Days 公式サイト スクリーンキャプチャ

個人的に注目しているセッションを紹介したいと思います。
※ 今回、ライブ配信と現地セッションのみ (後日のレコーディング配信は未定) のハイブリッドでのイベント開催なので、セッション名の後ろにライブストリーム有無を記載しています。

Microsoft Build で発表された Industrial Metaverse や Microsoft Mesh に関するセッションは見当たりませんが、その分 MRTK v3, OpenXR のセッションが多めの印象なので、どんな新しい情報が公開されるのか今から楽しみです。Azure Remote Rendering の最新アップデートに関しては、現地のみとなっているので、後日セッションのアーカイブが配信されること祈ってます。

  • Opening keynote (◯)
  • Introducing MRTK3 - Sharping the future of the MR Developer Experence (◯)
  • Getting started with your first MRTK3 Project (◯)
  • Update on openxr for mixed reality (✕)
  • MRTK3 Interaction building blocks (◯)
  • Building rich ui for MR in MRTK3 (◯)
  • Working with dynamic data and theming in MRTK3 (◯)
  • Azure Remote Rendering (✕)
  • *Open - Deploy everywhere with openxr and MRTK3 (◯)

この他、StereoKit や Babylon.js, Moving Platform, Thermal Notification などセッション盛りだくさんです。興味がある方はイベントページから登録の上、是非ご参加くださいー!

その他 (補足知識)

※ MRTK v3 へのフィードバックは GitHub の issue を通じて行うことが可能です。

Discussion