Upgrade to Pro — share decks privately, control downloads, hide ads and more …

2018/03/09 第五回HoloLens読書会

ZuQ9Nn
March 09, 2018
4.1k

2018/03/09 第五回HoloLens読書会

2018/03/09 第五回HoloLens読書会
発表資料

ZuQ9Nn

March 09, 2018
Tweet

Transcript

  1. 今回扱う内容  Spatial Mapping  マイクロソフトの高橋忍さんが、スパチャルマッピングと読んでいたので読 み方はそちらが正しい?  AcademyではHolograms 230(https://developer.microsoft.com/en-us/windows/mixed-

    reality/holograms_230)  ビデオ内ではスペーシャルマッピングと言っているように聞こえます。  今回はスペーシャルマッピングで統一します。
  2. 書籍のGitHubからChapter5をインポート  UnityのmenuからAssets > Import package > Custom packageを選択 

    書籍のリポジトリChapter5からChapter5.unitypackageを選択  ScenesのChapt5.unityとSoundsフォルダのみチェックしてImport
  3. Mixed Reality Toolkit Unityをインポート  UnityのmenuからAssets > Import package >

    Custom packageを選択  Holotoolkit-Unity-v1.2017.2.0.unitypackageを選択してすべてイ ンポート
  4. Chapter5のSceneを選択  UnityのProject View > ScenesのChapter5を選択  HierarchyにMain Camera、Directional Light、Layer1~Layer4

    が存在していることを確認  この状態でUnityを実行し、エラーが無ければ、Chapter5は完成
  5. InputManager、HoloLensCameraの PrefabをHierarchyに  UnityのProject View のAssets > HoloToolkit > Input

    > Prefabs の中のHoloLesCamera、InputManagerを選択し、Hierarchyにド ラッグアンドドロップ
  6. Basic CursorのPrefabをHierarchyに  UnityのProject View のAssets > HoloToolkit > Input

    > Cursor > Prefabsの中のBasic Cursorを選択し、Hierarchyにドラッグアンド ドロップ
  7. 書籍のGitHubから skeeballmachine.unitypackageをインポート  UnityのmenuからAssets > Import package > Custom package

    を選択  書籍のリポジトリChapter6からskeballmachine.unitypackageを選 択  LaunchBall.cs、PowerSwitch.csのチェックを外してImport
  8. 書籍のGitHubから SpatialMapping.unitypackageをインポート  UnityのmenuからAssets > Import package > Custom package

    を選択  書籍のリポジトリChapter6からSpatialMapping.unitypackageを選択 全てインポート
  9. SpatialMappingのPrefabをHierarchyに  UnityのProject View のAssets > HoloToolkit > SpatialMapping >

    Prefabsの中のSpatialMappingを選択し、Hierarchyにドラッグアン ドドロップ
  10. ObjectSurfaceObserver.cs  Unity Editor上であらかじめ用意されている部屋のモデルにメッシュを表 示させる Inspector Viewから利用できるプロパティ Room Model 部屋のモデルを指定するとUnity

    Editor上でメッ シュ化された部屋を確認できる Simulated Update Period In Sconds 0以上の場合は空間のSurface情報を更新 (SpatialUnderstandingで利用)
  11. SpatialMappingObserver.cs  実際の空間のスキャンを行ったり  スキャンした空間のデータを貯めたり、更新している Inspctor Viewから利用できるプロパティ Triangles Per Cubic

    Meter 生成されるメッシュの密度、値を大きくするとメッ シュが細かくなる Time Between Updates 空間情報の更新時間、値を小さくすると空間情報 の更新が早くなる Observer Volume Type 空間領域の形状を設定。 Axis Aligned Box Oriented Box Shpere Extents アプリで利用する空間領域を定義 x,y,zの数値を小さくすると狭い範囲をスキャン Origin アプリで利用する空間領域の中心座標を設定、座 標はワールド座標 Orientation アプリで利用する空間領域の固を設定
  12. SpatialMappingManager.cs  SpatialMappingObserver、SpatialMappingSourceを管理する  開発者はSpatialMappingManagerを使って、空間のスキャン開始、 停止を制御することができる。  空間情報をSpatialMappingSourceから取り出せる Inspctor Viewから利用できるプロパティ

    Physics Layer 生成されれたメッシュのレイヤー番号 Surface Material メッシュに割り当てるmaterial Auto Start Observer 空間のスキャンを自動開始するかのチェック Draw Visual Mesh メッシュを表示させるかのチェック Cast Shadows メッシュの影をキャストするかのチェック
  13. HierarchyのAppManagerに ApplicationManagerスクリプトをアタッチ  UnityのHierarcy View のAppManagerを選択、Inspector Viewを 表示  UnityのProject

    ViewのScirpt > ApplicationManagerを Appmanagerのinspector Viewにドラッグアンドドロップしてアタッチ
  14. AppManagerにSpeech Input Souceをア タッチ(書籍と手順が異なります注意)  UnityのInspector ViewのAppManagerのAdd Componetを選択  Speech

    Input Souceを選択してアタッチ  Insptector ViewのSpeech Input Souceの+ボタンをクリック  keyword ” に done”を入力
  15. AppManagerにSpeech Input Handlerを アタッチ(書籍と手順が異なります注意)  UnityのInspector ViewのAppManagerのAdd Componetを選択  Speech

    Input Handlerを選択してアタッチ  Insptector ViewのSpeech Input Handlerの+ボタンをクリック  Response()の+ボタンをクリック  Runtime OnlyにHierarchyのAppManagerをドラッグアンドドロップし てセット  No FunctionにApplicationManagerのSetSpatialMapを選択  ” 引数の指定に done”を入力
  16. PlaceSkeeBallMachine.csをアタッチ  UnityのHierarch Viewのskeeを展開し、TaptoPlaceColliderをク リックInspector Viewを表示  UnityのProject ViewのAssets >

    Scriptsの PlaceSkeeBallMachine.csをTaptoPlaceColliderのInspector Viewにドラッグアンドドロップしてアタッチ
  17. PlaceSkeeBallMachineのInspector設定  UnityのHierarch Viewのskeeを展開し、TaptoPlaceColliderをク リックInspector Viewを表示  PlaceSkeeBallMacineのPlace Palent On

    Tapのチェックをonに  PlaceSkeeBallMacineのPlant Game ObjectにUnityのHierarch Viewのskeeをドラッグアンドドロップしてセット
  18. ビルドするときの設定  UnityのメニューのFile > Build Settingsを選択  Build SettingsのScene In

    BuildのAdd Open Scenesをクリックし てScnes/Chapter5にチェック  Build SettingsのPlatformにUnivarsal Windows Platformを選 択、Player Settings をクリック  Player SettingsのInspector、XR Settings > Virtual Reality SupportedをチェックしWindows Mixed Realityが選択されていること を確認
  19. Spatial Mappingのまとめ  HoloLesnは周囲の空間をスキャンしデータとして保持している  HoloLensの保持している空間データを扱うのがSpatialMapping  開発者はUnityのAPIを利用し空間のスキャンを行ったり、空間情報を 利用することができる 

    Mixed RealityToolkit Unityを利用すること で、SpatialMapping.prefabをUnityのHierarcyに置くだけで大丈夫  よりコードで細かく制御したい場合はMixed Reality Toolkit Unityの SpatialMappingManger.csを使うと良い  実機にビルドするときはCapabilityとXR Settingsを忘れずに