Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

2020/04/22 Azure Spatial Anchors 入門

2,293 views

Published on

2020/04/22 の HoloLens meetup でお話しした内容です。

Photon + ASA を使ったシェアリング チュートリアル→
https://aka.ms/SharingWithPhoton

ASA チュートリアル→
https://aka.ms/ASATutorialJP

Published in: Technology
  • Be the first to comment

2020/04/22 Azure Spatial Anchors 入門

  1. 1. アンカー情報をクラウド上に保存してくれるサービス
  2. 2. https://twitter.com/stht_thts24/status/1250598643133906946 3D モデルのお礼:@stht_thts24 さん cluster VR での 登壇用に モデル作るぞ! こんなデザインが いいなって描いた 作ってみました 神か
  3. 3. • ニックネーム「ちょまど」 • ゲーム廃人/ 松屋が好き • マイクロソフト社員 • IT エンジニア兼マンガ家 登壇者紹介(千代田まどか) Twitter @chomado フォロワーさん 7.4 万人を超えました!
  4. 4. 友達の誕生日に 似顔絵描いた 自分の誕生日に C# ちゃん描いた
  5. 5. HoloLens の父 Alex Kipman 描いた
  6. 6. ご本人にお渡ししたら fb プロフィール写真に 使ってくれてる!嬉しい
  7. 7. 1. Azure Spatial Anchors 概要 2. デモアプリ (Android 端末と iPhone でアンカーの共有) 3. デモアプリアーキテクチャ解説 4. 公式チュートリアル紙芝居 5. + ASA を使った シェアリング チュートリアル
  8. 8. 1. Azure Spatial Anchors 概要 2. デモアプリ (Android 端末と iPhone でアンカーの共有) 3. デモアプリアーキテクチャ解説 4. 公式チュートリアル紙芝居 5. + ASA を使った シェアリング チュートリアル
  9. 9. マルチユーザーで コンテンツを共有 ウェイファインディング (道案内) コンテンツを 永続的に保持 https://azure.microsoft.com/ja-jp/services/spatial-anchors/ Azure Spatial Anchors アンカー情報 ( 空間情報 + 仮想オブジェクトの配置位置 ) を クラウド上に保存してくれるサービス → クロスプラットフォームのシェアリングの実装が可能になる
  10. 10. Azure Spatial Anchors 利用事例: AR 版 マイクラ『Minecraft Earth』
  11. 11. シェアリングとは 1. 複数の AR / VR / MR デバイスで 同じ仮想空間を 共有すること。 2. 現実世界に仮想オブジェクトを表示する AR / MR では 現実世界における アンカー (共通の空間座標) が必要となる 3. アンカー (共通の空間座標) がズレていると、 現実世界でのオブジェクトの位置がズレて見えてしまう。 引用元:ホロモンさんのスライド https://www.slideshare.net/HoloMon/hololens2-hackday-2020-in-tokyo
  12. 12. アンカーとは 1. 現実空間で、同じ場所を認識する ための特徴データ。 2. このデータを利用すると、 現実空間の同じ場所を 指し示すことができる 3. すると、同じ場所にオブジェクトを表示できる (なんだけど、基本は同一デバイスのみ><) ↓ 特徴データの例 (点群、マーカー)
  13. 13. アンカーの保持の仕方 1. アプリの中で持つ (同一デバイスのみ) 2. 自前シェアリングサーバをたてる (異なるデバイスでも可能だけど大変) 3. クラウドで保持する (異なるデバイスも可能で簡単)
  14. 14. アンカーの保持の仕方 1. アプリの中で持つ (同一デバイスのみ) 2. 自前シェアリングサーバをたてる (異なるデバイスでも可能だけど大変) 3. クラウドで保持する (異なるデバイスも可能で簡単) → Azure Spatial Anchors!
  15. 15. HoloLens ARKit 対応の iOS デバイス ARCore 対応の Android デバイス Azure Spatial Anchors 対応デバイス
  16. 16. Unity C++/WinRT, DirectX Unity Swift Objective-C Xamarin Unity Java C++ / NDK Xamarin Azure Spatial Anchors 開発環境
  17. 17. 1. Azure Spatial Anchors 概要 2. デモアプリ (Android 端末と iPhone でアンカーの共有) 3. デモアプリアーキテクチャ解説 4. 公式チュートリアル紙芝居 5. + ASA を使った シェアリング チュートリアル
  18. 18. App Service Anchor ID とオ レオレ識別子を 紐づけて保持する データベース
  19. 19. App Service Anchor ID とオ レオレ識別子を 紐づけて保持する データベース
  20. 20. App Service Anchor ID とオ レオレ識別子を 紐づけて保持する データベース
  21. 21. App Service Anchor ID とオ レオレ識別子を 紐づけて保持する データベース
  22. 22. App Service Anchor ID とオ レオレ識別子を 紐づけて保持する データベース アンカー情報 ( 空間情報 + 仮想オブジェクトの 配置位置 ) を クラウド上に保存してくれるサービス → クロスプラットフォームのシェアリングの実装が可能になる
  23. 23. App Service 825f5ee9-e570-4c0e-b677-0f7e3b3e2ac6 玄関 : 75bf82bd-d3cd-4f66-b7ce-20a7ad1a0037 Anchor ID とオ レオレ識別子を 紐づけて保持する データベース アンカー情報 ( 空間情報 + 仮想オブジェクトの 配置位置 ) を クラウド上に保存してくれるサービス → クロスプラットフォームのシェアリングの実装が可能になる
  24. 24. App Service 825f5ee9-e570-4c0e-b677-0f7e3b3e2ac6 玄関 : 75bf82bd-d3cd-4f66-b7ce-20a7ad1a0037 Anchor ID とオ レオレ識別子を 紐づけて保持する データベース アンカー情報 ( 空間情報 + 仮想オブジェクトの 配置位置 ) を クラウド上に保存してくれるサービス → クロスプラットフォームのシェアリングの実装が可能になる
  25. 25. App Service 825f5ee9-e570-4c0e-b677-0f7e3b3e2ac6 玄関 : 75bf82bd-d3cd-4f66-b7ce-20a7ad1a0037 Anchor ID とオ レオレ識別子を 紐づけて保持する データベース アンカー情報 ( 空間情報 + 仮想オブジェクトの 配置位置 ) を クラウド上に保存してくれるサービス → クロスプラットフォームのシェアリングの実装が可能になる
  26. 26. App Service 825f5ee9-e570-4c0e-b677-0f7e3b3e2ac6 玄関 : 75bf82bd-d3cd-4f66-b7ce-20a7ad1a0037 Anchor ID とオ レオレ識別子を 紐づけて保持する データベース アンカー情報 ( 空間情報 + 仮想オブジェクトの 配置位置 ) を クラウド上に保存してくれるサービス → クロスプラットフォームのシェアリングの実装が可能になる
  27. 27. App Service 825f5ee9-e570-4c0e-b677-0f7e3b3e2ac6 玄関 : 75bf82bd-d3cd-4f66-b7ce-20a7ad1a0037 Anchor ID とオ レオレ識別子を 紐づけて保持する データベース アンカー情報 ( 空間情報 + 仮想オブジェクトの 配置位置 ) を クラウド上に保存してくれるサービス → クロスプラットフォームのシェアリングの実装が可能になる
  28. 28. App Service 825f5ee9-e570-4c0e-b677-0f7e3b3e2ac6 玄関 : 75bf82bd-d3cd-4f66-b7ce-20a7ad1a0037 Anchor ID とオ レオレ識別子を 紐づけて保持する データベース アンカー情報 ( 空間情報 + 仮想オブジェクトの 配置位置 ) を クラウド上に保存してくれるサービス → クロスプラットフォームのシェアリングの実装が可能になる
  29. 29. App Service 825f5ee9-e570-4c0e-b677-0f7e3b3e2ac6 玄関 : 75bf82bd-d3cd-4f66-b7ce-20a7ad1a0037 Anchor ID とオ レオレ識別子を 紐づけて保持する データベース アンカー情報 ( 空間情報 + 仮想オブジェクトの 配置位置 ) を クラウド上に保存してくれるサービス → クロスプラットフォームのシェアリングの実装が可能になる
  30. 30. App Service 825f5ee9-e570-4c0e-b677-0f7e3b3e2ac6 玄関 : 75bf82bd-d3cd-4f66-b7ce-20a7ad1a0037 Anchor ID とオ レオレ識別子を 紐づけて保持する データベース アンカー情報 ( 空間情報 + 仮想オブジェクトの 配置位置 ) を クラウド上に保存してくれるサービス → クロスプラットフォームのシェアリングの実装が可能になる
  31. 31. App Service 825f5ee9-e570-4c0e-b677-0f7e3b3e2ac6 玄関 : 75bf82bd-d3cd-4f66-b7ce-20a7ad1a0037 Anchor ID とオ レオレ識別子を 紐づけて保持する データベース アンカー情報 ( 空間情報 + 仮想オブジェクトの 配置位置 ) を クラウド上に保存してくれるサービス → クロスプラットフォームのシェアリングの実装が可能になる ③ “825f5ee9(略)”だよ④ Anchor ID “825f5ee9(略)”
  32. 32. App Service 825f5ee9-e570-4c0e-b677-0f7e3b3e2ac6 玄関 : 75bf82bd-d3cd-4f66-b7ce-20a7ad1a0037 Anchor ID とオ レオレ識別子を 紐づけて保持する データベース アンカー情報 ( 空間情報 + 仮想オブジェクトの 配置位置 ) を クラウド上に保存してくれるサービス → クロスプラットフォームのシェアリングの実装が可能になる ③ “825f5ee9(略)”だよ④ Anchor ID “825f5ee9(略)”
  33. 33. App Service 825f5ee9-e570-4c0e-b677-0f7e3b3e2ac6 玄関 : 75bf82bd-d3cd-4f66-b7ce-20a7ad1a0037 Anchor ID とオ レオレ識別子を 紐づけて保持する データベース アンカー情報 ( 空間情報 + 仮想オブジェクトの 配置位置 ) を クラウド上に保存してくれるサービス → クロスプラットフォームのシェアリングの実装が可能になる ③ “825f5ee9(略)”だよ④ Anchor ID “825f5ee9(略)” ⑥ どうぞ
  34. 34. 1. Azure Spatial Anchors 概要 2. デモアプリ (Android 端末と iPhone でアンカーの共有) 3. デモアプリアーキテクチャ解説 4. 公式チュートリアル紙芝居 5. + ASA を使った シェアリング チュートリアル
  35. 35. 1. アクセスキー 2. 「プライマリー キー」をコピーし てどこかに控えて おく
  36. 36. $ git clone https://github.com/Azure/azure-spatial-anchors-
  37. 37. Unity バージョンは 2019.2.18f1 で動作確認済
  38. 38. 15時〜夕方スタートで夜解散 1. Unity 側で Azure Spatial Anchors 各種 アクセスキーを設定 2. シーン保存
  39. 39. ## 前処理 - Session を作る - 構成する - Session を開始する ## メインの処理 ### アンカーを作る側 - Unity のローカルの座標からクラウドのアンカーに変換 - クラウドのアンカーを、Azure Spatial Anchor に保存する - Web API にアンカーのIDを登録してオレオレアンカー識別子を発行してもらう ### アンカーを探す側 - オレオレアンカー識別子をもとに Web API からアンカー ID を取得する - SpatialAnchorManager にアンカー ID をもとにアンカーを探してもらう - アンカーが見つかったら(AnchorLocated イベントが発生する)、その場所にキューブを表 示する ## 後処理 - Session を止める - Session をリセットする
  40. 40. 1. Azure Spatial Anchors 概要 2. デモアプリ (Android 端末と iPhone でアンカーの共有) 3. デモアプリアーキテクチャ解説 4. 公式チュートリアル紙芝居 5. + ASA を使った シェアリング チュートリアル
  41. 41. Photon + ASA を使った シェアリング チュートリアル 5 日前の 2020/4/17 (金) に 大型アップデートがあったので 原文 (en-us) で読むの推奨
  42. 42. 1. Azure Spatial Anchors 概要 2. デモアプリ (Android 端末と iPhone でアンカーの共有) 3. デモアプリアーキテクチャ解説 4. 公式チュートリアル紙芝居 5. + ASA を使った シェアリング チュートリアル
  43. 43. Twitter : @chomado ご清聴ありがとう ございました!

×