237 Views
February 19, 25
スライド概要
XRミーティング 2025/02/19【AR/CR/MR/SR/VR】(https://osaka-driven-dev.connpass.com/event/343633/)
登壇資料。
Microsoft MeshのMesh Toolkitの中から空間内の移動に利用できるTravel Group, Travel Pointについての解説記事。
ICT業界でソフトウェアエンジニア/アプリケーションアーキテクトを担当。 社内ではXR関連技術に関する啓もう活動や技術支援に従事。 業務の傍ら、XR(特にMixed Reality領域)についての開発技術の調査、開発などを行っています。 また、「大阪駆動開発」コミュニティ所属しており、日々の調査で得た知見はコミュニティを通して情報発信を行っています。
Mesh Toolkit 空間内の任意の場所から移動する実装 Travel Group , Travel Point 2025/02 XR ミーティング @takabrz1 Takahiro Miyaura
宮浦 恭弘 (Miyaura Takahiro) Microsoft MVP for Mixed Reality 2018-2025 XRは趣味です 大阪駆動開発(とHolomagicians)コミュニティに生息 HoloLens日本販売してからxR系技術に取組む 新しい技術や、MRに使えそうな技術を調べる 技術Tips : https://qiita.com/miyaura https://zenn.dev/miyaura 最近興味があって取り組んでいるもの ○ Microsoft Mesh ○ Snapdragon Spaces ○ Mixed Reality Toolkit v3.0.0 ○ Vision Proもそろそろ・・・ @takabrz1 ※よかったらこれを機にお知り合いになってください
XRMTGで時々話すMeshで遊ぶシリーズ 今日は空間に移動地点を作成する機能 2025/02/19 © 2025 Takahiro Miyaura
こういう感じで 空間の中に島(?)を作って行き来するようなものを作れます 2025/02/19 © 2025 Takahiro Miyaura
ということで今日の Microsoft Meshの話は。。。 Travel Group Travel Point 2025/02/19 © 2025 Takahiro Miyaura
1 Microsoft Meshについて 2 Travel GroupとTravel Point 3 実装 4 何かアイデアないですか?
Microsoft Meshについて 2025/02/19 © 2025 Takahiro Miyaura
Microsoft Mesh 3D没入空間でミーティングやイベントを実施できるサービス https://adoption.microsoft.com/en-us/microsoft-mesh/ Mesh in Teams, built into your Teams meeting experience, elevates engagement with readymade 3D immersive spaces crafted to suit your everyday meeting needs, whether it’s a team social gathering, brainstorming session, or a round-table discussion. Microsoft Mesh allows you to host larger events in custom immersive spaces that are tailored to your specific business needs, like all-hands meetings, onboarding, training, or simulations. Use a no-code editor to easily customize the event or the Mesh toolkit to leverage the power of Unity for fully customizable immersive experiences. 引用:https://adoption.microsoft.com/en-us/microsoft-mesh/ 機械翻訳・・・ Mesh in Teamsは、Teamsのミーティングエクスペリエンスに組み込まれており、チームの親睦会、ブレーンストーミングセッショ ン、円卓会議など、日常的なミーティングのニーズに合わせて作られた既製の3D没入型スペースで、エンゲージメントを高めま す。 Microsoft Meshを使用すると、全員ミーティング、新入社員研修、トレーニング、シミュレーションなど、特定のビジネスニーズ に合わせたカスタム没入型スペースで大規模なイベントを開催できます。コード不要のエディタを使用してイベントを簡単にカスタ マイズするか、Meshツールキットを使用してUnityのパワーを活用し、完全にカスタマイズ可能な没入型体験を実現できます。 2025/02/19 © 2025 Takahiro Miyaura
Microsoft Mesh 大きくは3つの構成 https://adoption.microsoft.com/en-us/microsoft-mesh/ Avatars for Teams Immersive Spaces in Teams Custom Immersive experiences ○ Mesh内で活用 ○ Teamsで利用可な3D空間 ○ 複数のAvatarを作成可 ○ プリセットの空間を利用 ✓ カスタマイズ不可 ○ Unityで自由な空間作成 ✓ Mesh Toolkitで開発 ○ Teams内ではWebカメラの 代替としても利用可 ○ Teams会議から利用可 ✓ Meta Quest ✓ PC Custom Immersive experience 利用× 2025/02/19 © 2025 Takahiro Miyaura ○ 既存環境をカスタイズ ✓ 既製の空間に装飾 ○ Meshポータル ✓ イベント/ミーティング作成 ✓ カスタム環境の管理 ○ Mesh Appを利用 ✓ Meta Quest ✓ PC
Microsoft Mesh 今日の話するのはCustom Immersive experiencesでオリジナルの空間を作る時の話 Custom Immersive experiences https://adoption.microsoft.com/en-us/microsoft-mesh/ 既存環境のカスタマイズ(=テンプレート) 新しく環境をつくる ○ プリセット or カスタム環境を利用 ○ 空間内にオブジェクト配置 & テンプレート化 ○ Unityで自由な空間作成 ✓ Mesh Toolkitで開発 ○ 現在の提供オブジェクト ✓ テキスト ✓ 動画 ✓ 画像 ✓ 画面共有 ○ Mesh Appを利用 ✓ Meta Quest ✓ PC ○ 既存環境をカスタイズ ✓ 既製の空間に装飾 今日もこっちの話 2025/02/19 © 2025 Takahiro Miyaura
Avatar制御に使える機能について 2025/02/19 © 2025 Takahiro Miyaura
Microsoft Mesh 空間に移動地点を作成する機能 Mesh空間内の特定の位置を移動先として指定 & アバター移動 https://learn.microsoft.com/ja-jp/mesh/develop/enhance-your-environment/avatar-and-object-interactions/create-avatar-spawn-and-travel-points?wt.mc_id=WDIT-MVP-5003104 Travel Point ○ 空間内の移動先となる地点に設置 Travel Group ○ Travel Pointを複数持つ Travel Group Travel Point Travel Point Travel Point Travel Point ロジックでアバターを移動する ○ 基本的に実行したアバターが移動する 2025/02/19 © 2025 Takahiro Miyaura Travel Point
Microsoft Mesh 空間に移動地点を作成する機能 - 使い方 その① 開始地点として(つまり最低空間には1つは必須) https://learn.microsoft.com/ja-jp/mesh/develop/enhance-your-environment/avatar-and-object-interactions/create-avatar-spawn-and-travel-points?wt.mc_id=WDIT-MVP-5003104 Mesh空間を作成する上では必ず1つGravel GroupとTravel Pointが必要 ○ 最初にMesh空間に入った時の初期位置として「Default Spawn Group」の設定を行う ○ Travel Group内には複数のTravel Pointを設置可能 ✓ どこにスポーンするかはランダム Travel Group Default Spawn Groupにチェックを入れる Travel Group Travel Point Travel Point 2025/02/19 Travel Point ○ Default Spawn Group 初期スポーン位置となるグループにチェック (最低空間に1つ必要) © 2025 Takahiro Miyaura
Microsoft Mesh 空間に移動地点を作成する機能 - 使い方 その② 任意の1地点を移動先として設定(Travel Point) https://learn.microsoft.com/ja-jp/mesh/develop/enhance-your-environment/avatar-and-object-interactions/create-avatar-spawn-and-travel-points?wt.mc_id=WDIT-MVP-5003104 ○ 空のGameObjectにTravel Pointコンポーネントを追加 ○ GameObjectの座標周辺にアバターがスポーンされる Travel Point Travel Point 2025/02/19 ○ Look At Transform:スポーン後に注視す るオブジェクト(任意) ○ Radius:スポーン半径 ○ Single Travel:1人だけ移動できるか設定 © 2025 Takahiro Miyaura
Microsoft Mesh 空間に移動地点を作成する機能 - 使い方 その③ 1つ以上の地点を移動先として設定(Travel Group) https://learn.microsoft.com/ja-jp/mesh/develop/enhance-your-environment/avatar-and-object-interactions/create-avatar-spawn-and-travel-points?wt.mc_id=WDIT-MVP-5003104 ○ 空のGameObjectにTravel Groupコンポーネントを追加 ○ 子要素にTravel Pointを指定したGameObjectを複数設置 Travel Group Travel Group ○ 子要素として複数のTravel Pointを設定 ○ アバターがどこにスポーンするかはランダム Travel Point Travel Point Travel Point 2025/02/19 © 2025 Takahiro Miyaura
設定したTravel Group, Travel Pointに移動 実装 2025/02/19 © 2025 Takahiro Miyaura
特定のTravel Pointへ移動 Visual Scriptingで実現 TravelPoint.TravelToPointを呼ぶだけ ボタンなどのオブジェクトをユーザが選択するとSpace2で指定された地点に移動するロジック例 Space2の座標に移動 Mesh Interactable Body Is Selected Locallyを取得 (ユーザがオブジェクトを選択した時) 実装手順 Point! Is Selected Locallyを使用することで、このロジックを 実行したユーザだけが移動する 2025/02/19 © 2025 Takahiro Miyaura 1. 任意の処理の中でTravelPoint.TravelToPoint 関数を呼ぶ ※引数に移動先となるTravel Pointを指定
特定のTravel Pointへ移動(参加者全員) Visual Scriptingで実現 参加中のユーザを全員同時に移動させることも可能 IsDelectedLocallyの代わりにIsSelectedを利用する Space2の座標に移動 Mesh Interactable Body Is Selectedを取得 (ユーザがオブジェクトを選択した時) 実装手順 Point! Is Selectedを使用する事で ボタンを押していない参加者含めて全員ロジックが実行される 2025/02/19 © 2025 Takahiro Miyaura 1. 任意の処理の中でTravelPoint.TravelToPoint 関数を呼ぶ ※引数に移動先となるTravel Pointを指定
特定のTravel Groupへ移動 Visual Scriptingで実現 Travel Group内のTravel Pointにランダムで移動 ボタンなどのオブジェクトをユーザが選択するとTravel Group内のどこかに移動するロジック例 指定のTravel Group内の Travel Pointのいずれかにrandom移動 Mesh Interactable Body Is Selected Locallyを取得 (ユーザがオブジェクトを選択した時) 実装手順 Point! Is Selected Locally、Is Selectedの使い分けは 先ほどの話と同様 2025/02/19 © 2025 Takahiro Miyaura 1. 任意の処理の中で TravelPointGroup.TravelToRandomTravelP oint関数を呼ぶ ※引数に移動先となるTravel Groupを指定
デモ 2025/02/19 © 2025 Takahiro Miyaura
アイデアないですか? TravelPoint.SingleTravelの使い道 2025/02/19 © 2025 Takahiro Miyaura
Microsoft Mesh 空間に移動地点を作成する機能 - 使い方 その② 任意の1地点を移動先として設定(Travel Point) https://learn.microsoft.com/ja-jp/mesh/develop/enhance-your-environment/avatar-and-object-interactions/create-avatar-spawn-and-travel-points?wt.mc_id=WDITMVP-5003104 ○ 空のGameObjectにTravel Pointコンポーネントを追加 ○ GameObjectの座標周辺にアバターがスポーンされる Travel Point Travel Point 2025/02/19 ○ Look At Transform:スポーン後に注視す るオブジェクト(任意) ○ Radius:スポーン半径 ○ Single Travel:1人だけ移動できるか設定 © 2025 Takahiro Miyaura Here
アイデアないですか? TravelPoint.SingleTravelの使い道 仕様が独特でどう使ったらいいのかと。。。 Travel Group 仕様1:Single Travel内に誰もいない ○ ユーザはTravel Point Bに移動できる Travel Point B (Single Travel) Travel Point A Travel Group Travel Point A TravelPoint.SinglePoint チェック Travel Point B (Single Travel) 仕様 3:以下を満たす場合 ○ Single TravelだけのGroup ○ Single Travel内に誰かいる 仕様 2:Single Travel内に誰かいる ○ Travel Point Bに移動できない ○ Single Travelの設定が無視される Travel Group Travel Group Travel Point Aに移動してくる ※他の人もこちらにしか移動できない 2025/02/19 Travel Point A Travel Point B (Single Travel) 移動できない方がいい? © 2025 Takahiro Miyaura Travel Point B (Single Travel)
今月のMeshは以上! 2025/02/19 © 2025 Takahiro Miyaura
1 Microsoft Meshについて 2 Travel GroupとTravel Point 3 実装 4 何かアイデアないですか?
Microsoft Mesh 空間に移動地点を作成する機能:Travel Group, Travel Point Mesh空間内の特定の位置を移動先として指定 & アバター移動 https://learn.microsoft.com/ja-jp/mesh/develop/enhance-your-environment/avatar-and-object-interactions/create-avatar-spawn-and-travel-points?wt.mc_id=WDIT-MVP-5003104 Travel Point ○ 空間内の移動先となる地点に設置 Travel Group ○ Travel Pointを複数持つ Travel Group Travel Point Travel Point Travel Point Travel Point ロジックでアバターを移動する ○ 基本的に実行したアバターが移動する 2025/02/19 © 2025 Takahiro Miyaura Travel Point
大阪駆動開発 関西を中心に、IT系のおもしろそうなことを 楽しんでやるコミュニティ
(参考)Custom Immersive Spaceをゼロから作る Unityプロジェクトの作成とMesh Toolkitの導入 2025/02/19 © 2025 Takahiro Miyaura
Microsoft Mesh Custom Immersive Spaceをゼロから作る – プロジェクト作成 Unityプロジェクト作成 Universal 3Dで作る ○ Unity 2022.3.34f1 サポート外バージョンはデプロイ できないことがあるので注意 2025/02/19 © 2025 Takahiro Miyaura
Microsoft Mesh Custom Immersive Spaceをゼロから作る – Mesh Toolkitの導入 Mesh Toolkitのレジストリ登録 Project Settingsから ○ Package Managerの項目で以 下を入力 2025/02/19 © 2025 Takahiro Miyaura ✓ Name: Mesh Toolkit ✓ URL: https://registry.npmjs.org ✓ Scopes(s): com.microsoft
Microsoft Mesh Custom Immersive Spaceをゼロから作る – Mesh Toolkitの導入 Mesh Toolkitのインポート Package Managerから ○ Packagesを[My Registories]に変更 ○ Microsoft Mesh Toolkitを インポート 2025/02/19 © 2025 Takahiro Miyaura