littlewing

人間とコンピューターとメディアの接点をデザインするために考えたこと

Holographic Remotingについて(HoloLensCompanionKitを動かしてみる)

f:id:pigshape:20170205123235p:plain

前回の記事「Windows HolographicとHoloLens」で、Windows Holographicプラットフォームの概要を書きましたが、デスクトップのUWPなどのアプリケーションとHoloLensを連携させるための機能としてHolographic Remotingが重要な技術的な要素となります。

Holographic Remotingについては既に情報が公開されているので、動作を試してみるまでの手順をまとめました。

1.Holographic Remotingとは

Holographic Remotingとは、PCのデスクトップ用アプリや XboxOneなどのUWPデバイス向けのアプリケーションを、HololensなどWindows holographic対応デバイス向けのコンテンツのホストアプリケーションとして利用できる機能の事です。

主な機能としては、ホスト側アプリケーションにおいて

  • 入力:Hololens側のセンサー情報を取得
  • 出力:レンダリング結果をHoloLensにストリーミング配信

することで実現します。

これを使う事によって、Hololens側ではRemoting Playerを立ち上げておくだけで、中身のコンテンツは、ホストアプリケーション側から配信する事ができます。

具体的には以下のような事ができるようになります。

開発中のアプリケーションのデバッグ

デスクトップアプリケーションと連動したHololensアプリの開発

  • 3DモデリングソフトウェアにおいてデスクトップとHololensを同時に使いならが閲覧・編集
  • www.youtube.com

Hololens単体では処理できないような高性能CPU/GPUが必要となるアプリケーションをHololens上で動作させる

  • XboxOneなどのゲームをHololensで楽しむ
  • 高性能PCやクラウド上で処理された内容の、画面表示と操作のみをHololens上で実行
  • https://www.windowscentral.com/sites/wpcentral.com/files/styles/xlarge_wm_brb/public/field/image/2016/04/20160411_174527_HoloLens.jpg?itok=f3v0ViSq

副次的なものではあるのですが、HoloLensにアプリケーションをインストールしなくても、ノートPCなどから、コンテンツの配信ができるのは結構便利かもしれませんね。 ネット上のクラウドサーバからの配信という考え方も面白いかもしれません。


2.Holographic Remotingの技術ドキュメント

Holographic Remotingに関する開発ドキュメントは既に公開されています。

タイトル 説明
Holographic Remoting Player Hololens側にインストールする「Holographic Remoting Player」の説明
Add holographic remoting デスクトップ用UWPアプリケーションに「Holographic Remoting Player」を実装する方法。NuGet パッケージ[Microsoft.Holographic.Remoting ]を組み込んで、ゴニョゴニョする
HoloLensCompanionKit Github上の、Holographic Remotingのサンプルコード

この中のHoloLensCompanionKitを使えば、実際にデスクトップからHoloLensへのコンテンツ配信を簡単に試すことができます。

CompanionKit自体には以下の機能のサンプルが含まれています。Remoting以外もあるのです。

サンプル名称 説明
Holographic Remoting Host 今回の話のHolographic Remotingのサンプル
HoloLens Commander Hololensの Device Portalに接続し各種操作を行えるUWPアプリケーション
KinectIPD 利用者のIPD(瞳孔間距離)を自動調整するアプリケーション。不特定多数向けのデモの際に便利(みたい)
MixedRemoteViewCompositor Hololensの映像を外部送信する機能(ちゃんと読んでないので自信なし)

3.HoloLensCompanionKitのHolographic Remoting Hostを実際に動かしてみる

Holographic Remoting Hostは以下の手順で動作確認ができます。

「UWP XAML」、「UWP(DirectX)」、[Desktop版」の3種類あるのですが、 「UWP XAML」のみがアプリ上から接続先のIPの設定ができ、他はコードに埋め込む必要があるので、試すだけなら「UWP XAML」がおすすめです。

手順としては

  1. HoloLensCompanionKitをGithubよりダウンロード
  2. 解凍して、HoloLensCompanionKit-master\RemotingHostSample\RemotingHostSample.slnをVisual Studio2015で開く
  3. Solution Explorerでソリューションを右クリックして、Single StartupProjectを「UWPXAML」に切り替える。(下図)
    f:id:pigshape:20170205122836p:plain
  4. Hololens側でRemoting Playerを起動しておく(後でもいいけど)
  5. 緑三角の実行ボタン(LocalMachineになっている)をポチッと押す
  6. HololensのIPアドレスを入力して、Connectを押す。
    尚、Windowsマシン同士ならホスト名でも接続できるので、Hololensのホスト名を事前に調べておいて、それを入力すればIPアドレスでなくても接続できます。

これで動作確認できます。

f:id:pigshape:20170205123235p:plain

UWP/Desktop版などのIPアドレスの設定の仕方は、元ドキュメントを参照してください。 Remoting Playerとの接続にはいずれも、TCP:8001が少なくとも最初の接続には使われているようです。


HoloLens Beginner’s Guide

HoloLens Beginner’s Guide

ちなみに、私はHoloLens持ち運び用に以下のバッグを買いました。