SlideShare a Scribd company logo
1 of 33
takabrz1 大阪駆動開発 Takahiro Miyaura
今改めてみる
PlaneFinding
2021/10/20
XR ミーティング
宮浦 恭弘 (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
お題:PlaneFindingを調べてみた
空間マッピングの平面だしの機能です
2021/10/21 Copyright © 2021 Takahiro Miyaura
小話 その①
2021/10/21 Copyright © 2021 Takahiro Miyaura
まだこれ移植してますw
MRTK V2.7.2で動かす
OpenXRで稼働させる
HoloLens 1 向けのUXをHoloLens 2に替えていってる
元はHoloLens 1向けの
Mixed Reality のサンプルの1つ
PlaneFindingはMixed Reality Toolkitの部品
2021/10/21 Copyright © 2021 Takahiro Miyaura
MicrosoftのMixed Reality向けライブラリ群
2021/10/21 Copyright © 2021 Takahiro Miyaura
用途/プラットフォームで提供
Unity向け
クロスプラットフォーム
最新バージョンはV2.7.2
UX部品
イベント制御系 etc…
Unity向け
UXデザインのサンプル
Periodic Table
Lunar Module
Surface
Unreal向け
サブセットがいくつかある
第一弾はUXTools for Unreal
 最新はV0.12.1
 Unity向けのライブラリと同等を目指す
Mixed Reality Toolkit V2 for Unity
概要
2021/10/21 Copyright © 2021 Takahiro Miyaura
Unity向けOSSライブラリ
OpenVR HMD
(HTC Vive / Oculus Rift)
iOS/Android
(ARFoundation)
HoloLens HoloLens 2
Windows Mixed Reality HMD
Oculus Quest 2
 Cross Platformでの開発可能
 XRデバイスにおけるUnity開発の基本的な構成要素を提供
 ラピッドプロトタイピングを実現
 コア機能が交換可能な拡張性の高いフレームワーク
Mixed Reality Toolkit V2
概要
2021/10/21 Copyright © 2021 Takahiro Miyaura
XRデバイスの固有機能を含め様々な補助機能を提供
Mixed Reality Toolkit V2
概要
2021/10/21 Copyright © 2021 Takahiro Miyaura
UX building blocks : 組込み済みのUX部品群
Mixed Reality Toolkit
概要
2021/10/21 Copyright © 2021 Takahiro Miyaura
Unity と Unreal用共通で利用する為のベース
https://github.com/microsoft/MixedRealityToolkit
 Mixed Reality Toolkit
 C++ベースのライブラリ等で構成
 GpuStats
 Sharing
 SpatialInput
 PlaneFinding → ここの部品
 SpatialUnderding
 SpecterViewPlugin
Plane Findingとは
2021/10/21 Copyright © 2021 Takahiro Miyaura
Plane Findingとは
概要
2021/10/21 Copyright © 2021 Takahiro Miyaura
空間の平面だしをする部品です
 大量のMesh情報から水平面、垂直面を作る
Lets‘s Try
|ω・)b
2021/10/21 Copyright © 2021 Takahiro Miyaura
Let’s Try
環境
2021/10/21 Copyright © 2021 Takahiro Miyaura
今回の環境
 開発環境.
 Unity 2020.3.8f1
 Visual Studio 2019
 Windows SDK 10.0.19041.0
 ライブラリ
 Mixed Reality Toolkit Foundation V2.7.2
 Mixed Reality Toolkit Plane Finding V1.0.0
 Mixed Reality Toolkit Standard Assets V2.7.2
 Mixed Reality OpenXR Plugin V1.1.1
ちなみに最近知ったのですが。。。
2021/10/21 Copyright © 2021 Takahiro Miyaura
Let’s Try
最近知ったこと
Mixed Reality開発の手順がMicrososft Learnに変わってる
2021/10/21 Copyright © 2021 Takahiro Miyaura
 そして英語化(近いうちに日本語化予定)
 OpenXR環境でMRTKをセットアップするラーニングパスは以下
 https://docs.microsoft.com/ja-jp/learn/modules/learn-mrtk-tutorials/1-2-configure-unity-for-windows-mixed-reality
英語じゃ・・・
という方のためにセットアップ紹介
OpenXRなMRTK環境を作る手順
2021/10/21 Copyright © 2021 Takahiro Miyaura
Let’s Try
OpenXRなMRTK環境を作る手順
少しだけややこしいですよ
2021/10/21 Copyright © 2021 Takahiro Miyaura
1. まずはUnityで空プロジェクトを作成(PlaneFindingSamples等)
2. Mixed Reality Toolkitの導入(Mixed Reality Feature Toolを利用)
 OpenXR Pluginもセット
 ついでに今回使うPlaneFindingもセット
3. Unityで再度プロジェクトを開く
4. プラットフォームをUniversal Windows Platformに
5. OpenXRの設定を行う
6. MRTKの初期設定を行う
7. パッケージ名を直す
Let’s Try
OpenXRなMRTK環境を作る手順
2. Mixed Reality Toolkitの導入(Mixed Reality Feature Toolを利用)
2021/10/21 Copyright © 2021 Takahiro Miyaura
1. サイトからMixed Reality Feature Toolをダウンロードする
 https://docs.microsoft.com/ja-jp/windows/mixed-reality/develop/unity/welcome-to-mr-feature-tool
2. ツールを起動する
3. 先ほど作った空プロジェクトを開く
4. 必要なコンポーネントをインポートする
 Mixed Reality Toolkit Foundation V2.7.2
 Mixed Reality Toolkit Plane Finding V1.0.0
 Mixed Reality Toolkit Standard Assets V2.7.2
 Mixed Reality OpenXR Plugin V1.1.1
Let’s Try
OpenXRなMRTK環境を作る手順
5. OpenXRの設定を行う
2021/10/21 Copyright © 2021 Takahiro Miyaura
1. 起動すると左記のメニューが出る
2. Unity OpenXR pluginを押す
3. Show XR Plug-in management Settingsを開く
4. Project Settingsが拓く
5. OpenXRの設定を行う。
Let’s Try
OpenXRなMRTK環境を作る手順
5. OpenXRの設定を行う
2021/10/21 Copyright © 2021 Takahiro Miyaura
1. XR Plug-in Managementを選択
2. UWPのタブでOpenXRをチェック
3. Microsoft HoloLens feature groupをチェック
4. MRTKのメニューが以下の様に変化する
5. Apply Settingsを押す
Let’s Try
OpenXRなMRTK環境を作る手順
5. OpenXRの設定を行う
2021/10/21 Copyright © 2021 Takahiro Miyaura
1. OpenXR関連の設定が自動で行われる
2. Depthの設定を16bitに変更
3. Interaction Profilesを確認
Microsoft Hand Interaction Profileがある
4. OKならNextを押す
Let’s Try
OpenXRなMRTK環境を作る手順
6. MRTKの初期設定を行う
2021/10/21 Copyright © 2021 Takahiro Miyaura
1. OpenXR関連の設定が自動で行われる
2. Depthの設定を16bitに変更
3. Interaction Profilesを確認
Microsoft Hand Interaction Profileがある
4. OKならNextを押す
Let’s Try
OpenXRなMRTK環境を作る手順
7.パッケージ名を直す
2021/10/21 Copyright © 2021 Takahiro Miyaura
1. パッケージ名を適当な形に変更
※これしないと上書きされる問題
2. 新しいシーンにMRTKの初期設定を行う
3. 空のOpenXRなMRTK環境が完成
PlaneFindingを使う
2021/10/21 Copyright © 2021 Takahiro Miyaura
PlaneFindingを使う
実装内容は以下のフロー
2021/10/21 Copyright © 2021 Takahiro Miyaura
1. 空間マッピングからメッシュ情報を取得
2. 取得した情報をPlane Findingに送る
3. 処理結果を可視化する
PlaneFindingを使う
1. 空間マッピングからメッシュ情報を取得
2021/10/21 Copyright © 2021 Takahiro Miyaura
IMixedRealitySpatialAwarenessMeshObserverから取得可能
var spatialAwarenessService = CoreServices.SpatialAwarenessSystem;
var dataProviderAccess = spatialAwarenessService as IMixedRealityDataProviderAccess;
observer = dataProviderAccess.GetDataProvider<IMixedRealitySpatialAwarenessMeshObserver>("OpenXR Spatial Mesh Observer");
List<PlaneFinding.MeshData> meshData = new List<PlaneFinding.MeshData>();
List<MeshFilter> filters = observer.Meshes.Select(x => x.Value.Filter).ToList();
text = $"MeshCount -> {filters.Count}";
for (int index = 0; index < filters.Count; index++)
{
MeshFilter filter = filters[index];
if (filter != null && filter.sharedMesh != null)
{
// fix surface mesh normals so we can get correct plane orientation.
filter.mesh.RecalculateNormals();
meshData.Add(new PlaneFinding.MeshData(filter));
}
}
MRTKの空間マッピングの機能を取得
スキャンした空間のメッシュ情報を取得
Plane Findingへの渡すための前処理
PlaneFindingを使う
2. 取得した情報をPlane Findingに送る
2021/10/21 Copyright © 2021 Takahiro Miyaura
先ほどのメッシュ情報を引数で渡す
Task<BoundedPlane[]> planeTask = Task.Run(() =>
PlaneFinding.FindPlanes(meshData, snapToGravityThreshold, MinArea));
BoundedPlane[] planes = planeTask.Result;
Plane Findingで計算
結果はBoundedPlaneで返ってくる
public struct BoundedPlane
{
public Plane Plane;
public OrientedBoundingBox Bounds;
public float Area;
}
BoundedPlaneはこういうStruct型
平面に関する情報はOrientedBoundingBoxに入っている
PlaneFindingを使う
3. 処理結果を可視化する
2021/10/21 Copyright © 2021 Takahiro Miyaura
BoundedPlaneの情報を使って面を可視化する
BoundedPlane.Boundsの情報でオブジェクトの位置、向き、サイズを調整
foreach (var boundedPlane in planes)
{
GameObject primitiveType = GameObject.CreatePrimitive(PrimitiveType.Cube);
primitiveType.layer = observer.MeshPhysicsLayer;
primitiveType.transform.parent = gameObject.transform;
primitiveType.transform.position = boundedPlane.Bounds.Center;
primitiveType.transform.rotation = boundedPlane.Bounds.Rotation;
Vector3 extents = boundedPlane.Bounds.Extents * 2;
primitiveType.transform.localScale = new Vector3(extents.x, extents.y, 0.01f);
}
PlaneFindingを使う
結果
2021/10/21 Copyright © 2021 Takahiro Miyaura
以下の様に平面出しが可能に
まとめ
2021/10/21 Copyright © 2021 Takahiro Miyaura
まとめ(今回わかったこと)
 (今更ですが)PlaneFindingを調べてみた
 Mesh情報から計算で平面になる領域を計算し返してくれる
 Mesh情報があればいいので実は空間マッピング関係なく利用できる
 現実空間に沿った平面情報を扱いたい時には気軽に使える
 テーブル上に何か出すコンテンツ等
 MRTKにはSceneUnderStandingという空間シーンの形状分類の機能もある
 空間全体の推定という意味ではそちらの方が効果がある場合も
2021/10/21 Copyright © 2021 Takahiro Miyaura
ちょっと平面だししたい時にはPlane Findingもあることを思い出して
大阪駆動開発
関西を中心に、IT系のおもしろそうなことを楽しんでやるコミュニティ

More Related Content

What's hot

[UE4]自動テストでもっと楽したい!
[UE4]自動テストでもっと楽したい![UE4]自動テストでもっと楽したい!
[UE4]自動テストでもっと楽したい!com044
 
ARマーカーを利用したHoloLens同士の位置合わせ
ARマーカーを利用したHoloLens同士の位置合わせARマーカーを利用したHoloLens同士の位置合わせ
ARマーカーを利用したHoloLens同士の位置合わせTakahiro Miyaura
 
UnityによるHoloLensアプリケーション入門
UnityによるHoloLensアプリケーション入門UnityによるHoloLensアプリケーション入門
UnityによるHoloLensアプリケーション入門Yuichi Ishii
 
Azure kinect DKハンズオン
Azure kinect DKハンズオンAzure kinect DKハンズオン
Azure kinect DKハンズオンTakashi Yoshinaga
 
Unityのサウンド状況を調べまくって分かったアレコレ
Unityのサウンド状況を調べまくって分かったアレコレUnityのサウンド状況を調べまくって分かったアレコレ
Unityのサウンド状況を調べまくって分かったアレコレTakaaki Ichijo
 
点群を使いこなせ! 可視化なんて当たり前、xRと点群を組み合わせたUnityの世界 【Interact , Stipple】
点群を使いこなせ! 可視化なんて当たり前、xRと点群を組み合わせたUnityの世界 【Interact , Stipple】点群を使いこなせ! 可視化なんて当たり前、xRと点群を組み合わせたUnityの世界 【Interact , Stipple】
点群を使いこなせ! 可視化なんて当たり前、xRと点群を組み合わせたUnityの世界 【Interact , Stipple】Unity Technologies Japan K.K.
 
【Unite Tokyo 2018】Audio機能の基礎と実装テクニック
【Unite Tokyo 2018】Audio機能の基礎と実装テクニック【Unite Tokyo 2018】Audio機能の基礎と実装テクニック
【Unite Tokyo 2018】Audio機能の基礎と実装テクニックUnityTechnologiesJapan002
 
Python / BlueprintによるUnreal Engineの自動化 / GTMF2019
Python / BlueprintによるUnreal Engineの自動化 / GTMF2019Python / BlueprintによるUnreal Engineの自動化 / GTMF2019
Python / BlueprintによるUnreal Engineの自動化 / GTMF2019Game Tools & Middleware Forum
 
STAC2023 テストケースの自動生成に生成AI導入を検討してみた STAC2023
STAC2023 テストケースの自動生成に生成AI導入を検討してみた STAC2023STAC2023 テストケースの自動生成に生成AI導入を検討してみた STAC2023
STAC2023 テストケースの自動生成に生成AI導入を検討してみた STAC2023Satoshi Sakashita
 
Photon Fusionのはじめの一歩
Photon Fusionのはじめの一歩Photon Fusionのはじめの一歩
Photon Fusionのはじめの一歩聡 大久保
 
WebブラウザでP2Pを実現する、WebRTCのAPIと周辺技術
WebブラウザでP2Pを実現する、WebRTCのAPIと周辺技術WebブラウザでP2Pを実現する、WebRTCのAPIと周辺技術
WebブラウザでP2Pを実現する、WebRTCのAPIと周辺技術Yoshiaki Sugimoto
 
UE4×Switchで60FPSの(ネットワーク)対戦アクションをなんとかして作る! | UNREAL FEST EXTREME 2020 WINTER
UE4×Switchで60FPSの(ネットワーク)対戦アクションをなんとかして作る!  | UNREAL FEST EXTREME 2020 WINTERUE4×Switchで60FPSの(ネットワーク)対戦アクションをなんとかして作る!  | UNREAL FEST EXTREME 2020 WINTER
UE4×Switchで60FPSの(ネットワーク)対戦アクションをなんとかして作る! | UNREAL FEST EXTREME 2020 WINTERエピック・ゲームズ・ジャパン Epic Games Japan
 
MRTKで始めるAR開発 (HoloLens 1 and 2, ARCore, ARkit)
MRTKで始めるAR開発 (HoloLens 1 and 2, ARCore, ARkit)MRTKで始めるAR開発 (HoloLens 1 and 2, ARCore, ARkit)
MRTKで始めるAR開発 (HoloLens 1 and 2, ARCore, ARkit)Takashi Yoshinaga
 
Unity道場京都スペシャル トゥーンシェーディングとノンフォトリアリスティック風絵づくり入門_
 Unity道場京都スペシャル トゥーンシェーディングとノンフォトリアリスティック風絵づくり入門_ Unity道場京都スペシャル トゥーンシェーディングとノンフォトリアリスティック風絵づくり入門_
Unity道場京都スペシャル トゥーンシェーディングとノンフォトリアリスティック風絵づくり入門_Unity Technologies Japan K.K.
 
「ユニティちゃんを踊らせよう!」モーションキャプチャーデータのアニメーション演出
「ユニティちゃんを踊らせよう!」モーションキャプチャーデータのアニメーション演出「ユニティちゃんを踊らせよう!」モーションキャプチャーデータのアニメーション演出
「ユニティちゃんを踊らせよう!」モーションキャプチャーデータのアニメーション演出小林 信行
 
【Unite Tokyo 2018】スマホVTuber向け揺れモノシステムを「ユニティちゃんライセンス」で無料公開!
【Unite Tokyo 2018】スマホVTuber向け揺れモノシステムを「ユニティちゃんライセンス」で無料公開!【Unite Tokyo 2018】スマホVTuber向け揺れモノシステムを「ユニティちゃんライセンス」で無料公開!
【Unite Tokyo 2018】スマホVTuber向け揺れモノシステムを「ユニティちゃんライセンス」で無料公開!UnityTechnologiesJapan002
 

What's hot (20)

[UE4]自動テストでもっと楽したい!
[UE4]自動テストでもっと楽したい![UE4]自動テストでもっと楽したい!
[UE4]自動テストでもっと楽したい!
 
猫でも分かるUE4のポストプロセスを使った演出・絵作り
猫でも分かるUE4のポストプロセスを使った演出・絵作り猫でも分かるUE4のポストプロセスを使った演出・絵作り
猫でも分かるUE4のポストプロセスを使った演出・絵作り
 
ARマーカーを利用したHoloLens同士の位置合わせ
ARマーカーを利用したHoloLens同士の位置合わせARマーカーを利用したHoloLens同士の位置合わせ
ARマーカーを利用したHoloLens同士の位置合わせ
 
UnityによるHoloLensアプリケーション入門
UnityによるHoloLensアプリケーション入門UnityによるHoloLensアプリケーション入門
UnityによるHoloLensアプリケーション入門
 
Azure kinect DKハンズオン
Azure kinect DKハンズオンAzure kinect DKハンズオン
Azure kinect DKハンズオン
 
Unityのサウンド状況を調べまくって分かったアレコレ
Unityのサウンド状況を調べまくって分かったアレコレUnityのサウンド状況を調べまくって分かったアレコレ
Unityのサウンド状況を調べまくって分かったアレコレ
 
点群を使いこなせ! 可視化なんて当たり前、xRと点群を組み合わせたUnityの世界 【Interact , Stipple】
点群を使いこなせ! 可視化なんて当たり前、xRと点群を組み合わせたUnityの世界 【Interact , Stipple】点群を使いこなせ! 可視化なんて当たり前、xRと点群を組み合わせたUnityの世界 【Interact , Stipple】
点群を使いこなせ! 可視化なんて当たり前、xRと点群を組み合わせたUnityの世界 【Interact , Stipple】
 
【Unite Tokyo 2018】Audio機能の基礎と実装テクニック
【Unite Tokyo 2018】Audio機能の基礎と実装テクニック【Unite Tokyo 2018】Audio機能の基礎と実装テクニック
【Unite Tokyo 2018】Audio機能の基礎と実装テクニック
 
Python / BlueprintによるUnreal Engineの自動化 / GTMF2019
Python / BlueprintによるUnreal Engineの自動化 / GTMF2019Python / BlueprintによるUnreal Engineの自動化 / GTMF2019
Python / BlueprintによるUnreal Engineの自動化 / GTMF2019
 
STAC2023 テストケースの自動生成に生成AI導入を検討してみた STAC2023
STAC2023 テストケースの自動生成に生成AI導入を検討してみた STAC2023STAC2023 テストケースの自動生成に生成AI導入を検討してみた STAC2023
STAC2023 テストケースの自動生成に生成AI導入を検討してみた STAC2023
 
Photon Fusionのはじめの一歩
Photon Fusionのはじめの一歩Photon Fusionのはじめの一歩
Photon Fusionのはじめの一歩
 
かわいい女の子になりたいんや! UE4の最新機能を使ってVTuberしてみた!
かわいい女の子になりたいんや! UE4の最新機能を使ってVTuberしてみた!かわいい女の子になりたいんや! UE4の最新機能を使ってVTuberしてみた!
かわいい女の子になりたいんや! UE4の最新機能を使ってVTuberしてみた!
 
猫でも分かるUMG
猫でも分かるUMG猫でも分かるUMG
猫でも分かるUMG
 
WebブラウザでP2Pを実現する、WebRTCのAPIと周辺技術
WebブラウザでP2Pを実現する、WebRTCのAPIと周辺技術WebブラウザでP2Pを実現する、WebRTCのAPIと周辺技術
WebブラウザでP2Pを実現する、WebRTCのAPIと周辺技術
 
UE4×Switchで60FPSの(ネットワーク)対戦アクションをなんとかして作る! | UNREAL FEST EXTREME 2020 WINTER
UE4×Switchで60FPSの(ネットワーク)対戦アクションをなんとかして作る!  | UNREAL FEST EXTREME 2020 WINTERUE4×Switchで60FPSの(ネットワーク)対戦アクションをなんとかして作る!  | UNREAL FEST EXTREME 2020 WINTER
UE4×Switchで60FPSの(ネットワーク)対戦アクションをなんとかして作る! | UNREAL FEST EXTREME 2020 WINTER
 
MRTKで始めるAR開発 (HoloLens 1 and 2, ARCore, ARkit)
MRTKで始めるAR開発 (HoloLens 1 and 2, ARCore, ARkit)MRTKで始めるAR開発 (HoloLens 1 and 2, ARCore, ARkit)
MRTKで始めるAR開発 (HoloLens 1 and 2, ARCore, ARkit)
 
Unity道場京都スペシャル トゥーンシェーディングとノンフォトリアリスティック風絵づくり入門_
 Unity道場京都スペシャル トゥーンシェーディングとノンフォトリアリスティック風絵づくり入門_ Unity道場京都スペシャル トゥーンシェーディングとノンフォトリアリスティック風絵づくり入門_
Unity道場京都スペシャル トゥーンシェーディングとノンフォトリアリスティック風絵づくり入門_
 
「ユニティちゃんを踊らせよう!」モーションキャプチャーデータのアニメーション演出
「ユニティちゃんを踊らせよう!」モーションキャプチャーデータのアニメーション演出「ユニティちゃんを踊らせよう!」モーションキャプチャーデータのアニメーション演出
「ユニティちゃんを踊らせよう!」モーションキャプチャーデータのアニメーション演出
 
【Unite Tokyo 2018】スマホVTuber向け揺れモノシステムを「ユニティちゃんライセンス」で無料公開!
【Unite Tokyo 2018】スマホVTuber向け揺れモノシステムを「ユニティちゃんライセンス」で無料公開!【Unite Tokyo 2018】スマホVTuber向け揺れモノシステムを「ユニティちゃんライセンス」で無料公開!
【Unite Tokyo 2018】スマホVTuber向け揺れモノシステムを「ユニティちゃんライセンス」で無料公開!
 
Unreal Engine 4.27 ノンゲーム向け新機能まとめ
Unreal Engine 4.27 ノンゲーム向け新機能まとめUnreal Engine 4.27 ノンゲーム向け新機能まとめ
Unreal Engine 4.27 ノンゲーム向け新機能まとめ
 

Similar to 今改めて見る Plane finding

OpenXR + XR Interaction Toolkit使ったHoloLensコンテンツ開発検証 ~ (私が)完全に理解できたらちゃんと作れて、いろ...
OpenXR + XR Interaction Toolkit使ったHoloLensコンテンツ開発検証 ~ (私が)完全に理解できたらちゃんと作れて、いろ...OpenXR + XR Interaction Toolkit使ったHoloLensコンテンツ開発検証 ~ (私が)完全に理解できたらちゃんと作れて、いろ...
OpenXR + XR Interaction Toolkit使ったHoloLensコンテンツ開発検証 ~ (私が)完全に理解できたらちゃんと作れて、いろ...Takahiro Miyaura
 
World Locking Tools V1.0.0について~ 機能と導入 ~
World Locking Tools V1.0.0について~ 機能と導入 ~ World Locking Tools V1.0.0について~ 機能と導入 ~
World Locking Tools V1.0.0について~ 機能と導入 ~ Takahiro Miyaura
 
Mixed Reality関連のSDKの状況を調べてみた
Mixed Reality関連のSDKの状況を調べてみたMixed Reality関連のSDKの状況を調べてみた
Mixed Reality関連のSDKの状況を調べてみたTakahiro Miyaura
 
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.1Takahiro Miyaura
 
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 ~Takahiro Miyaura
 
Mixed Reality Toolkit で OpenXRのEye Trackingを使う
Mixed Reality Toolkit で OpenXRのEye Trackingを使うMixed Reality Toolkit で OpenXRのEye Trackingを使う
Mixed Reality Toolkit で OpenXRのEye Trackingを使うTakahiro Miyaura
 
HoloLens 1のアプリをHoloLens 2に移行する
HoloLens 1のアプリをHoloLens 2に移行するHoloLens 1のアプリをHoloLens 2に移行する
HoloLens 1のアプリをHoloLens 2に移行するTakahiro Miyaura
 
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~ ハンドトラッキングする方法 ~Takahiro Miyaura
 
Azure Spatial Anchorsのユースケース「Way-Finding」を実現するためのテクニック
Azure Spatial Anchorsのユースケース「Way-Finding」を実現するためのテクニックAzure Spatial Anchorsのユースケース「Way-Finding」を実現するためのテクニック
Azure Spatial Anchorsのユースケース「Way-Finding」を実現するためのテクニックTakahiro Miyaura
 
HoloLens1アプリをHoloLens2アプリに変換できるかチャレンジ
HoloLens1アプリをHoloLens2アプリに変換できるかチャレンジHoloLens1アプリをHoloLens2アプリに変換できるかチャレンジ
HoloLens1アプリをHoloLens2アプリに変換できるかチャレンジTakahiro Miyaura
 
UIデザイン設計から開発をつなぐ「MRTK Figma Bridge for Unity」を使ってみよう
UIデザイン設計から開発をつなぐ「MRTK Figma Bridge for Unity」を使ってみようUIデザイン設計から開発をつなぐ「MRTK Figma Bridge for Unity」を使ってみよう
UIデザイン設計から開発をつなぐ「MRTK Figma Bridge for Unity」を使ってみようTakahiro Miyaura
 
IoT関連のAzureを使い倒して お部屋の空気観測装置を作った話
IoT関連のAzureを使い倒して お部屋の空気観測装置を作った話IoT関連のAzureを使い倒して お部屋の空気観測装置を作った話
IoT関連のAzureを使い倒して お部屋の空気観測装置を作った話Takahiro Miyaura
 
「あれ」がスマホで動くのか試してみた
「あれ」がスマホで動くのか試してみた「あれ」がスマホで動くのか試してみた
「あれ」がスマホで動くのか試してみたTakahiro Miyaura
 
【続】OpenXRでHoloLensアプリを作る
【続】OpenXRでHoloLensアプリを作る【続】OpenXRでHoloLensアプリを作る
【続】OpenXRでHoloLensアプリを作るTakahiro Miyaura
 
Unityは知ってる開発者が UE4 で HoloLens 2 アプリ開発セションを聞くために知っておくといいかもTips
Unityは知ってる開発者が UE4 で HoloLens 2 アプリ開発セションを聞くために知っておくといいかもTipsUnityは知ってる開発者が UE4 で HoloLens 2 アプリ開発セションを聞くために知っておくといいかもTips
Unityは知ってる開発者が UE4 で HoloLens 2 アプリ開発セションを聞くために知っておくといいかもTipsTakahiro Miyaura
 
Mixed Reality Toolkit V3について
Mixed Reality Toolkit V3についてMixed Reality Toolkit V3について
Mixed Reality Toolkit V3についてTakahiro Miyaura
 
クロスプラットフォーム開発としての「Mixed Reality Toolkit V2」が持つ可能性
クロスプラットフォーム開発としての「Mixed Reality Toolkit V2」が持つ可能性クロスプラットフォーム開発としての「Mixed Reality Toolkit V2」が持つ可能性
クロスプラットフォーム開発としての「Mixed Reality Toolkit V2」が持つ可能性Takahiro Miyaura
 
だんグラで「Mixed Reality Toolkit V2」のサンプルを動かしてみた
だんグラで「Mixed Reality Toolkit V2」のサンプルを動かしてみただんグラで「Mixed Reality Toolkit V2」のサンプルを動かしてみた
だんグラで「Mixed Reality Toolkit V2」のサンプルを動かしてみたTakahiro Miyaura
 
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をみるTakahiro Miyaura
 
XRマルチデバイス開発を可能にするOSSライブラリ「MRTK-vNEXT」について
XRマルチデバイス開発を可能にするOSSライブラリ「MRTK-vNEXT」についてXRマルチデバイス開発を可能にするOSSライブラリ「MRTK-vNEXT」について
XRマルチデバイス開発を可能にするOSSライブラリ「MRTK-vNEXT」についてTakahiro Miyaura
 

Similar to 今改めて見る Plane finding (20)

OpenXR + XR Interaction Toolkit使ったHoloLensコンテンツ開発検証 ~ (私が)完全に理解できたらちゃんと作れて、いろ...
OpenXR + XR Interaction Toolkit使ったHoloLensコンテンツ開発検証 ~ (私が)完全に理解できたらちゃんと作れて、いろ...OpenXR + XR Interaction Toolkit使ったHoloLensコンテンツ開発検証 ~ (私が)完全に理解できたらちゃんと作れて、いろ...
OpenXR + XR Interaction Toolkit使った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について~ 機能と導入 ~
 
Mixed Reality関連のSDKの状況を調べてみた
Mixed Reality関連のSDKの状況を調べてみたMixed Reality関連のSDKの状況を調べてみた
Mixed Reality関連のSDKの状況を調べてみた
 
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
 
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 で OpenXRのEye Trackingを使う
Mixed Reality Toolkit で OpenXRのEye Trackingを使うMixed Reality Toolkit で OpenXRのEye Trackingを使う
Mixed Reality Toolkit で OpenXRのEye Trackingを使う
 
HoloLens 1のアプリをHoloLens 2に移行する
HoloLens 1のアプリをHoloLens 2に移行するHoloLens 1のアプリをHoloLens 2に移行する
HoloLens 1のアプリをHoloLens 2に移行する
 
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~ ハンドトラッキングする方法 ~
 
Azure Spatial Anchorsのユースケース「Way-Finding」を実現するためのテクニック
Azure Spatial Anchorsのユースケース「Way-Finding」を実現するためのテクニックAzure Spatial Anchorsのユースケース「Way-Finding」を実現するためのテクニック
Azure Spatial Anchorsのユースケース「Way-Finding」を実現するためのテクニック
 
HoloLens1アプリをHoloLens2アプリに変換できるかチャレンジ
HoloLens1アプリをHoloLens2アプリに変換できるかチャレンジHoloLens1アプリをHoloLens2アプリに変換できるかチャレンジ
HoloLens1アプリをHoloLens2アプリに変換できるかチャレンジ
 
UIデザイン設計から開発をつなぐ「MRTK Figma Bridge for Unity」を使ってみよう
UIデザイン設計から開発をつなぐ「MRTK Figma Bridge for Unity」を使ってみようUIデザイン設計から開発をつなぐ「MRTK Figma Bridge for Unity」を使ってみよう
UIデザイン設計から開発をつなぐ「MRTK Figma Bridge for Unity」を使ってみよう
 
IoT関連のAzureを使い倒して お部屋の空気観測装置を作った話
IoT関連のAzureを使い倒して お部屋の空気観測装置を作った話IoT関連のAzureを使い倒して お部屋の空気観測装置を作った話
IoT関連のAzureを使い倒して お部屋の空気観測装置を作った話
 
「あれ」がスマホで動くのか試してみた
「あれ」がスマホで動くのか試してみた「あれ」がスマホで動くのか試してみた
「あれ」がスマホで動くのか試してみた
 
【続】OpenXRでHoloLensアプリを作る
【続】OpenXRでHoloLensアプリを作る【続】OpenXRでHoloLensアプリを作る
【続】OpenXRでHoloLensアプリを作る
 
Unityは知ってる開発者が UE4 で HoloLens 2 アプリ開発セションを聞くために知っておくといいかもTips
Unityは知ってる開発者が UE4 で HoloLens 2 アプリ開発セションを聞くために知っておくといいかもTipsUnityは知ってる開発者が UE4 で HoloLens 2 アプリ開発セションを聞くために知っておくといいかもTips
Unityは知ってる開発者が UE4 で HoloLens 2 アプリ開発セションを聞くために知っておくといいかもTips
 
Mixed Reality Toolkit V3について
Mixed Reality Toolkit V3についてMixed Reality Toolkit V3について
Mixed Reality Toolkit V3について
 
クロスプラットフォーム開発としての「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 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をみる
 
XRマルチデバイス開発を可能にするOSSライブラリ「MRTK-vNEXT」について
XRマルチデバイス開発を可能にするOSSライブラリ「MRTK-vNEXT」についてXRマルチデバイス開発を可能にするOSSライブラリ「MRTK-vNEXT」について
XRマルチデバイス開発を可能にするOSSライブラリ「MRTK-vNEXT」について
 

More from Takahiro Miyaura

Microsoft Ignite 2022の情報 & Microsoft Learnの整理をしてみた
Microsoft Ignite 2022の情報 & Microsoft Learnの整理をしてみたMicrosoft Ignite 2022の情報 & Microsoft Learnの整理をしてみた
Microsoft Ignite 2022の情報 & Microsoft Learnの整理をしてみたTakahiro Miyaura
 
Mixed Reality Toolkit 3 の更新状況 - 6月からもちょいちょいアップデートされてるよ
Mixed Reality Toolkit 3 の更新状況 - 6月からもちょいちょいアップデートされてるよMixed Reality Toolkit 3 の更新状況 - 6月からもちょいちょいアップデートされてるよ
Mixed Reality Toolkit 3 の更新状況 - 6月からもちょいちょいアップデートされてるよTakahiro Miyaura
 
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」Takahiro Miyaura
 
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」の紹介Takahiro Miyaura
 
Mixed RealityとAzure Digital Twinsを組合わせてデジタルツインを可視化するためのTips
Mixed RealityとAzure Digital Twinsを組合わせてデジタルツインを可視化するためのTipsMixed RealityとAzure Digital Twinsを組合わせてデジタルツインを可視化するためのTips
Mixed RealityとAzure Digital Twinsを組合わせてデジタルツインを可視化するためのTipsTakahiro Miyaura
 
5周年ふりかえり!HoloLens 1とHoloLens 2のUI操作と実装の違いを改めて見てみよう
5周年ふりかえり!HoloLens 1とHoloLens 2のUI操作と実装の違いを改めて見てみよう5周年ふりかえり!HoloLens 1とHoloLens 2のUI操作と実装の違いを改めて見てみよう
5周年ふりかえり!HoloLens 1とHoloLens 2のUI操作と実装の違いを改めて見てみようTakahiro Miyaura
 
World Locking Tools でAzure Spatial Anchorsが使えるようになった
World Locking Tools でAzure Spatial Anchorsが使えるようになったWorld Locking Tools でAzure Spatial Anchorsが使えるようになった
World Locking Tools でAzure Spatial Anchorsが使えるようになったTakahiro Miyaura
 
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についてTakahiro Miyaura
 
Azure Object Anchors のQuick Startで理解を深めたい
Azure Object Anchors のQuick Startで理解を深めたいAzure Object Anchors のQuick Startで理解を深めたい
Azure Object Anchors のQuick Startで理解を深めたいTakahiro Miyaura
 
Build 2021のDigital Twinsセションを読み解く ~Azure関連サービス概要とラーニングパスの詳説~
Build 2021のDigital Twinsセションを読み解く ~Azure関連サービス概要とラーニングパスの詳説~Build 2021のDigital Twinsセションを読み解く ~Azure関連サービス概要とラーニングパスの詳説~
Build 2021のDigital Twinsセションを読み解く ~Azure関連サービス概要とラーニングパスの詳説~Takahiro Miyaura
 
ラーニングパス「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 ...Takahiro Miyaura
 
Azure Object Anchors Recap(Kobe版)
Azure Object Anchors Recap(Kobe版)Azure Object Anchors Recap(Kobe版)
Azure Object Anchors Recap(Kobe版)Takahiro Miyaura
 
Azure Object Anchors Recap
Azure Object Anchors RecapAzure Object Anchors Recap
Azure Object Anchors RecapTakahiro Miyaura
 
HoloLensでコンテンツを操作する方法 - Gaze And Dwell -
HoloLensでコンテンツを操作する方法 - Gaze And Dwell -HoloLensでコンテンツを操作する方法 - Gaze And Dwell -
HoloLensでコンテンツを操作する方法 - Gaze And Dwell -Takahiro Miyaura
 

More from Takahiro Miyaura (14)

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」の紹介
Mixed Reality Toolkit 3 のチュートリアル「Zappy’s Playground」の紹介Mixed Reality Toolkit 3 のチュートリアル「Zappy’s Playground」の紹介
Mixed Reality Toolkit 3 のチュートリアル「Zappy’s Playground」の紹介
 
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について
 
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
 
HoloLensでコンテンツを操作する方法 - Gaze And Dwell -
HoloLensでコンテンツを操作する方法 - Gaze And Dwell -HoloLensでコンテンツを操作する方法 - Gaze And Dwell -
HoloLensでコンテンツを操作する方法 - Gaze And Dwell -
 

今改めて見る Plane finding

  • 1. takabrz1 大阪駆動開発 Takahiro Miyaura 今改めてみる PlaneFinding 2021/10/20 XR ミーティング
  • 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
  • 4. 小話 その① 2021/10/21 Copyright © 2021 Takahiro Miyaura まだこれ移植してますw MRTK V2.7.2で動かす OpenXRで稼働させる HoloLens 1 向けのUXをHoloLens 2に替えていってる 元はHoloLens 1向けの Mixed Reality のサンプルの1つ
  • 5. PlaneFindingはMixed Reality Toolkitの部品 2021/10/21 Copyright © 2021 Takahiro Miyaura
  • 6. MicrosoftのMixed Reality向けライブラリ群 2021/10/21 Copyright © 2021 Takahiro Miyaura 用途/プラットフォームで提供 Unity向け クロスプラットフォーム 最新バージョンはV2.7.2 UX部品 イベント制御系 etc… Unity向け UXデザインのサンプル Periodic Table Lunar Module Surface Unreal向け サブセットがいくつかある 第一弾はUXTools for Unreal  最新はV0.12.1  Unity向けのライブラリと同等を目指す
  • 7. Mixed Reality Toolkit V2 for Unity 概要 2021/10/21 Copyright © 2021 Takahiro Miyaura Unity向けOSSライブラリ OpenVR HMD (HTC Vive / Oculus Rift) iOS/Android (ARFoundation) HoloLens HoloLens 2 Windows Mixed Reality HMD Oculus Quest 2  Cross Platformでの開発可能  XRデバイスにおけるUnity開発の基本的な構成要素を提供  ラピッドプロトタイピングを実現  コア機能が交換可能な拡張性の高いフレームワーク
  • 8. Mixed Reality Toolkit V2 概要 2021/10/21 Copyright © 2021 Takahiro Miyaura XRデバイスの固有機能を含め様々な補助機能を提供
  • 9. Mixed Reality Toolkit V2 概要 2021/10/21 Copyright © 2021 Takahiro Miyaura UX building blocks : 組込み済みのUX部品群
  • 10. Mixed Reality Toolkit 概要 2021/10/21 Copyright © 2021 Takahiro Miyaura Unity と Unreal用共通で利用する為のベース https://github.com/microsoft/MixedRealityToolkit  Mixed Reality Toolkit  C++ベースのライブラリ等で構成  GpuStats  Sharing  SpatialInput  PlaneFinding → ここの部品  SpatialUnderding  SpecterViewPlugin
  • 11. Plane Findingとは 2021/10/21 Copyright © 2021 Takahiro Miyaura
  • 12. Plane Findingとは 概要 2021/10/21 Copyright © 2021 Takahiro Miyaura 空間の平面だしをする部品です  大量のMesh情報から水平面、垂直面を作る
  • 14. Let’s Try 環境 2021/10/21 Copyright © 2021 Takahiro Miyaura 今回の環境  開発環境.  Unity 2020.3.8f1  Visual Studio 2019  Windows SDK 10.0.19041.0  ライブラリ  Mixed Reality Toolkit Foundation V2.7.2  Mixed Reality Toolkit Plane Finding V1.0.0  Mixed Reality Toolkit Standard Assets V2.7.2  Mixed Reality OpenXR Plugin V1.1.1
  • 16. Let’s Try 最近知ったこと Mixed Reality開発の手順がMicrososft Learnに変わってる 2021/10/21 Copyright © 2021 Takahiro Miyaura  そして英語化(近いうちに日本語化予定)  OpenXR環境でMRTKをセットアップするラーニングパスは以下  https://docs.microsoft.com/ja-jp/learn/modules/learn-mrtk-tutorials/1-2-configure-unity-for-windows-mixed-reality 英語じゃ・・・ という方のためにセットアップ紹介
  • 18. Let’s Try OpenXRなMRTK環境を作る手順 少しだけややこしいですよ 2021/10/21 Copyright © 2021 Takahiro Miyaura 1. まずはUnityで空プロジェクトを作成(PlaneFindingSamples等) 2. Mixed Reality Toolkitの導入(Mixed Reality Feature Toolを利用)  OpenXR Pluginもセット  ついでに今回使うPlaneFindingもセット 3. Unityで再度プロジェクトを開く 4. プラットフォームをUniversal Windows Platformに 5. OpenXRの設定を行う 6. MRTKの初期設定を行う 7. パッケージ名を直す
  • 19. Let’s Try OpenXRなMRTK環境を作る手順 2. Mixed Reality Toolkitの導入(Mixed Reality Feature Toolを利用) 2021/10/21 Copyright © 2021 Takahiro Miyaura 1. サイトからMixed Reality Feature Toolをダウンロードする  https://docs.microsoft.com/ja-jp/windows/mixed-reality/develop/unity/welcome-to-mr-feature-tool 2. ツールを起動する 3. 先ほど作った空プロジェクトを開く 4. 必要なコンポーネントをインポートする  Mixed Reality Toolkit Foundation V2.7.2  Mixed Reality Toolkit Plane Finding V1.0.0  Mixed Reality Toolkit Standard Assets V2.7.2  Mixed Reality OpenXR Plugin V1.1.1
  • 20. Let’s Try OpenXRなMRTK環境を作る手順 5. OpenXRの設定を行う 2021/10/21 Copyright © 2021 Takahiro Miyaura 1. 起動すると左記のメニューが出る 2. Unity OpenXR pluginを押す 3. Show XR Plug-in management Settingsを開く 4. Project Settingsが拓く 5. OpenXRの設定を行う。
  • 21. Let’s Try OpenXRなMRTK環境を作る手順 5. OpenXRの設定を行う 2021/10/21 Copyright © 2021 Takahiro Miyaura 1. XR Plug-in Managementを選択 2. UWPのタブでOpenXRをチェック 3. Microsoft HoloLens feature groupをチェック 4. MRTKのメニューが以下の様に変化する 5. Apply Settingsを押す
  • 22. Let’s Try OpenXRなMRTK環境を作る手順 5. OpenXRの設定を行う 2021/10/21 Copyright © 2021 Takahiro Miyaura 1. OpenXR関連の設定が自動で行われる 2. Depthの設定を16bitに変更 3. Interaction Profilesを確認 Microsoft Hand Interaction Profileがある 4. OKならNextを押す
  • 23. Let’s Try OpenXRなMRTK環境を作る手順 6. MRTKの初期設定を行う 2021/10/21 Copyright © 2021 Takahiro Miyaura 1. OpenXR関連の設定が自動で行われる 2. Depthの設定を16bitに変更 3. Interaction Profilesを確認 Microsoft Hand Interaction Profileがある 4. OKならNextを押す
  • 24. Let’s Try OpenXRなMRTK環境を作る手順 7.パッケージ名を直す 2021/10/21 Copyright © 2021 Takahiro Miyaura 1. パッケージ名を適当な形に変更 ※これしないと上書きされる問題 2. 新しいシーンにMRTKの初期設定を行う 3. 空のOpenXRなMRTK環境が完成
  • 26. PlaneFindingを使う 実装内容は以下のフロー 2021/10/21 Copyright © 2021 Takahiro Miyaura 1. 空間マッピングからメッシュ情報を取得 2. 取得した情報をPlane Findingに送る 3. 処理結果を可視化する
  • 27. PlaneFindingを使う 1. 空間マッピングからメッシュ情報を取得 2021/10/21 Copyright © 2021 Takahiro Miyaura IMixedRealitySpatialAwarenessMeshObserverから取得可能 var spatialAwarenessService = CoreServices.SpatialAwarenessSystem; var dataProviderAccess = spatialAwarenessService as IMixedRealityDataProviderAccess; observer = dataProviderAccess.GetDataProvider<IMixedRealitySpatialAwarenessMeshObserver>("OpenXR Spatial Mesh Observer"); List<PlaneFinding.MeshData> meshData = new List<PlaneFinding.MeshData>(); List<MeshFilter> filters = observer.Meshes.Select(x => x.Value.Filter).ToList(); text = $"MeshCount -> {filters.Count}"; for (int index = 0; index < filters.Count; index++) { MeshFilter filter = filters[index]; if (filter != null && filter.sharedMesh != null) { // fix surface mesh normals so we can get correct plane orientation. filter.mesh.RecalculateNormals(); meshData.Add(new PlaneFinding.MeshData(filter)); } } MRTKの空間マッピングの機能を取得 スキャンした空間のメッシュ情報を取得 Plane Findingへの渡すための前処理
  • 28. PlaneFindingを使う 2. 取得した情報をPlane Findingに送る 2021/10/21 Copyright © 2021 Takahiro Miyaura 先ほどのメッシュ情報を引数で渡す Task<BoundedPlane[]> planeTask = Task.Run(() => PlaneFinding.FindPlanes(meshData, snapToGravityThreshold, MinArea)); BoundedPlane[] planes = planeTask.Result; Plane Findingで計算 結果はBoundedPlaneで返ってくる public struct BoundedPlane { public Plane Plane; public OrientedBoundingBox Bounds; public float Area; } BoundedPlaneはこういうStruct型 平面に関する情報はOrientedBoundingBoxに入っている
  • 29. PlaneFindingを使う 3. 処理結果を可視化する 2021/10/21 Copyright © 2021 Takahiro Miyaura BoundedPlaneの情報を使って面を可視化する BoundedPlane.Boundsの情報でオブジェクトの位置、向き、サイズを調整 foreach (var boundedPlane in planes) { GameObject primitiveType = GameObject.CreatePrimitive(PrimitiveType.Cube); primitiveType.layer = observer.MeshPhysicsLayer; primitiveType.transform.parent = gameObject.transform; primitiveType.transform.position = boundedPlane.Bounds.Center; primitiveType.transform.rotation = boundedPlane.Bounds.Rotation; Vector3 extents = boundedPlane.Bounds.Extents * 2; primitiveType.transform.localScale = new Vector3(extents.x, extents.y, 0.01f); }
  • 30. PlaneFindingを使う 結果 2021/10/21 Copyright © 2021 Takahiro Miyaura 以下の様に平面出しが可能に
  • 31. まとめ 2021/10/21 Copyright © 2021 Takahiro Miyaura
  • 32. まとめ(今回わかったこと)  (今更ですが)PlaneFindingを調べてみた  Mesh情報から計算で平面になる領域を計算し返してくれる  Mesh情報があればいいので実は空間マッピング関係なく利用できる  現実空間に沿った平面情報を扱いたい時には気軽に使える  テーブル上に何か出すコンテンツ等  MRTKにはSceneUnderStandingという空間シーンの形状分類の機能もある  空間全体の推定という意味ではそちらの方が効果がある場合も 2021/10/21 Copyright © 2021 Takahiro Miyaura ちょっと平面だししたい時にはPlane Findingもあることを思い出して