SlideShare a Scribd company logo
1 of 37
Mixed Realityなシステムを
気持ちよく開発しよう!
山中 大輔
HoloLab Inc.
自己紹介
山中大輔
Twitter:@dy_karous
Blog:http://blog.d-yama7.com/
株式会社ホロラボ所属 HoloLab Inc.
今日お話しすること
HoloLab Inc.
Mixed Realityとデバイスを連携させた
システムの開発ノウハウを
事例を交えながらご紹介
会社紹介
HoloLab Inc.
株式会社ホロラボ
事業内容
Windows Mixed Reality他、xR技術やセンサー技術に関する
・調査研究
・システム/アプリケーションの企画開発
・普及啓発活動
設立 2017/1/18
住所 東京都品川区西五反田2-25-1 インテックス五反田ビル3F
取締役 5名
従業員 16名
Web http://hololab.co.jp/
Mixed Reality×デバイス
ホロラボ開発事例
ドローンセンサー
HoloLensとセンサー
HoloLab Inc.
HoloLensとドローン
HoloLab Inc.
構成パターン
HoloLab Inc.
Mixed Reality×デバイス
⬇︎
広がる未来
しかし…
HoloLab Inc.
開発の現場では
特有の 苦労 がある…
開発苦労話
HoloLab Inc.
• 航空法の縛りがあり、気軽に飛ばせない
• GPSなど一部の機能は屋外でしか使えない
■ドローンアプ
リ
開発苦労話
HoloLab Inc.
• デバイスの動作が環境に左右される
• 設計をよく考えないと自動テストがやりにくい
• 航空法の縛りがあり、気軽に飛ばせない
• GPSなど一部の機能は屋外でしか使えない
■HoloLens
■ドローンアプ
リ
開発苦労話
HoloLab Inc.
• デバイスの動作が環境に左右される
• 設計をよく考えないと自動テストがやりにくい
• 航空法の縛りがあり、気軽に飛ばせない
• GPSなど一部の機能は屋外でしか使えない
■HoloLens
■ドローンアプ
リ
• 実機デバッグが難しく、現地検証でトラブルが発生すると悲惨
■現地検証
いかにして快適に開発するか
1. デバイスに依存するコードは抽象化・極小化する
2. 現地でもトラブルシュートできるように準備する
HoloLab Inc.
デバイスに依存する機能
HoloLab Inc.
◆ドローン
飛行データ収集 カメラ操作 コントロール
デバイスに依存する機能
HoloLab Inc.
ジェスチャー操作 音声コマンド 空間認識
◆HoloLens
サンプルスクリプト
HoloLab Inc.
問題点
HoloLab Inc.
ジェスチャー入力とオブジェクトを動かす
実装が密になってしまっている
⇒HoloLens実機にデプロイしないと動作
確認ができない
⇒自動テストができない
解決策
• ジェスチャーの検出とオブジェクトを動かすコードを分離する
⇒ デバイスに依存する部分を抽出する
• デバイス依存部分をインタフェースを使って抽象化する
⇒ ジェスチャー検出部分を置き換えることができる
HoloLab Inc.
修正手順
HoloLab Inc.
修正手順
HoloLab Inc.
・ジェスチャー入力のコードを別クラス化
修正手順
HoloLab Inc.
・インタフェースを抽出
修正手順
HoloLab Inc.
・インタフェースを介して入力の状態を参照する
修正手順
HoloLab Inc.
デバイスに依存するの
はココだけ
修正したコード
HoloLab Inc.
修正したコード
HoloLab Inc.
どんなうれしいことがある?
• 実機にデプロイしなくても、エディタ上で確認できる
HoloLab Inc.
ジェスチャー入力イベントをコードで表現できるので、
自動テストでも応用できる
自動テストはどうする?
HoloLab Inc.
■IDEに搭載されているテストランナーを使っている
• Unityエディタに搭載されているPlayModeテストを使う
• テスト用のSceneを作成し、それをテストコード内で読み込ませ実行する
■HoloLens
• XCode上でXCTestを使う
• RxSwiftをよく使うので、RxTest/RxBlockingを使うと捗る
■ドローンアプ
リ
Tips
HoloLab Inc.
• UWP Platformでは、Playmodeテストのコードが含まれていると、
アプリのビルドができない
• テストコードは#if UNITY_EDITORディレクティブで囲う必要がある
• UnityでもMoqを使うことができる
• ZenJectに組み込まれており、Moqだけ使用することも可能
• HoloLensアプリのテストコードについては以下参照
• MonoBehaviourTestでコンポーネントをテストする
http://blog.d-yama7.com/archives/1458
• HoloLensのジェスチャー操作をテストする
http://blog.d-yama7.com/archives/1433
HoloLab Inc.
現地検証に備える
現場は怖い
• 想定していなかったトラブルが起きる(体感7割くらい)
• 現場の環境がデバイスに適さない
• ネットワーク環境がよくない
etc...
• すぐさまトラブルシュートできるかが腕の見せ所
HoloLab Inc.
事前準備はしっかりやる
• 設計、実装、テストに十分な時間を確保する
• うまく設計とテストができていれば、トラブル発生時にも問題の切り分けがや
りやすい
• マイクロソフトのガイドラインを参考にイメージトレーニング
• https://docs.microsoft.com/ja-jp/windows/mixed-reality/testing-your-
app-on-hololens
• HoloLensの特性を踏まえた動作検証の考え方がよくまとまっている
HoloLab Inc.
いざ現場へ
HoloLab Inc.
• 機材は予備も含めて多めに持っていく
• メインデバイス以外にも、ルーター、電源、ビルド用PC、etc...
• 現場でシステムのモニタリングができる環境を作る
• パフォーマンスモニタリング
• アプリケーションモニタリング
現場でのモニタリング
HoloLab Inc.
HoloLensドローンとタブレット
WebSocketサーバ
アプリケーションログ アプリケーションログ
リアルタイムで
モニタリング
PC
(WebSocketクライアント)
まとめ
• HoloLensは他のデバイスと連携させると可能性が広がる
• デバイスを使うアプリやシステムの開発特有の苦労がある
• その特性に対してアプローチをとることが大切
• 設計の工夫
• テストの工夫
• 現場検証での工夫
HoloLab Inc.
HoloLab Inc.
http://hololab.co.jp/

More Related Content

Similar to .NET Conf 2018 Tokyo MixedRealityなシステムを気持ちよく開発しよう

xR Tech Tokyo 登壇資料 Mixed Realityではじまるコラボレーティブ・コンピューティング
xR Tech Tokyo 登壇資料 Mixed Realityではじまるコラボレーティブ・コンピューティングxR Tech Tokyo 登壇資料 Mixed Realityではじまるコラボレーティブ・コンピューティング
xR Tech Tokyo 登壇資料 Mixed Realityではじまるコラボレーティブ・コンピューティングShinya Tachihara
 
HoloLensで目論むAugmented Human@.NET Conf 2018 Tokyo
HoloLensで目論むAugmented Human@.NET Conf 2018 TokyoHoloLensで目論むAugmented Human@.NET Conf 2018 Tokyo
HoloLensで目論むAugmented Human@.NET Conf 2018 TokyoShingo Mori
 
明快!Drupal と Acquia の強み
明快!Drupal と Acquia の強み明快!Drupal と Acquia の強み
明快!Drupal と Acquia の強みMasahiro Nishio
 
なぜホロラボ社CTOがMagicLeapに夢中なのか
なぜホロラボ社CTOがMagicLeapに夢中なのかなぜホロラボ社CTOがMagicLeapに夢中なのか
なぜホロラボ社CTOがMagicLeapに夢中なのかyuu jii
 
実録!HoloLens×AI×IoTアプリが開発できるまでの挫折と成功
実録!HoloLens×AI×IoTアプリが開発できるまでの挫折と成功実録!HoloLens×AI×IoTアプリが開発できるまでの挫折と成功
実録!HoloLens×AI×IoTアプリが開発できるまでの挫折と成功Tatsuya Sakai
 
20180407 VR Academy オリエンテーション用セッション
20180407 VR Academy オリエンテーション用セッション20180407 VR Academy オリエンテーション用セッション
20180407 VR Academy オリエンテーション用セッションMasashi Eguchi
 
ハマる!HoloLensアプリ開発
ハマる!HoloLensアプリ開発ハマる!HoloLensアプリ開発
ハマる!HoloLensアプリ開発Tatsuya Sakai
 
広島でMixed Realityやりましょう!
広島でMixed Realityやりましょう!広島でMixed Realityやりましょう!
広島でMixed Realityやりましょう!Satoshi Maemoto
 
HoloLens概要 仙台IT文化祭
HoloLens概要 仙台IT文化祭HoloLens概要 仙台IT文化祭
HoloLens概要 仙台IT文化祭Kaoru NAKAMURA
 
初めてのHoloLensアプリ開発~de:code 2018までの挫折と成功
初めてのHoloLensアプリ開発~de:code 2018までの挫折と成功初めてのHoloLensアプリ開発~de:code 2018までの挫折と成功
初めてのHoloLensアプリ開発~de:code 2018までの挫折と成功Tatsuya Sakai
 
ソニックガーデン流 無駄のないシステム開発
ソニックガーデン流 無駄のないシステム開発ソニックガーデン流 無駄のないシステム開発
ソニックガーデン流 無駄のないシステム開発Masahiro Nishimi
 
ひとまずHoloLensと自分の周辺技術(WEB・IoT)と混ぜた話
ひとまずHoloLensと自分の周辺技術(WEB・IoT)と混ぜた話ひとまずHoloLensと自分の周辺技術(WEB・IoT)と混ぜた話
ひとまずHoloLensと自分の周辺技術(WEB・IoT)と混ぜた話Seigo Tanaka
 
ARもVRもMRもまとめてドドンドーン!
ARもVRもMRもまとめてドドンドーン!ARもVRもMRもまとめてドドンドーン!
ARもVRもMRもまとめてドドンドーン!Satoshi Maemoto
 
#2祖父と孫をつなぐ
#2祖父と孫をつなぐ#2祖父と孫をつなぐ
#2祖父と孫をつなぐToshiko-Seki
 
ARもVRもMRもまとめてドーン
ARもVRもMRもまとめてドーンARもVRもMRもまとめてドーン
ARもVRもMRもまとめてドーンSatoshi Maemoto
 
楽しいものづくり ファーストステップ
楽しいものづくり ファーストステップ楽しいものづくり ファーストステップ
楽しいものづくり ファーストステップSatoshi Maemoto
 
Mixed Reality ToolkitでHoloとImmersiveまとめて開発
Mixed Reality ToolkitでHoloとImmersiveまとめて開発Mixed Reality ToolkitでHoloとImmersiveまとめて開発
Mixed Reality ToolkitでHoloとImmersiveまとめて開発Takahiro Miyaura
 

Similar to .NET Conf 2018 Tokyo MixedRealityなシステムを気持ちよく開発しよう (20)

xR Tech Tokyo 登壇資料 Mixed Realityではじまるコラボレーティブ・コンピューティング
xR Tech Tokyo 登壇資料 Mixed Realityではじまるコラボレーティブ・コンピューティングxR Tech Tokyo 登壇資料 Mixed Realityではじまるコラボレーティブ・コンピューティング
xR Tech Tokyo 登壇資料 Mixed Realityではじまるコラボレーティブ・コンピューティング
 
HoloLensで目論むAugmented Human@.NET Conf 2018 Tokyo
HoloLensで目論むAugmented Human@.NET Conf 2018 TokyoHoloLensで目論むAugmented Human@.NET Conf 2018 Tokyo
HoloLensで目論むAugmented Human@.NET Conf 2018 Tokyo
 
明快!Drupal と Acquia の強み
明快!Drupal と Acquia の強み明快!Drupal と Acquia の強み
明快!Drupal と Acquia の強み
 
HoloLens RS4
HoloLens RS4HoloLens RS4
HoloLens RS4
 
なぜホロラボ社CTOがMagicLeapに夢中なのか
なぜホロラボ社CTOがMagicLeapに夢中なのかなぜホロラボ社CTOがMagicLeapに夢中なのか
なぜホロラボ社CTOがMagicLeapに夢中なのか
 
実録!HoloLens×AI×IoTアプリが開発できるまでの挫折と成功
実録!HoloLens×AI×IoTアプリが開発できるまでの挫折と成功実録!HoloLens×AI×IoTアプリが開発できるまでの挫折と成功
実録!HoloLens×AI×IoTアプリが開発できるまでの挫折と成功
 
20180407 VR Academy オリエンテーション用セッション
20180407 VR Academy オリエンテーション用セッション20180407 VR Academy オリエンテーション用セッション
20180407 VR Academy オリエンテーション用セッション
 
ハマる!HoloLensアプリ開発
ハマる!HoloLensアプリ開発ハマる!HoloLensアプリ開発
ハマる!HoloLensアプリ開発
 
広島でMixed Realityやりましょう!
広島でMixed Realityやりましょう!広島でMixed Realityやりましょう!
広島でMixed Realityやりましょう!
 
WebRTCとHoloLens
WebRTCとHoloLensWebRTCとHoloLens
WebRTCとHoloLens
 
HoloLens概要 仙台IT文化祭
HoloLens概要 仙台IT文化祭HoloLens概要 仙台IT文化祭
HoloLens概要 仙台IT文化祭
 
初めてのHoloLensアプリ開発~de:code 2018までの挫折と成功
初めてのHoloLensアプリ開発~de:code 2018までの挫折と成功初めてのHoloLensアプリ開発~de:code 2018までの挫折と成功
初めてのHoloLensアプリ開発~de:code 2018までの挫折と成功
 
ソニックガーデン流 無駄のないシステム開発
ソニックガーデン流 無駄のないシステム開発ソニックガーデン流 無駄のないシステム開発
ソニックガーデン流 無駄のないシステム開発
 
DFRobot
DFRobotDFRobot
DFRobot
 
ひとまずHoloLensと自分の周辺技術(WEB・IoT)と混ぜた話
ひとまずHoloLensと自分の周辺技術(WEB・IoT)と混ぜた話ひとまずHoloLensと自分の周辺技術(WEB・IoT)と混ぜた話
ひとまずHoloLensと自分の周辺技術(WEB・IoT)と混ぜた話
 
ARもVRもMRもまとめてドドンドーン!
ARもVRもMRもまとめてドドンドーン!ARもVRもMRもまとめてドドンドーン!
ARもVRもMRもまとめてドドンドーン!
 
#2祖父と孫をつなぐ
#2祖父と孫をつなぐ#2祖父と孫をつなぐ
#2祖父と孫をつなぐ
 
ARもVRもMRもまとめてドーン
ARもVRもMRもまとめてドーンARもVRもMRもまとめてドーン
ARもVRもMRもまとめてドーン
 
楽しいものづくり ファーストステップ
楽しいものづくり ファーストステップ楽しいものづくり ファーストステップ
楽しいものづくり ファーストステップ
 
Mixed Reality ToolkitでHoloとImmersiveまとめて開発
Mixed Reality ToolkitでHoloとImmersiveまとめて開発Mixed Reality ToolkitでHoloとImmersiveまとめて開発
Mixed Reality ToolkitでHoloとImmersiveまとめて開発
 

.NET Conf 2018 Tokyo MixedRealityなシステムを気持ちよく開発しよう

Editor's Notes

  1. ホロラボはHoloLensやVRのイマーシブヘッドセットに特化した会社で、例えばHoloLensが仕事の中でこう使われる未来があるんじゃないか?と閃いたお客様と一緒になって何年か先の未来を一緒に作り、現場で実際に検証や実験などを主にやっています。ちなみにこういった未来を試作してみる取り組みはProof of conceptや、ポック、ピーオーシーと言われています。
  2. ホロラボはHoloLensやVRのイマーシブヘッドセットに特化した会社で、例えばHoloLensが仕事の中でこう使われる未来があるんじゃないか?と閃いたお客様と一緒になって何年か先の未来を一緒に作り、現場で実際に検証や実験などを主にやっています。ちなみにこういった未来を試作してみる取り組みはProof of conceptや、ポック、ピーオーシーと言われています。
  3. こちらは大阪の株式会社イトーキと共同で、HoloLensを活用した次世代遠隔コミュニケーションシステムのPoCを行いました。 会議の参加者は、 ・PCで参加の場合は、KinectやRealSenseで点群化した人間と、 ・HoloLensで参加の場合は、バーチャル参加者として表示され、 複数人同時に会議ができるシステムとなります。 プロトタイプは単に立体映像を表示するにとどまらず、ユーザーアカウントによるログインの仕組みや連絡先リストからの呼び出しと着信処理など、実際の会議システムとしての利用が想定される機能も一部実現しています。
  4. 千葉のドローンベンチャーである株式会社Liberawareと共同で、屋根裏や地下などの人の立ち入りが困難な狭所検査用ドローンをHoloLensから操作かつ、壁を透視して可視化するドローンナビゲーションシステムのPoCを行いました。 リベラウェアさんは産業用の屋内向けドローンとしては唯一で、基板からすべて自社でドローンのハードからソフトまでを自作されている会社さんで、Microsoftのイノベーションアワードをきっかけにホロラボから声をかけPoCが開始されました。 機能としてはドローンのボイスコマンドでの離着陸操作、ハンドジェスチャーでの操縦と、ドローン自体が持つSLAMと連携した非GPS環境での精密な位置情報の連携となります。 PoCでは、 ・ドローンを誰でも操縦できるようにするために音声やジェスチャー、手を前に動かせばドローンも前に、 ・操作の簡略化にプラスして、壁の向こうや床下や天井裏を飛ぶドローンをリアルタイムに可視化して、現在どこを飛んでいるのかを分かったうえでジェスチャーでの操作指示を行えるようになっています。 ・ゆくゆくの発展としては、ドローンをIoTのセンサーデバイスと位置づけ、HoloLensが入っていけないような環境マップ情報などをドローンに収集に行かせるようなことができるかもしれません。
  5. ホロラボはHoloLensやVRのイマーシブヘッドセットに特化した会社で、例えばHoloLensが仕事の中でこう使われる未来があるんじゃないか?と閃いたお客様と一緒になって何年か先の未来を一緒に作り、現場で実際に検証や実験などを主にやっています。ちなみにこういった未来を試作してみる取り組みはProof of conceptや、ポック、ピーオーシーと言われています。