2017年5月24日(水)に開催された日本マイクロソフト社主催の開発者向けイベント「de:code 2017」にて、日本マイクロソフト エバンジェリスト 千葉慎二さんのセッション「HoloLens –真のエンジニアが知るべき実装」に参加してきたのでレポートします。
真のエンジニアになるために大事なことを学んできました。
真のエンジニアが目標とすべきパフォーマンス
HoloLensのアプリには目標とすべきパフォーマンスの指標があります。
まずは開発の早い段階でフレームレートがが60FPSになることを目指してください。コンテンツのスムーズな動きを目指すならそれくらいは必要だそうです。そこまでのフレームレートが出せたら次は電力消費量。
常に電源が繋がっているマシンならともかく、HoloLensはバッテリーで動くマシンです。CPUやGPUをぶん回せばパフォーマンスは上がりますが、負荷が高いとそれだけ早くバッテリーが無くなってしまいます。
電力消費量はデバイスポータル(デバイスの状態や詳細情報を確認できる画面)から確認することが出来るので、写真のオレンジのラインを超えないようにします。
また、900MBを超えるメモリを確保しようとするとエラーになるそうです。圧縮したり、ストリーミングで利用するようにしたり、工夫が必要です。
真のエンジニアはデータの品質にもこだわる
3Dデータに関するよくあるエラーがこちら。
- 穴を作るとコリジョン抜けを起こしたり…
- 実世界に存在しない幻が現れたり…
- 平らな面が凹んでいたり、逆に出っ張っていたり…
- ほぼ平面なのに無駄に細かいメッシュが…
などなど。
こういったものはユーザーエクスペリエンスを低下させる一因になります。そうしないためにも真のエンジニアならデータの品質にもこだわりましょう。
解決方法の1例としてポアソンサーフェスリコンストラクションがあります。特に、固定したマップで世界を作るような場合に参考になりそうです。
参考:Poisson surface reconstruction
テクノロジーの融合
HoloLensとKinectの融合で空間と時間を超える
Kinectで3Dをスキャンして、それをHoloLensに送ることができます。この方法で、例えば、孫の姿を遠く離れたおじいちゃん、おばあちゃんに見せることができたりします。今でもテレビ電話などがありますが、HoloLensとKinectなら2Dではなく3Dなので、本当に孫がそこにいるかのような体験ができるでしょう。言わば空間を超えることができる訳です。
また、3Dデータを記録しておけば、今は写真やビデオで残している思い出を、3Dで確認できるようになります。子供が初めて歩いた時の3Dデータとか、そういうのを取っておけば、いつでも時間を越えてその瞬間に戻ることができる訳です。
でもその程度の使い方は誰でも思いつく。真のエンジニアならもう1歩先へ。
遠くの孫の姿をリアルタイムで見ることができたり、小さかった頃の子供の大事な瞬間を残せたり、凄い事ができるのは確かにその通りなのですが、正直この程度の活用方法なら、現代人なら誰でも思いつくと千葉さんはおっしゃいました。
先を見通す力をもった真のエンジニアならこの程度の考えで止まってはいけません。先程思い出を3Dで残して過去へ時間を超える話がありましたが、時間は過去だけではありません。未来もあります。
今年のde:codeのテーマはMixed RealityとAIです。現在のAIはDeep Learningに基いています。IoTなどを活用して得た膨大なデータを用いてAIが学習すると少し先の未来が予測できる用になるでしょう。これらの技術をMixするとこれから起こる予測した未来をHoloLensで可視化できるかもしれないのです!
例えば、学校の廊下に立っていて、1分後に目の前を気になっている女の子が通る未来がHoloLensに映し出されたとしたらどうしますか?千葉さんはわざとぶつかって話すきっかけを作るそうです。ベタですね!
もちろんそんな話だけではなく、例えば1分先に目の前で起こる事故がわかったり、少し先の未来がわかることによって、そこから自分が取るべきアクションを選択できるようになるのです!ここまでいくともう超能力者みたいです。でも、それが当たり前になる未来がもうすぐそこまで来ているのかもしれません。
具体的なパフォーマンスの指標やエラーの対策方法から、夢のある活用方法まで、大変興味深いセッションでした。真のエンジニアには程遠いですが、私もエンジニアの端くれとして、この分野には注目していきたいと思います。
Copyright ©2017 VR Inside All Rights Reserved.