ブログ@kaorun55

HoloLensやKinectなどのDepthセンサーを中心に書いています。

HoloLensの空間共有機能を使ってみる

昨日たくさんのHoloLensが集まる機会があったので、共有機能を試してみました。


HoloLensで5人のホログラムを共有したゲーム

 

HoloLensにはAnchor(アンカー:碇、目印)の機能があり、空間に目印を置くことができます。HoloLensは空間の座標を記憶できるので、Anchorは完全に実空間の位置となります。これをネットワーク経由で共有することで、複数人のHoloLensの空間位置関係を合わせます。

これによって、複数人の位置を把握でき、見ているものの共有ができます。実際に共有しているものはアンカーやゲームのオブジェクトとなり、アプリ自体はそれぞれのHoloLensで稼働しています。

手っ取り早く共有機能を試すには Holograms 240 を使います。ここにクライアントのUnityアプリと、サーバーのコンソールアプリが入っています。

共有アプリ作成手順

先のサンプルをダウンロード、展開します。展開直後のフォルダ名が非常に長く、場合によってはビルド時のパスが長すぎてエラーになるので、フォルダ名を変えておきます(たとえば「240」とか)。

これをUnityで開きます。

メニューに「HoloToolkit」が追加されるので、その中の「Launch Sharing Service」を起動します。

f:id:kaorun55:20160530123409p:plain

するとコンソールアプリが立ち上がります。「Sharing Servive」にサーバーIPが表示されるのでコピーしておきます。

f:id:kaorun55:20160530123434p:plain

クライアント側では、Shareingシーンを開き、Shareing StateスクリプトのServer Addressに先ほど確認したIPアドレスを入力します。f:id:kaorun55:20160530123440p:plain

あとはビルドしてHoloLensに配置すればOKです。

 

アプリのスクリーンショット

サーバー側のアプリを起動した状態でクライアントアプリ(HoloLens)を起動します。

f:id:kaorun55:20160530124024p:plain

起動するとアバターが4つ現れます。これが自機になります。視線で選択して、AriTapします。

f:id:kaorun55:20160530124026p:plain

この前後でサーバーに接続され、サーバー側にクライアントが登録されます。

5台までの登録は確認しました。

f:id:kaorun55:20160530124444p:plain

起動後しばらくは位置関係がおかしいですが、広めの場所で数秒経つと位置が合います。

f:id:kaorun55:20160530124029p:plain

このように相手の頭上にアバターが現れ、視線とAirTapで球を出すことができます。このゲームが相手と打ち合うゲームなのか、協力して何かを倒すゲームなのかはよくわかっていません^^;

f:id:kaorun55:20160530124014p:plain

内部的にはまだ不明なところが多いですが、標準機能でこのような機構が用意されているのはいいですね。