Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

MixedReality技術とその活用事例~xR(VR/AR/MR...)への基礎知識~

913 vues

Publié le

Tokyo HoloLens ミートアップ vol.21登壇資料。
HoloLens 2民主化記念に近年のxR界隈の動向を整理しつつ、UnityやUnrealでのHoloLensアプリ開発やAzure関連サービスについての紹介。

Publié dans : Technologie
  • Soyez le premier à commenter

MixedReality技術とその活用事例~xR(VR/AR/MR...)への基礎知識~

  1. 1. takabrz1 大阪駆動開発 Takahiro Miyaura Mixed Reality技術とその活用事例 ~ xR(VR/AR/MR…)への基礎知識 ~
  2. 2. 宮浦 恭弘 (Miyaura Takahiro)  大阪駆動開発コミュニティに生息  HoloLens日本販売してからXR系技術に取組む  普段はよくMixed Reality Toolkitに関する調査している  とかあ新しい技術や、MRに使えそうな技術を調べる 技術Tips : https://qiita.com/miyaura takabrz1 ※よかったらこれを機にお知り合いになってください Microsoft MVP for Windows Development 2018-202 1 某会社でSE(アプリケーション領域のアーキテクト的なお仕事なはず)= XRは趣味です(貢献領域:Mixed Reality)  リリース機能調べたり・・・  面白い機能使ってみたり・・・  新しい実験してフィードバックしたり・・・
  3. 3. xR技術の振り返り 2020/07/29 Copyright © 2020 Takahiro Miyaura 3
  4. 4. 用語としてのxR 2020/07/29 Copyright © 2020 Takahiro Miyaura 4
  5. 5. 用語としてのxR 「現実世界の情報」と「デジタル情報」を相互作用させる技術の総称 2020/07/29 Copyright © 2020 Takahiro Miyaura Virtual Reality 仮想現実 (Virtualな現実) xR(クロスリアリティ) Augmented Reality 拡張現実 Mixed Reality 複合現実 とは言われてるんですが・・・ 5
  6. 6. 拡張現実 (Augmented Reality) 強化された仮想性 (Augmented Vitality) 現実環境 (Real Environment) 仮想環境 (Virtual Environment) AR/MR 用語としてのxR 学術的にはMixed Realityが上位概念 現実環境とデジタル環境の比率が違う 2020/07/29 Copyright © 2020 Takahiro Miyaura 複合現実 (Mixed Reality) 引用元:馬 文鵬, 拡張現実技術を用いた学習環境の開発と学習効果に関する研究, 鳴門教育大学学位論文(博士), 14503甲第286号(2017) 現実環境 (Real Environment) デジタル環境 (Virtual Environment) VR MR VR AR 6
  7. 7. xR技術の変遷 2020/07/29 Copyright © 2020 Takahiro Miyaura 7
  8. 8. AR/MR xR技術の普及 ~ VR普及からAR/MR系へのシフト ~ 2020/07/29 Copyright © 2020 Takahiro Miyaura VR エンタープライズ (for business) コンシューマー (for entertainment) 安価なVRデバイスの普及と共に活用が広がる 普及の中心 ゲーム ライブ 観光 8
  9. 9. POCや検証が 進む領域 AR/MR xR技術の普及 ~ VR普及からAR/MR系へのシフト ~ 2020/07/29 Copyright © 2020 Takahiro Miyaura VR エンタープライズ (for business) コンシューマー (for entertainment) VRデバイスの業務活用とAR/MRの検証と認知 普及の中心 ゲーム ライブ 観光 活用する領域が シフト より安価なVRデバイスと高機能化(6dof etc.…) HoloLens 1による活用の普及(ハードの低価格化) → POCや、実践活用が進む 9
  10. 10. AR/MR xR技術の普及 ~ AR/MR系の活用によるxR技術としての普及 ~ 2020/07/29 Copyright © 2020 Takahiro Miyaura VR エンタープライズ (for business) コンシューマー (for entertainment) エンタープライズ向けVRの発展とAR/MRの活用/普及 普及の中心 ゲーム ライブ 観光 活用する領域が シフト 活用と普及 10
  11. 11. AR/MR (参考)xR技術の活用事例 ~ 既に様々な取り組みが進んでいる ~ 2020/07/29 Copyright © 2020 Takahiro Miyaura VR  Remote Assists(業務支援)  ゴジラナイト(新しい体験)  工場見学(機会創出)  HoloeyesXR(業務支援)  de:code(イベント)  Mixed Reality Dev Days(イベン ト)  安全体感VR(訓練)  Beat Saver(ゲー ム)  Minecraft Earth(ゲーム)  Guides(訓練)  軍艦島ミュージアム(観光) エンタープライズ (for business) コンシューマー (for entertainment)  HOLO-COMMUNICATION (遠隔コミュニケーション) 11
  12. 12. AR/MR xR技術の普及 ~ xR技術のさらなる発展 ~ 2020/07/29 Copyright © 2020 Takahiro Miyaura VR エンタープライズ (for business) コンシューマー (for entertainment) VR/AR/MR技術のより高度な活用 xR  Devices  Multi Experience  Augmented Human  etc… xR + Cloud Computing  on-demand available of computer system resources  perceive spaces, and sharing the spatial anchors (AR Cloud) xR + 5G  Broadband network resources  streaming service xR + ・・・ 複数の技術や概念を組み入れてより高度な活用へ 12
  13. 13. xR技術の普及 ~ 登場する様々なDevice達(HoloLens 2 / Magic Leap 1 / Nreal light ...) ~ 2020/07/29 Copyright © 2020 Takahiro Miyaura 活用に応えるタイミングでのハードウェアの進化 HoloLens 2 7/1はみんなうひょーいしたはず 数少ない第2世代に入ったMRデバイス 第1世代の実践知からの改善 活用が進むxR技術へ対応 (参考)Multi Experienceという観点では・・・ 視覚と聴覚を活用した現実との相互作用を実現 触覚、味覚、嗅覚はいくつか試験的に検証が進んでいるまだまだ、普及には・・・? 13
  14. 14. 本日のテーマ 2020/07/29 Copyright © 2020 Takahiro Miyaura 時間いっぱいでやれるところまで 多分QAタイムが取れないかもなので質問あれば #TMCN #HoloLens #QAでつぶやいておいてくれたら後追いします デバイスと開発 xRとクラウドサービスの活用 xR  Devices  Multi Experience  Augmented Human  etc… xR + Cloud Computing  on-demand available of computer system resources  perceive spaces, and sharing the spatial anchors(AR Cloud) 14
  15. 15. デバイスと開発 2020/07/29 Copyright © 2020 Takahiro Miyaura 15
  16. 16. あらためてMixed Reality 世間で言わているMR(とAR)は現実環境にデジタルを使う 2020/07/29 Copyright © 2020 Takahiro Miyaura 複合現実 (Mixed Reality) 複合現実 (Mixed Reality) 拡張現実 (Augmented Reality) 強化された仮想性 (Augmented Vitality) 現実環境 (Real Environment) 仮想環境 (Virtual Environment) AR/MR 現実環境 (Real Environment) デジタル環境 (Virtual Environment) VR 16
  17. 17. あらためてMixed Reality 2020/07/29 Copyright © 2020 Takahiro Miyaura 現実環境に近い情報出力 例:机の上の3Dオブジェクト デジタル音の出力 現実環境に近い操作 例:ボタンを押す 出力 入力 求められる要素 17
  18. 18. 空間認識(出力) 操作(入力) Mixed Reality ~ HoloLens / HoloLens 2~ 2020/07/29 Copyright © 2020 Takahiro Miyaura 6Dofトラッキング SLAM ご購入はこちら 音声入力 Hand Tracking / Gesture Eye Tracking Mixed Reaityを実現するデバイスの1つ 18
  19. 19. 空間認識(出力) 2020/07/29 Copyright © 2020 Takahiro Miyaura 19
  20. 20. SLAM (Simultaneous Localization and Mapping) ~ 自己位置推定とマッピング ~ 現実環境と同じデジタル地図を生成 2020/07/29 Copyright © 2020 Takahiro Miyaura 各種センサー情報を活用  Depthカメラ(奥行き)  環境認識カメラ デジタル地図の特徴を活用  自己位置の推定  向きや傾きの推定 20
  21. 21. SLAM (Simultaneous Localization and Mapping) ~ 自己位置推定とマッピング ~ 不可視状態でデジタル地図を現実環境に重ねる 2020/07/29 Copyright © 2020 Takahiro Miyaura 現実環境に出力  現実の物体にさせぎられる(occulusion)  現実の物体上に乗る デジタル地図  床面や壁等の空間情報 複合現実感を表現 21
  22. 22. 6Dof (Six degrees of freedom) ~ 6軸自由度 ~ 現実環境内で自由な行動が可能 2020/07/29 Copyright © 2020 Takahiro Miyaura ヨー ロール ピッチ 22
  23. 23. 音響は? ~ 空間音響という仕組み ~ 音源との距離で聞こえ方を変えることは可能 2020/07/29 Copyright © 2020 Takahiro Miyaura 音源との位置関係を把握  方向を元に左右耳の音量を制御 (例:左方向の音源では右耳音量が小) あくまで疑似的  音源との距離/方向で音量制御  残響/反射のような音響制御は不可 右寄りに聞こえる 左寄りに聞こえる 23
  24. 24. 操作(入力) 2020/07/29 Copyright © 2020 Takahiro Miyaura 24
  25. 25. Gesture & Hand Tracking 2020/07/29 Copyright © 2020 Takahiro Miyaura    25
  26. 26. Eye Tracking ~ 使えるけど、結構疲れる ~ 2020/07/29 Copyright © 2020 Takahiro Miyaura 視線による操作 物体注視による選択/決定 スクロール 虹彩認証 あくまで補助的に・・・  視線を頻繁に使うとかなり疲れる  注視選択程度がおすすめ 26
  27. 27. 空間認識(出力) 操作(入力) Mixed Realityのまとめ 2020/07/29 Copyright © 2020 Takahiro Miyaura 6Dofトラッキング SLAM 音声入力 Hand Tracking / Gesture Eye Tracking Mixed Reaityデバイスで実現すること 27
  28. 28. Mixed Realityのまとめ 2020/07/29 Copyright © 2020 Takahiro Miyaura 現実環境に近い情報出力 例:机の上の3Dオブジェクト デジタル音の出力 現実環境に近い操作 例:ボタンを押す 空間認識(出力) 操作(入力) 今までにないUX体験 28
  29. 29. HoloLens 2で特にハードとして便利に 2020/07/29 Copyright © 2020 Takahiro Miyaura USB(Type-C)にUSBデバイスを接続可能  29
  30. 30. 開発概要 2020/07/29 Copyright © 2020 Takahiro Miyaura 開発ツール 便利なライブラリ 開発Tips 30
  31. 31. 開発概要 2020/07/29 Copyright © 2020 Takahiro Miyaura 開発ツール 便利なライブラリ 開発Tips 31
  32. 32. 開発ツール その① 2020/07/29 Copyright © 2020 Takahiro Miyaura HoloLens 1stから開発で使われてきたゲームエンジン  最もノウハウがたまっている開発手法 Unity モバイルゲームではおなじみ(Made with Unity) クロスプラットフォーム開発が可能 コンテンツ開発にはコーディング(主にC#)の知識が必要 Visual Studio コードエディタとしても利用 直接/関節的にHoloLens用にUWPアプリのビルドとデプロイを実行 32
  33. 33. Unreal Engine モバイルゲームではおなじみ クロスプラットフォーム開発が可能 コーディングの知識がなくてもある程度アプリケーション開発ができる。 開発ツール その② 2020/07/29 Copyright © 2020 Takahiro Miyaura HoloLens 2から利用できるようになったゲームエンジン  ノウハウはまだ少なめ。これから整備(ライブラリ等)が充実(すると考えられる) Visual Studio 直接的には呼び出さないがUE側のバックエンドで呼びだされビルドを実行 ちょまどさん & Epic gamesのAxelさんの登壇も注目! 「HoloLens 2 一般販売開始! Unreal Engine も対応」 33
  34. 34. 開発概要 2020/07/29 Copyright © 2020 Takahiro Miyaura 開発ツール 便利なライブラリ 開発Tips 34
  35. 35. 便利なライブラリ 2020/07/29 Copyright © 2020 Takahiro Miyaura 各ゲームエンジン向けにOSSとして提供 Mixed Reality Toolkit for Unity(V2.4.0) ButtonやBoundingBox等のUX部品 イベント制御系 etc… Mixed Reality Design Labs Unity向けOSSライブラリ UXデザインのサンプル Mixed Reality Toolkit for Unreal(V0.8.0?) Unity向けのライブラリと同等を目指す Special Talk Session!  「MRTK‘s HoloLens 2 Button customization deep dive」from Yoonさん@MS MRTeam  「Introduction to MRTK-Unreal」 from Cameronさん@MS MRTeam 35
  36. 36. Mixed Reality Toolkit V2 for Unity 概要  Cross Platformでの開発可能  XRデバイスにおけるUnity開発の基本的な構成要素を提供  ラピッドプロトタイピングを実現  コア機能が交換可能な拡張性の高いフレームワーク Unity向けOSSライブラリ OpenVR HMD (HTC Vive / Oculus Rift) iOS/Android (ARFoundation) HoloLens HoloLens 2 Windows Mixed Reality HMD 2020/07/29 Copyright © 2020 Takahiro Miyaura 36
  37. 37. Mixed Reality Toolkit V2 概要 2020/07/29 Copyright © 2020 Takahiro Miyaura XRデバイスの固有機能を含め様々な補助機能を提 供 37
  38. 38. Mixed Reality Toolkit V2 概要 2020/07/29 Copyright © 2020 Takahiro Miyaura UX building blocks : 組込み済みのUX部品群  これらを組合せることで容易なアプリケーション開発が可能に 38
  39. 39. 開発概要 2020/07/29 Copyright © 2020 Takahiro Miyaura 開発ツール 便利なライブラリ 開発Tips 39
  40. 40. 開発Tips ~ HoloLens上のアプリの形式 ~ 2020/07/29 Copyright © 2020 Takahiro Miyaura HoloLensのOSはWindows 10 ⇒ UWPアプリケーションを作る  UWPアプリケーションはVisual Studioの機能で作る ゲームエンジンでは直接UWPアプリは作成できない ゲームエンジンはクロスプラットフォーム開発を前提 各プラットフォーム固有のビルドはできない(連携は一部可能) Visual Studioまたは相当機能(MSBuild.exe)を介してHoloLensにデプロイする Develop on Game Engine Build & Deploy Execute on HoloLens! Convert to UWP Source code UWP Apps Build 40
  41. 41. 開発Tips ~ エンジンやライブラリのバージョン ~ 2020/07/29 Copyright © 2020 Takahiro Miyaura 原則推奨バージョンで問題ないです。  OSSライブラリは基本リリースタグが付いているものを利用 ライブラリを組合わせる場合は調整が必要なことも Unityの例  Azure Spatial AnchorsはUnity 2019.3は未サポート  MTRK for Unity V2.4.0はUnity 2018.4(LTS)or 2019.X(3を推奨) Unrealの例  MRTK for Unreal V0.8.?はUnreal Engine 4.25 preview 6以降  Azure Spatial Anchors for Unreal(あることを昨日知った・・・)はUnreal Engine 4.25以降 基本的には利用するライブラリや機能のサポートバージョンを総合して 最新のバージョンを利用するのがいいと思います。 41
  42. 42. 開発Tips ~ エンジンやライブラリのバージョン ~ 2020/07/29 Copyright © 2020 Takahiro Miyaura ゲームエンジンのバージョン合わせ  Epic Games LauncherやUnity Hubを使うとディスク容量を許す限りは複数バージョン環境を用意可能 ゲームエンジンについてはよく使うバージョンを上2桁まで合わせておくようにしています。 Unity ⇒ Unity 2019.2.X Unreal ⇒ Unreal 4.25.X ※Unrealの場合はまれに4.25.2でサポートされる機能があったりするため注意は必要 OSSライブラリは・・・覚えるしか(嘘です) MRTK for UnityはV2.3.0まではVersion.txtがAssetに含まれていた(今はないはず) カスタムパッケージとして自分で入れた場合は覚えておく(メモ書きおすすめ) 厳密に管理したい場合はNuget for Unityを導入しMRTKをセットアップ 42
  43. 43. 簡単な開発の流れ 2020/07/29 Copyright © 2020 Takahiro Miyaura Unityで開発 Unreal Engineで開発 43 30
  44. 44. 2020/07/29 Copyright © 2020 Takahiro Miyaura 簡単な開発の流れ お題:Cubeをハンドトラッキングで操作 & ボタン押下で落下 1. Create and set the cube. 2. Manipulate the cube 3. Fall the cube operation using pressable button of MRTK ライブでやってみる! 時間足りなくなったらごめんね! その時は後ろに作り方書いてるから・・・ 44
  45. 45. 簡単な開発の流れ 2020/07/29 Copyright © 2020 Takahiro Miyaura Unityで開発 Unreal Engineで開発 45
  46. 46. 紹介のみ(時間がかかるので) 2020/07/29 Copyright © 2020 Takahiro Miyaura 簡単な開発の流れ ~ Unity チャレンジ ~ 大まかな流れ 1. Unity起動 & プロジェクト作成 2. プロジェクト設定 3. MRTKインポート 4. シーン設定 5. Cubeを作る&設定 6. ボタンを押して落下する設定 7. デバック実行 8. Unityから出力 9. Visual Studio でデプロイ 46
  47. 47. 簡単な開発の流れ ~ Unity チャレンジ ~ 開発環境 2020/07/29 ソフトウェア Windows 10 version 1909 or higher. 最新の Visual Studio 2019 (試したときは16.5.3) Windows SDK 10.0.18362.0 MRTK V2.4.0 Unity 2019.2.18f1 UWP - Universal Windows Platform Build Support IL2CPP - Windows Build Support (IL2CPP) Copyright © 2020 Takahiro Miyaura 47
  48. 48. 2020/07/29 Copyright © 2020 Takahiro Miyaura 簡単な開発の流れ ~ Unity チャレンジ ~ |ω・)b Live 48
  49. 49. 簡単な開発の流れ ~ Unity チャレンジ ~ 1. Unity起動 & プロジェクト作成 2020/07/29 1. Unity Hubから新規作成 Copyright © 2020 Takahiro Miyaura 49
  50. 50. 簡単な開発の流れ ~ Unity チャレンジ ~ 2. プロジェクト作成 2020/07/29 1. [file] – [Build settings]を開く 2. [Platform]を[Universal Windows Platform]に変更 3. [Switch Platform]を押す! Copyright © 2020 Takahiro Miyaura 50
  51. 51. 簡単な開発の流れ ~ Unity チャレンジ ~ 3. MRTKインポート 2020/07/29 1. [Assets] – [Custom Package]を開く 2. MRTKのモジュールをインポート 1. Microsoft.MixedReality.Toolkit.Unity. Foundation.2.4.0.unitypackage 2. Microsoft.MixedReality.Toolkit.Unity. Tools.2.4.0.unitypackage Copyright © 2020 Takahiro Miyaura 51
  52. 52. 簡単な開発の流れ ~ Unity チャレンジ ~ 3. MRTKインポート 2020/07/29 1. [Edit]-[Project Settings]-[Player]選択 2. [Player]内の[XR Settings]を展開 3. [Virtual Reality SDKs]が空の場合[+] を押し[Windows Mixed Reality]を追 加 4. [Depth format]を16-bitに変更 Copyright © 2020 Takahiro Miyaura 52
  53. 53. 簡単な開発の流れ ~ Unity チャレンジ ~ 4. シーン設定 2020/07/29 1. [Mixed Reality Toolkit]-[Add to Scene and Configure…]を選択 2. シーンの内容が変わりMRTK用のコンポーネ ントが2つ追加される Copyright © 2020 Takahiro Miyaura 53
  54. 54. 簡単な開発の流れ ~ Unity チャレンジ ~ 4. シーン設定 2020/07/29 1. [Hierarchy]から[MixedRealityToolkit] を選択 2. [Inspector]内の[MixedRealityToolkit] コンポーネントを探す 3. コンボボックスを開き [DefaultHoloLens2ConfigureProfile]を 選択 ※HoloLens 1stの場合は[DefaultHoloLens1ConfigureProfile] Copyright © 2020 Takahiro Miyaura 54
  55. 55. 簡単な開発の流れ ~ Unity チャレンジ ~ 5. Cubeを作る & 設定 2020/07/29 1. [Hierarchy]で[Cube]を選択し追加 2. [Inspector]内の[Transform.position]を (0,0,1)に変更 3. [Inspector]内で[Add Component]を押 し[Rigidbody]を追加 4. [Rigidbody]の以下の値を変更 1. Use Gravity ⇒ false 2. Is Kinematic ⇒ true Copyright © 2020 Takahiro Miyaura 55
  56. 56. 簡単な開発の流れ ~ Unity チャレンジ ~ 5. Cubeを作る & 設定 2020/07/29 1. [Inspector]内で[Add Component]を押 し[ObjectManipulator]を追加 2. [ObjectManipulator]の以下の値を変更 1. Release Behavior ⇒ Nothing Copyright © 2020 Takahiro Miyaura 56
  57. 57. 簡単な開発の流れ ~ Unity チャレンジ ~ 6. ボタンを押して落下する設定 2020/07/29 1. [MixedRealityToolkit]-[Toolbox]を選択 ※Toolboxが表示されます。 2. [Button]カテゴリ内の好きな押しボタ ンをクリックする ※[Hierarchy]にボタンが追加されます。 3. もしTMP Importerのダイアログが表 示されたImportを実施 Copyright © 2020 Takahiro Miyaura 57
  58. 58. 簡単な開発の流れ ~ Unity チャレンジ ~ 6. ボタンを押して落下する設定 2020/07/29 1. [Hierarchy]に追加されたボタンを選 択 2. [Inspector]内の[Transform.Position]を (0.1,0,0.5)に設定 Copyright © 2020 Takahiro Miyaura 58
  59. 59. 簡単な開発の流れ ~ Unity チャレンジ ~ 6. ボタンを押して落下する設定 2020/07/29 1. [Inspector]内の[Button Config Helper]コン ポーネントを選択 2. 以下の通り設定する 1. Enable Main Label ⇒ true 2. Main Label Text ⇒ Click Me 3. Enable See it / Say it Label ⇒ false 4. Onclickに以下の設定を追加  ターゲットを「Cube」  変数を[Rigidbody.IsKinematic]  チェックなし 5. OnClickに以下のせて地を追加  ターゲットを「Cube」  変数を[Rigidbody.UseGravity]  チェックあり Copyright © 2020 Takahiro Miyaura 59
  60. 60. 簡単な開発の流れ ~ Unity チャレンジ ~ 7. デバッグ実行 2020/07/29 1. 再生を押すとデバッグを開始します。 2. [Game]パネルをクリックします。 3. 左の操作方法を参考に操作します。 1. Cubeを選択しタップ&ホールドで移動 2. ボタンを押すとCubeが落下します。 デバッグの操作方法 ◦ マウス右ボタンを押下したまま動かす → 視線を上下左右に向ける ※HoloLensの場合はGazeの移動 ◦ 矢印キー → カメラの移動 ◦ Shiftキー+マウス操作→手の移動(上下左右) ◦ Shiftキー+ホイール操作→手の移動(前後) ◦ Shiftキー+左ボタンをクリック → 左のタップ ◦ Spaceキー+マウス操作→右手の移動 ◦ Spaceキー+左ボタンをクリック → 右のタップ Copyright © 2020 Takahiro Miyaura 60
  61. 61. 簡単な開発の流れ ~ Unity チャレンジ ~ 8. Unityから出力 2020/07/29 1. [File]-[Build Settings]を選択 2. [Scene in Build]に作成したシーンを追加 3. プラットフォームの設定 • Target Device ⇒ HoloLens • Architecture ⇒ ARM ※HoloLens 1stはX86 • Target SDK Ver ⇒ 10.0.18362.0 • Minimum Platform Version ⇒ 10.0.10240.0 • Visual Studio Version ⇒ Visual Studio 2019 • Build and Run on ⇒ 任意の設定 • Build configuration ⇒ release 4. Buildボタンを押すとUWP用のコードを生成 5. Build And Runを実行するとデプロイまで実施 Copyright © 2020 Takahiro Miyaura 61
  62. 62. 簡単な開発の流れ ~ Unity チャレンジ ~ 9. Viausl Studioでデプロイ 2020/07/29 1. Unityから出力したフォルダ内のslnファイル を開く 2. Visual Studio 上部のターゲットを [Release] に変更 3. [Archtecture]を以下の通り設定します 1. HoloLens,HoloLens Emulatorの場合: x86 2. HoloLens 2の場合:ARM(ARM64の場合は別途追加) 4. [ローカル コンピューター] の横にある矢印 をクリックし、配置先を設定 a.Windows MR機にデプロイ→[ローカルコンピュータ] b.実機にデプロイ→[Device] ※HoloLens、HoloLens 2はUSB接続を行う。 c. HoloLens-Wifi接続→[リモートコンピューター] d. HoloLens Emulator⇒「HoloLens Emulator …」 e. HoloLens 2 Emulator⇒「HoloLens Emulator …」 5. [デバッグ]-[デバッグなしで開始] を選択 6. アプリケーションの配置と起動が実施 b 2 3 c d 3 e a Copyright © 2020 Takahiro Miyaura 62
  63. 63. 簡単な開発の流れ 2020/07/29 Copyright © 2020 Takahiro Miyaura Unityで開発 Unreal Engineで開発 63
  64. 64. 2020/07/29 Copyright © 2020 Takahiro Miyaura 簡単な開発の流れ ~ Unreal チャレンジ ~ 大まかな流れ 1. Unreal Engine起動 2. プロジェクト設定 & プラグイン設定 3. MRTK UX-Toolsの導入 4. 空のレベルを作る(シーンみたいなもの) 5. 初期位置と光源の設定 6. Cubeを作る&設定 7. ARSessionの開始と終了処理 64 8. ユーザオブジェクト(装着者に相当)の追加 9. ゲームモードの作成(利用オブジェクトの定義等) 10. プロジェクト設定 11. ハンドインタラクションの設定 12. ボタンを押して落下する設定 13. ビルド用の設定 14. ビルド
  65. 65. 簡単な開発の流れ ~ Unreal チャレンジ ~ 開発環境 2020/07/29 ソフトウェア Windows 10 version 1909 or higher. 最新の Visual Studio 2019 (試したときは16.5.3) Windows SDK 10.0.18362.0 MRTK UX Tools V0.8.X? Unreal Engine 4.25.2 Copyright © 2020 Takahiro Miyaura 65
  66. 66. 簡単な開発の流れ ~ Unreal チャレンジ ~ 2.プロジェクト設定 & プラグイン設定 2020/07/29 1. 新規プロジェクトを作る 2. カテゴリは[ゲーム]で作成 3. テンプレートは[Blank]で作成 Copyright © 2020 Takahiro Miyaura 66
  67. 67. 簡単な開発の流れ ~ Unreal チャレンジ ~ 2.プロジェクト設定 & プラグイン設定 2020/07/29 Copyright © 2020 Takahiro Miyaura 67 1. [プロジェクト]は[C++] 2. [パフォーマンス特性]は [スケーラブルな3D・2D] 3. [コンテンツ]は[スターターコンテンツ無し]
  68. 68. 簡単な開発の流れ ~ Unreal チャレンジ ~ 2.プロジェクト設定 & プラグイン設定 2020/07/29 1. [編集]-[プラグイン]を選択 2. 以下のプラグインをセットして再起動 • [Augmented Reality]の[HoloLens] • [Virtual Reality]の[Microsoft Windows Mixed Reality] Copyright © 2020 Takahiro Miyaura 68
  69. 69. 簡単な開発の流れ ~ Unreal チャレンジ ~ 3. MRTK UX-Toolsの導入 2020/07/29 1. GithubからUXTools-Unrealを取得 https://github.com/microsoft/MixedReality-UXTools-Unreal 2. UXToolsGame/Pluginsを作ったプロジェク トの直下にフォルダごとコピー Copyright © 2020 Takahiro Miyaura 69
  70. 70. 簡単な開発の流れ ~ Unreal チャレンジ ~ 4.空のレベルを作る(シーンみたいなもの) 2020/07/29 1. [ファイル] – [新規レベル]を選択 2. [空のレベル]を選択 Copyright © 2020 Takahiro Miyaura 70
  71. 71. 簡単な開発の流れ ~ Unreal チャレンジ ~ 5.初期位置と光源の設定 2020/07/29 1. [アクタの配置]-[基本]-[プレイヤースタート] を選択し、エリアにドロップ 2. トランスフォームを下記の通り設定 1. 位置:0,0,0 2. 回転:0,0,0 Copyright © 2020 Takahiro Miyaura 71
  72. 72. 簡単な開発の流れ ~ Unreal チャレンジ ~ 5.初期位置と光源の設定 2020/07/29 Copyright © 2020 Takahiro Miyaura 72 1. [アクタの配置]-[ライト]-[ディレクションラ イト]を選択し、エリアにドロップ 2. トランスフォームを下記の通り設定 1. 位置:430,0,430 2. 回転:0,-46.999996,0
  73. 73. 簡単な開発の流れ ~ Unreal チャレンジ ~ 6. Cubeを作る&設定 2020/07/29 Copyright © 2020 Takahiro Miyaura 73 1. [アクタの配置]-[基本]-[キューブ]を選択し、 エリアにドロップ 2. トランスフォームを下記の通り設定 1. 位置:50,0,0 2. 回転:0,0,0 3. 拡大・縮小:0.2,0.2,0.2 3. 追加した[Cube]を選択し[コンポーネントの 追加]から[Uxt Generic Manipulator]を追加
  74. 74. 簡単な開発の流れ ~ Unreal チャレンジ ~ 7.ARSessionの開始と終了処理 2020/07/29 1. [コンテンツブラウザ]-[新規追加]- [その他]-[データセット]を選択 2. 表示される選択肢の中から [ARSessionConfig]選択 3. オブジェクト名を [ARSessionConfig]に変更 Copyright © 2020 Takahiro Miyaura 74
  75. 75. 簡単な開発の流れ ~ Unreal チャレンジ ~ 7.ARSessionの開始と終了処理 2020/07/29 1. 追加した[ARSessionConfig]を開く 2. 値は変更せずに[保存]を押して閉じる Copyright © 2020 Takahiro Miyaura 75
  76. 76. 簡単な開発の流れ ~ Unreal チャレンジ ~ 7.ARSessionの開始と終了処理 2020/07/29 1. メニューの[ブループリント]-[レベルブルー プリントを開く]を選択 Copyright © 2020 Takahiro Miyaura 76
  77. 77. 簡単な開発の流れ ~ Unreal チャレンジ ~ 7.ARSessionの開始と終了処理 2020/07/29 1. [イベント BeginPlay]から処理を引出す 2. 実行可能アクションから[StartARSession]を 選択し、パラメータに先ほど作った [ARSessionConfig]を割り当てる。 Copyright © 2020 Takahiro Miyaura 77
  78. 78. 簡単な開発の流れ ~ Unreal チャレンジ ~ 7.ARSessionの開始と終了処理 2020/07/29 Copyright © 2020 Takahiro Miyaura 78 1. [イベント EndPlay]から処理を引出す 2. 実行可能アクションから[StopARSession]を 選択する
  79. 79. 簡単な開発の流れ ~ Unreal チャレンジ ~ 8.ユーザオブジェクト(装着者に相当)の追加 2020/07/29 Copyright © 2020 Takahiro Miyaura 79 1. [コンテンツブラウザ]-[新規追加]- [ブループリント]-[ブループリント クラス]を選択 2. [すべてのクラス]の中から [DefaultPawn]を選択 3. オブジェクト名を[MRPawn]に変 更
  80. 80. 簡単な開発の流れ ~ Unreal チャレンジ ~ 8.ユーザオブジェクト(装着者に相当)の追加 2020/07/29 1. 追加したMRPawnを選択しコンポーネント の中からコリジョン関連の設定を探す 2. プリセットを[NoCollision]に設定 Copyright © 2020 Takahiro Miyaura 80
  81. 81. 簡単な開発の流れ ~ Unreal チャレンジ ~ 9.ゲームモードの作成(利用オブジェクトの定義等) 2020/07/29 Copyright © 2020 Takahiro Miyaura 81 1. [コンテンツブラウザ]-[新規追加]- [ブループリント]-[ブループリント クラス]を選択 2. [すべてのクラス]の中から [GameModeBase]を選択 3. オブジェクト名を [MRGameMode]に変更
  82. 82. 簡単な開発の流れ ~ Unreal チャレンジ ~ 9.ゲームモードの作成(利用オブジェクトの定義等) 2020/07/29 1. 追加した[MRGameMode]を開く 2. [Default Pawn Class]を[MRPawn]に変更 Copyright © 2020 Takahiro Miyaura 82
  83. 83. 簡単な開発の流れ ~ Unreal チャレンジ ~ 10.プロジェクト設定 2020/07/29 1. [編集] – [プロジェクト設定]を 開く 2. [Default Modes]を [MRGameMode]に変更 3. [Default Maps]を[Main]に変更 Copyright © 2020 Takahiro Miyaura 83
  84. 84. 簡単な開発の流れ ~ Unreal チャレンジ ~ 11.ハンドインタラクションの設定 2020/07/29 1. [MRPawn]のイベントグラフを開く 2. [イベントBeginPlay]からスタートし左記の 通りイベントを設定 1. SpawnActorFromClass (クラスからアクタをスポーン) ・Uxt HandInteraction Actorを設定 2. SetHand ・スポーンしたハンドインタラクショ ンがどちらの手かを設定 Copyright © 2020 Takahiro Miyaura 84
  85. 85. 簡単な開発の流れ ~ Unreal チャレンジ ~ 12.ボタンを押して落下する設定 2020/07/29 Copyright © 2020 Takahiro Miyaura 85 1. [コンテンツブラウザ]-[新規追加]- [ブループリント]-[ブループリント クラス]を選択 2. [すべてのクラス]の中から [SimpleButton]を選択 3. オブジェクト名を [PressableButton]に変更
  86. 86. 簡単な開発の流れ ~ Unreal チャレンジ ~ 12.ボタンを押して落下する設定 2020/07/29 Copyright © 2020 Takahiro Miyaura 86 1. [PressableButton]を選択し、エリアにド ロップ 2. トランスフォームを下記の通り設定 1. 位置:50,-25,10 2. 回転:0,0,0
  87. 87. 簡単な開発の流れ ~ Unreal チャレンジ ~ 12.ボタンを押して落下する設定 2020/07/29 1. 追加した[PressableButton]を選択 しイベントグラフを表示する 2. [OnButtonPressed]イベントを追加 し、以下のコンポーネントと変数 を設定 • Set Simulate Physics ・Simulate ⇒ true ・ターゲット ⇒ 変数Cube Copyright © 2020 Takahiro Miyaura 87
  88. 88. 簡単な開発の流れ ~ Unreal チャレンジ ~ 13.ビルド用の設定(HoloLens 2デプロイ用モジュール追加) 2020/07/29 1. [Epic Games Launcher]の[ライブ ラリ]から利用しているUnreal Engineの[オプション]を開く 2. [HoloLens 2]にチェックを入れて [適用]を押す Copyright © 2020 Takahiro Miyaura 88
  89. 89. 簡単な開発の流れ ~ Unreal チャレンジ ~ 13.ビルド用の設定 2020/07/29 Copyright © 2020 Takahiro Miyaura 89 1. [プロジェクト設定]でデプロイ用の設 定を行う 2. [プロジェクト]-[説明]の以下の設定を 行う。 • プロジェクト名 ⇒ 任意 • 企業識別名 ⇒ CN=ほげほげ ※署名に使うコモンネーム
  90. 90. 簡単な開発の流れ ~ Unreal チャレンジ ~ 13.ビルド用の設定 2020/07/29 1. [プロジェクト設定]でデプロイ用の設 定を行う 2. [プラットフォーム]-[HoloLens]の以下 の設定を行う。 • Build HoloLens Device ⇒ True • 署名証明書 ⇒ [新規生成]を押す Copyright © 2020 Takahiro Miyaura 90
  91. 91. 簡単な開発の流れ ~ Unreal チャレンジ ~ 14.ビルド 2020/07/29 1. [ファイル] – [プロジェクトをパッケージ化] – [HoloLens]を選択しパッケージ化する Copyright © 2020 Takahiro Miyaura 91
  92. 92. xRとクラウドサービスの活用 2020/07/29 Copyright © 2020 Takahiro Miyaura 92
  93. 93. 2020/07/29 Copyright © 2020 Takahiro Miyaura xRとクラウドサービスの活用 クラウドで提供されるMixed Reality向けサービス Azure Spatial Anchors Azure Remote Rendering Power Apps →活用はできるけど今日は時間足りないので各自頑張ろう・・・ 93
  94. 94. 2020/07/29 Copyright © 2020 Takahiro Miyaura Azure Spatial Anchors ~ 概要 ~ クロスプラットフォームで空間を共有する仕組み  「空間の特徴」  「位置情報(=アンカー)」  「デジタル情報」 Digital Content(Spatial Anchor) unique spatial information by perceiving spaces クラウドで管理  ユースケースの例  Multi-user experiences  Way-finding  Persisting virtual content in the real-world. 94
  95. 95. Azure Spatial Anchors ~ 道案内をAzure Spatial AnchorsとMRTKで実現した例 ~ Way-Finding with Azure Spatial Anchors on MRTK V2 2020/07/29 Copyright © 2020 Takahiro Miyaura  MRTK V2.3.0  Hand Coach  DialogはV2.4.0から見た目だけ移植  UXは色々使う  Azure Spatial Anchors 2.2.1  基準点で行先を選択  行先に向かう最寄りのアンカーを検索&配置  アンカーに近づくと次の地点を検索&配置 ASAによる経路設定と案内 95
  96. 96. Azure Spatial Anchors ~ 道案内をAzure Spatial AnchorsとMRTKで実現した例 ~ Way-Finding with Azure Spatial Anchors on MRTK V2  経路設定:MRTKを活用したUX表現の例 2020/07/29 Copyright © 2020 Takahiro Miyaura  Hand Coach  Provide an additional explanation using Tooltip  Text input using system keyboard  Pressable Button Menu  The app don't use Hand Menu(because HoloLens 2 only) Hand Coach Tooltip Input using System keyboard 96
  97. 97. Azure Spatial Anchors 開発環境(V2.2.1) 2020/07/29 ソフトウェア Windows 10 version 1909. 最新の Visual Studio 2019 (試したときは16.5.3) Windows SDK 10.0.18362.0 Unity 2019.2.18f1 UWP - Universal Windows Platform Build Support IL2CPP - Windows Build Support (IL2CPP) Copyright © 2020 Takahiro Miyaura 97
  98. 98. 詳細というか実装は公開済み Azure Spatial Anchorsのユースケース「Way-finding」を実現するためのテクニック 2020/07/29 Copyright © 2020 Takahiro Miyaura  サンプルなので実用レベルではまだ使い勝手が悪く時々改修中 https://github.com/TakahiroMiyaura/WayFindingSamplesUsingASA 98
  99. 99. Azure Remote Rendering 高品位な3Dモデルをリモートでレンダリングできるサービス 2020/07/29  HoloLens 2とWindows 10 PCで利用可能  フレームレート劣化なども少ない  ネットワークの帯域はそれなりに必要  観測者が頻繁に動き回るコンテンツは帯域がないと厳しい ⇒「頭の位置が動く」や「物体にレイを飛ばす」とクラウド側にレンダ リングの指示が出る HoloLens 2だけではなく Windows 10 PCも利用できるので用途は広そう Copyright © 2020 Takahiro Miyaura 99
  100. 100. Azure Remote Rendering Quick Startでみられるモデルについて 2020/07/29 ポリゴン数 18.7百万 可動パーツ数 2073 マテリアリアル数 94  実績は10億ポリゴンらしいです。 Copyright © 2020 Takahiro Miyaura 100
  101. 101. Azure Remote Rendering ~ 高品位なモデル表示以上にポテンシャルのある機能が満載~ 観察するという観点の豊富な機能 2020/07/29 1. Cut planes 2. Hierarchical state override 3. Late stage reprojection 4. Lights 5. PBR materials 6. Color materials 7. Outline rendering 8. Single-sided rendering 9. Spatial queries 10.Sky reflections 11.Z-fighting mitigation 12.Server-side performance queries カット面の処理は Remote Renderingの機能 Copyright © 2020 Takahiro Miyaura 101
  102. 102. Azure Remote Rendering 開発環境 2020/07/29  ハードウェア  グラボのドライバは最新で  任意:H265 hardware video decoder(Unityでリモートレンダリングされたコンテンツを見る際利 用)  NVIDIA - Check the NVDEC Support Matrix. Your GPU needs a YES in the H.265 4:2:0 8-bit column.  AMD - GPUs with at least version 6 of AMD's Unified Video Decoder.  Intel Skylake and newer CPUs  ソフトウェア  Windows 10 version 1903 or higher.  最新の Visual Studio 2019 (試したときは16.5.3)  Windows SDK 10.0.18362.0  Unity 2019.3.1  UWP - Universal Windows Platform Build Support  IL2CPP - Windows Build Support (IL2CPP)  任意:HEVC ビデオ拡張機能 Copyright © 2020 Takahiro Miyaura 102
  103. 103. まとめ 2020/07/29 Copyright © 2020 Takahiro Miyaura 時間いっぱいでやれるところまで HoloLens 2  ハードの特徴  開発の基本 Unityによる開発 Unrealによる開発 Azure Remote Rendering Azure Spatial Anchors xR  Devices  Multi Experience  Augmented Human  etc… xR + Cloud Computing  on-demand available of computer system resources  perceive spaces, and sharing the spatial anchors(AR Cloud) 103
  104. 104. これからも皆でxRを取り組もう! 2020/07/29 Copyright © 2020 Takahiro Miyaura 104
  105. 105. 大阪駆動開発 関西を中心に、IT系のおもしろそうなことを楽しんでやるコミュニティ 2020/07/29 Copyright © 2020 Takahiro Miyaura 105
  106. 106. 巻末リンク/参考文献 2020/07/29 Copyright © 2020 Takahiro Miyaura Mixed Reality Toolkit関連のGitHub 106  Mixed Reality Toolkit for Unreal  https://github.com/microsoft/MixedReality-UXTools-Unreal  Mixed Reality Design Labs  https://github.com/microsoft/MixedRealityDesignLabs_Unity  Mixed Reality Design Labs - Surface  https://github.com/microsoft/MRDL_Unity_Surfaces  Mixed Reality Design Labs - Periodic Table of the Elements  https://github.com/Microsoft/MRDL_Unity_PeriodicTable  Mixed Reality Design Labs - Lunar Module  https://github.com/microsoft/MRDL_Unity_LunarModule
  107. 107. 巻末リンク/参考文献 2020/07/29 Copyright © 2020 Takahiro Miyaura Azure Spatial Anchors関連 107  HoloLens 2のチュートリアル - Azure Spatial Anchorsチュートリアル  https://docs.microsoft.com/ja-jp/windows/mixed-reality/mr-learning-base-01  Azure Spatial Anchors のドキュメント  https://docs.microsoft.com/ja-jp/azure/spatial-anchors/  Azure Spatial Anchorsのユースケース「Way-Finding」を実現するためのテクニック  https://github.com/TakahiroMiyaura/WayFindingSamplesUsingASA  Azure Spatial Anchors Samples  https://github.com/Azure/azure-spatial-anchors-samples Azure Remote Rendering関連  Azure Remote Rendering のドキュメント  https://docs.microsoft.com/ja-jp/azure/remote-rendering/
  108. 108. 巻末リンク/参考文献 2020/07/29 Copyright © 2020 Takahiro Miyaura チュートリアル関連 108  HoloLens 2のチュートリアル - 入門チュートリアル  https://docs.microsoft.com/ja-jp/windows/mixed-reality/mr-learning-base-01  Unreal 開発の概要  https://docs.microsoft.com/ja-jp/windows/mixed-reality/unreal-development-overview
  109. 109. 巻末リンク/参考文献 2020/07/29 Copyright © 2020 Takahiro Miyaura Gartner Hipeサイクル関連 109  ガートナー、2020年の戦略的テクノロジ・トレンドのトップ10を発表  https://www.gartner.com/jp/newsroom/press-releases/pr-20191113  Gartner's 2016 Hype Cycle for Emerging Technologies Identifies Three Key Trends That Organizations Must Track to Gain Competitive Advantage  https://www.gartner.com/en/newsroom/press-releases/2016-08-16-gartners-2016-hype- cycle-for-emerging-technologies-identifies-three-key-trends-that-organizations-must-track- to-gain-competitive-advantage  5 Trends Emerge in the Gartner Hype Cycle for Emerging Technologies, 2018  https://www.gartner.com/smarterwithgartner/5-trends-emerge-in-gartner-hype-cycle-for- emerging-technologies-2018/
  110. 110. 巻末リンク/参考文献 2020/07/29 Copyright © 2020 Takahiro Miyaura 事例関連 110  HoloeyesXR  https://holoeyes.jp/  安全体験VRトレーニング  http://tsumikiseisaku.com/safetyvr/  Dynamics 365 Remote Assist  https://dynamics.microsoft.com/ja-jp/mixed-reality/remote-assist/  Dynamics 365 Guides  https://dynamics.microsoft.com/ja-jp/mixed-reality/guides/  リモート社会見学  https://kids.gakken.co.jp/factory/online-tour/  https://pc.watch.impress.co.jp/docs/news/1261976.html
  111. 111. 巻末リンク/参考文献 2020/07/29 Copyright © 2020 Takahiro Miyaura 事例関連 111  軍艦島ミュージアム  https://www.gunkanjima-museum.jp  ゴジラ・ナイト  https://blogs.windows.com/japan/2018/05/25/godzilla-nights-hololens/  beatsaber  https://beatsaber.com/  Minecraft Earth  https://www.minecraft.net/ja-jp/about-earth/  HOLO-COMMUNICATION  https://hololab.co.jp/holo-communication/

×