MRTK v3.0.0 GAの話とMRTK3 UX Components – Dialog

1.2K Views

September 20, 23

スライド概要

【大阪-オンライン開催】XRミーティング 2023/09/20【AR/CR/MR/SR/VR】(https://osaka-driven-dev.connpass.com/event/294940/)登壇資料。
MRTK3 が2023年9月にGAされたので現状整理を行ったのでその話とMRTKのUX部品の1つDialogの使い方も紹介。
最後にちらっと、Snapdrangon SpacesとGAされたMRTK3を組み合わせてDual Render FusionのUI作った試作アプリもお披露目。

profile-image

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

シェア

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

関連スライド

各ページのテキスト
1.

MRTK v3.0.0 GAの話と MRTK3 UX Components – Dialog - はい、もちろんあれも検証してますよ編 2023/09 XRミーティング @takabrz1 Takahiro Miyaura

2.

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

3.

最近の話 2023/9/20 Copyright © 2023 Takahiro Miyaura 3

4.

買いました & 届きました Lenovo ThinkReality VRX ○ 機会があれば体験会するかも ○ 直近は9/28・・・かな。 (何かコンテンツができれば) これでSnapdragon Spacesの検証がフルにできる! 2023/9/20 Copyright © 2023 Takahiro Miyaura 4

5.

MRTK v3.0.0 が最近GAされたのでその話と 便利なUX部品 Dialogについて紹介 2023/9/20 Copyright © 2023 Takahiro Miyaura 5

6.

Mixed Reality Toolkit 3 もしかしたら MRTK v3になるのかも? Unity向けのOSSライブラリ Holotoolkit HoloLens向け ○Unity向け ○クロスプラットフォーム ○最新バージョンはV2.8.3 ✓基本コンポーネント ✓共通のインタラクション ✓UIコントロール ※Unreal向けのMRTKもあります ※実はBabylon.js版もあります ※Magic Leap 2拡張版もあります 2023/9/20 Mixed Reality Toolkit Windows Mixed Reality Devices対応 Mixed Reality Toolkit V2 HoloLens 1/2,VR Devices,Mobile AR… Mixed Reality Toolkit 3 Pre.18 Copyright © 2023 Takahiro Miyaura 6

7.

Mixed Reality Toolkit 3 もしかしたら MRTK v3になるのかも? Unity向けのOSSライブラリ Holotoolkit HoloLens向け ○Unity向け ○クロスプラットフォーム ○最新バージョンはv3.0.0 ✓基本コンポーネント ✓共通のインタラクション ✓UIコントロール ※Unreal向けのMRTKもあります ※実はBabylon.js版もあります ※Magic Leap 2拡張版もあります 2023/9/20 Mixed Reality Toolkit Windows Mixed Reality Devices対応 Mixed Reality Toolkit V2 HoloLens 1/2,VR Devices,Mobile AR… Mixed Reality Toolkit 3 Pre.18 Mixed Reality Toolkit 3 ←イマココ v3.0.0 GA! 2023.9.6 Copyright © 2023 Takahiro Miyaura 7

8.

Mixed Reality Toolkitの最近 2023/9/20 Copyright © 2023 Takahiro Miyaura 8

9.

Mixed Reality Toolkitの最近 3社による独立した運営 Microsoft, Qualcomm, Magic Leapの3社による独立したプロジェクトに きっかけはMicrosoft社のレイオフ マイクロソフトがMRTK開発チームを解散し「AltspaceVR」シャットダウ ン、今後は「Microsoft Mesh」にシフトか(MoguraVR – 2023/01/25) https://www.moguravr.com/microsoft-mrtk-team-dissolve/ ○Unity向け ○クロスプラットフォーム ○最新バージョンはv3.0.0 MRTK Devチームの解散によりMicrosoft主導によるプロジェクト運 営ではなくOSSとして整備が進むようになる。 ✓基本コンポーネント ✓共通のインタラクション ✓UIコントロール 2023/9/20 Copyright © 2023 Takahiro Miyaura 9

10.

Mixed Reality Toolkitの最近 3社による独立した運営 Microsoft, Qualcomm, Magic Leapの3社による独立したプロジェクトに きっかけはMicrosoft社のレイオフ マイクロソフトがMRTK開発チームを解散し「AltspaceVR」シャットダウ ン、今後は「Microsoft Mesh」にシフトか(MoguraVR – 2023/01/25) https://www.moguravr.com/microsoft-mrtk-team-dissolve/ ○Unity向け ○クロスプラットフォーム ○最新バージョンはv3.0.0 ✓基本コンポーネント ✓共通のインタラクション ✓UIコントロール MRTK Devチームの解散によりMicrosoft主導によるプロジェクト運 営ではなくOSSとして整備が進むようになる。 独立したプロジェクトとして新たなスタート 「MRTK」がプロジェクトとして独立、運営にMagic Leapとクアルコム参 画へ(MoguraVR – 2023/08/31) https://www.moguravr.com/mrtk-independence-qualcomm-magicleap-join/ Microsoft, Qualcomm, Magic Leap の3社運営 2023/9/20 Copyright © 2023 Takahiro Miyaura 10

11.

Mixed Reality Toolkitの最近 関連ニュース Microsoft, Magic Leap, Qualcomm MicrosoftのTech Communityブログ Microsoft Mixed Reality Toolkit 3 (MRTK3) moves to an independent organization within GitHub(Microsoft Tech Community – 2023/08/21) https://techcommunity.microsoft.com/t5/mixed-reality-blog/microsoft-mixed-reality-toolkit-3-mrtk3-moves-to-an-independent/ba-p/3898941 Magic Leapのプレスリリース Magic Leap Joins MRTK Steering Committee alongside Microsoft and Qualcomm Technologies(Magic Leap Newsroom – 2023/08/21) https://www.magicleap.com/news/magic-leap-joins-mrtk-steering-committee-alongside-microsoft-and-qualcomm Qualcommは今回の件で特にアナウンスは出していない。 ただ、過去Qualcomm主催のSnapdragon Spaces summitでMRTK3との協業の話をしている https://www.youtube.com/watch?v=V1d_FRnU70g 2023/9/20 Copyright © 2023 Takahiro Miyaura 11

12.

変わったこと。 2023/9/20 Copyright © 2023 Takahiro Miyaura 12

13.

変わったこと 独立したプロジェクトになったことによる変更 ○ Githubリポジトリ ○ 元々あったMRTKのプロジェクトから「mrtk3」ブランだけ移管 ○ 新しいリポジトリ https://github.com/MixedRealityToolkit/MixedRealityToolkit-Unity ※プロジェクト名が同じなのでForkが地味に困るw ○ MRTK V2等旧バージョンはこれまでのMRTKプロジェクトのまま(おそらく) https://github.com/microsoft/MixedRealityToolkit-Unity ○ パッケージ名 ○ 旧:com.microsoft.mixedrealitytoolkit.XXXX 新:org.mixedrealitytoolkit.XXXX ○ 名前空間 ○ 旧:Microsoft.MixedReality.Toolkit.XXXX 新:MixedReality.Toolkit.XXXX 2023/9/20 Copyright © 2023 Takahiro Miyaura 13

14.

記事としてまとめました。 Mixed Reality Toolkit V3.0.0がGAされたので情報を整理した 今日説明した話等を整理しています。 Mixed Reality Toolkit V3.0.0がGAされたので情報を整 理した https://qiita.com/miyaura/items/a36d89a8e708d1bcd722 2023/9/20 Copyright © 2023 Takahiro Miyaura 14

15.

せっかくなので何かMRTK3試してみよう …ということでダイアログやってみた。 2023/9/20 Copyright © 2023 Takahiro Miyaura 15

16.

Mixed Reality Toolkit v3.0.0 UX Components - dialog MRTK3のUX部品として提供されている ○Dialog ○ユーザ確認等に利用 ○選択に応じた処理を実施 ○MRTK3のDialogのポイント ○標準ダイアログ(左)を提供 ○オリジナルも作成可能 ○Solverシステムで常に視界内に ○スクリプトで以下を動的変更可 ○ヘッダ、メッセージ、ボタンラベル ○ボタン数 ○ボタンに紐づけるアクション 2023/9/20 Copyright © 2023 Takahiro Miyaura 16

17.

Mixed Reality Toolkit v3.0.0 UX Components - dialog 関連するコンポーネントは大きくは3つ DialogButtonコンポーネント ダイアログに特化したボタン Dialogコンポーネント ダイアログのUIにおける可変部分の オブジェクトを管理 2023/9/20 Dialog Poolコンポーネント ダイアログの管理 Copyright © 2023 Takahiro Miyaura 17

18.

Mixed Reality Toolkit v3.0.0 UX Components - dialog 使い方 Dialogコンポーネント 1. 可変オブジェクトの管理 ○ ヘッダテキスト ○ メッセージ ○ ボタン(肯定) ○ ボタン(ニュートラル) ○ ボタン(否定) 2. 可変オブジェクトの変更 ○ 値の設定等 生成/管理 DialogPoolコンポーネント 1. 2. Dialogの生成/管理 モーダル制御 ※すでに表示済みなら生成しない等 開発者は DialogPoolからダイアログのインスタンスを取得し、可変項目の情報を 設定して表示する部分をスクリプトで書く 2023/9/20 Copyright © 2023 Takahiro Miyaura 18

19.

Mixed Reality Toolkit v3.0.0 UX Components - dialog 使い方はとても 事前準備 MRTK3とUX ComponentパッケージをセットしたUnityプロジェクトを作成 1. 2. 3. 4. 5. 2023/9/20 (必要に応じて)ダイアログを作成 空オブジェクトをHierarchyに作成 1のオブジェクトにDialogPoolを設定 DialogPoolに利用するDialogのPrefabを設定 ダイアログ表示のスクリプトを実装する Copyright © 2023 Takahiro Miyaura 19

20.

開発環境 ツール ○Mixed Reality Feature Tool ○Unity Hub 3.5.0 ○Unity 2021.3.22f1 パッケージ ○Mixed Reality Toolkit v3.0.0 ○今回に必須なコンポーネント ○Core ○UX ○Input ○Standard Sharder 2023/9/20 Copyright © 2023 Takahiro Miyaura 20

21.

1. (必要に応じて)ダイアログを作成 ヘッダ、ボディ、DialogButton3つを任意に配置可能 ○ダイアログのヘッダ、ボディ、ボタンの有無をDialogコンポーネントで制御する仕組み 利用時は必ずPrefab化! 2023/9/20 Copyright © 2023 Takahiro Miyaura 21

22.

2.空オブジェクトをHierarchyに作成 DialogPoolコンポーネントを追加するオブジェクトを生成 2023/9/20 Copyright © 2023 Takahiro Miyaura 22

23.

3.DialogPoolに利用するDialogのPrefabを設定 DialogPoolコンポーネントを追加 DialogPoolのデフォルトは標準ダイアログが設定 カスタムしたダイアログを使う場合は入替え 2023/9/20 Copyright © 2023 Takahiro Miyaura 23

24.
[beta]
5.ダイアログ表示のスクリプトを実装する
// Copyright (c) 2023 Takahiro Miyaura
// Released under the MIT license
// http://opensource.org/licenses/mit-license.php

○ ポイント

using MixedReality.Toolkit.UX;
using UnityEngine;
public class DialogActionDemo : MonoBehaviour {
public DialogPool.Policy Policy = DialogPool.Policy.DismissExisting;

public DialogPool pool;
public Material Red;
public MeshRenderer Target;
public void OnChangeRedColor()
{
var dialog = pool.Get(Policy);
if (dialog == null) return;
dialog.SetHeader("Change Color?");
dialog.SetBody("Do you want to change the color to red?");
dialog.SetNegative("No", args => dialog.Dismiss());
dialog.SetNeutral(null);
dialog.SetPositive("Yes", args => {
Target.material = Red;
dialog.Dismiss();
});
dialog.ShowAsync();
}

○ DialogPoolからインスタンス取得
○ 変更箇所をSetXXXで変更
○ ボタン非表示はラベルをnullに
○ ボタンのイベントは引数から設定
○ 最後に表示を忘れずに
○ 表示は同期/非同期が利用可能

}

2023/9/20

Copyright © 2023 Takahiro Miyaura

24

25.

使用例 Snapdragon Spaces × Dual Render Fusion × MRTK3検証 アプリの終了確認ダイアログとして。。。 2023/9/20 Copyright © 2023 Takahiro Miyaura 25

26.

まとめ 2023/9/20 Copyright © 2023 Takahiro Miyaura 26

27.

まとめ MRTK v3.0.0 GAの話とMRTK3 UX Components – Dialog ✓ MRTK3について ✓ ✓ ✓ 9月にGA Microsoft社の1社体制から Qualcomm, Magic Leapを加えた3社独立プロジェクトに MRTK3のみ別のgithubで管理 https://github.com/MixedRealityToolkit/MixedRealityToolkit-Unity ✓ MRTK3 Dialog部品 ✓ ✓ ✓ Dialog Poolから必ず利用する 標準ダイアログを利用、もしくは好きなダイアログのレイアウトを作成 メッセージやボタンの数に関する設定をスクリプトで実装 ✓ ちょっと検証した話 ✓ ✓ Snapdragon Spaces × GA されたMRTK3は問題なさそう Dual Render Fusionでもなんとか動いた。 祝 Mixed Reality Toolkit 3 GA! 便利な機能試してみたら色々共有します。 2023/9/20 Copyright © 2023 Takahiro Miyaura 27

28.

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