NOVEMBER 17, 2017

HoloLensアプリを作ってみた【第1回】 基本的な使いかたと性能

 こんにちは! 以前の記事でE3 2016でのプレイの感想を書いた『Cuphead』がついに発売され、全ボスSランクでクリアし、ボリューム満点でハイクオリティなサウンドトラックと合わせて存分に楽しんだ、デジタル開発本部 ゲーム開発部 プログラマの古河です。

今回は、会社から買い与えてもらった『Microsoft HoloLens』(マイクロソフト ホロレンズ)について、Unityを用いた基本的な開発方法や使用感など数回に分けて書かせていただくこととなりました。デバイスの紹介や基本的な使用方法だけでなく、具体的なプログラム内容についても少し触れられればと思っています。

HoloLens とは

HoloLensはマイクロソフト社が開発し、現在は開発者向けにのみ販売されているヘッドマウント型のMR機器です。日本での購入価格は、333,800円。
「MR」という少し聞き慣れない単語が出てきましたが、まずはここから説明したいと思います。

ユーザの視覚すべてを覆い仮想空間への没入を楽しむVR(Virtual Reality:仮想現実)や、『Pokémon GO』のように現実空間にデジタル情報を付与するAR(Augmented Reality:拡張現実)に対し、MR(Mixed Reality:複合現実)の最大の特徴は、ARとは逆に各種センサによって得られた現実空間の地形情報や映像情報などをデジタル空間に統合し、デジタルコンテンツがあたかも現実の変化に影響されているかのように振る舞う点にあると言えます。HoloLensでは、床や壁といった現実空間の地形情報をカメラやセンサによって取得し、その空間内での自己位置をSLAM手法(Simultaneous Localization and Mapping:カメラやセンサによって得られた空間情報を用いて、環境地図作成とその中での自己位置推定を同時に行う技術)によって推定することで、仮想空間のオブジェクトを現実空間の所定に位置に配置することが可能となっています。これらのオブジェクトは、HoloLens装着者が移動したり向きを変えたりしても、同一の位置に留まっています。また、地形情報から生成したコライダを仮想空間にフィードバックすることで、オブジェクトが現実の床や壁に衝突して跳ね返る(ように見える)、といったようなことも実現できます。

ほかにVRやARとの違いとして、現実情報と仮想情報を合成して得られる視界は、ヘッドマウントディスプレイを用いることで視覚情報に統合されるので、VRのように周りが見えなくなってしまうことがなく、またARのようにスマートフォンなどの非ウェアラブルデバイスを通すことなくハンズフリーで映像を見ることができるという点も挙げられます。これならHoloLensをいちいち取り外すことなくPCの画面を見ることもできます。

■VR参考サイト
「最先端のVR研究室で「無限階段」を登ってみた」【ナショナル ジオグラフィック日本版サイトより】

■AR参考サイト
「LIVEのここがすごい! 3DARや動画で本物を伝える。」【(株)学研プラス「学研の図鑑LIVE(ライブ)」HPより】

たとえば、次の画像はWebブラウザを空間に配置した様子をHoloLensのキャプチャ機能を用いて撮影したものです。ウィンドウの位置やサイズは自由に調整できるようになっています。オシャレなカフェでHoloLensを装着して業務のメールやチャットの確認をすれば、ノートパソコンやタブレット端末を操作しているよりも注目されること間違いなしです!

HoloLensのハードウェアスペックについては、詳しくは公式サイト等をご参照いただければと思いますが、概要については以下のようになっています。

本体概要
OS Windows 10 32 bit
ストレージ 64 GB
メモリ 2 GB
バッテリ 連続稼働時間約 3 時間
重量 0.58 kg

 

センサ・カメラ
IMU 6 軸 × 1 個
環境認識カメラ 4 個
深度センサ 1 個(ハンドジェスチャ認識用)
RBG カメラ 2 MP × 1 個
マイク 左右 2 個ずつ
周辺光感度センサ 1 個

 

IMU(Inertial Measurement Unit:慣性計測装置)と環境認識カメラのセンサフュージョンによりSLAMを行っています。一度取得した空間情報はHoloLensに保存できるので、各種アプリケーションで再利用が可能となっています。次の画像は弊社オフィスの一部をスキャンしたデータです。ソファや机の形状までかなり細かく認識できていることがわかるかと思います。

スピーカは左右それぞれに搭載され、立体音響により音源方向がはっきりわかるようになっています。マイクはHoloLensに標準インストールされているCortanaによる音声入力に用います。ただ、本記事執筆時点では英語にしか対応しておらず、かなり正確な発音が要求されるため、自分のような英語力皆無の人間にはハードルが高いです;

視野角は約40 degと狭く、画面の狭さは今度の大きな課題の一つです。また、0.58 kgという重量も、PlayStation VRの0.61 kgと比べても決して重くはないですが、それでも長時間装着していると固定のための締め付け感も相まって疲労感が大きいです。

酔いについては、VRとは違い現実の空間も合わせて見えるためそれほどきつくはないかと思いますが(自分は乗り物やVRでまったく酔わないので正直よくわからない)、それでもやはり個人差はあり、苦手な人は数分間着けていただけで気分が悪くなってしまうこともあるようです。

Sharing 機能

HoloLensの大きな特徴の一つにSharing(共有)機能があります。複数台のHoloLensで同じアプリケーションを起動し、同じ座標にオブジェクトを配置しても、それはあくまで各HoloLens毎の座標系であるため、アプリケーションを完全に同じ位置、方向で起動しない限り、実際にはそれぞれ別々の位置にオブジェクトが表示されてしまいます。複数のHoloLensで同じMR体験を実現するため、HoloLensにはSharingと呼ばれる機能があります。これは、空間に設置したAnchor(アンカ)と呼ばれる座標系の基準点の情報をHoloLens間で共有し、各オブジェクトはAnchorからの相対座標、姿勢で配置することで、全HoloLensで完全に同じMR空間を実現するというものです。

弊社ではHoloLensを1台しか所有していないためSharing機能を試すことはできませんでしたが、「Tokyo HoloLens Meetup vol. 1」や「N高等学校入学式」など、数十台規模でSharing機能を使用した事例もあるそうです。

Tokyo HoloLens Meetup vol. 1
【電ファミニコゲーマー「渋谷の一室にHoloLens80台が大集結! 仮想空間を共有できるシェアリング昨日にゲームの未来を見た」より】

N高等学校入学式
【Engadget「生徒がHoloLens着用、校長がバーチャルで祝辞ーーネットの高校「N高」入学式、その意義は?」より】

 

今回はHoloLensがどんなものか簡単に紹介しました。次回はHoloLensの基本的な使い方やUnityでのHoloLens向けアプリケーションの作成方法を紹介したいと思います。

PAGE TOP