HoloLensのSharingServeiceの歩き方(ツール編)
前回の記事 で予告したように、
今回はSharing Serviceの実践方法について、深掘りしていきます。
今回取り上げるのは、コードを書く前の段階のツールの準備と使い方の話です。
ここまで準備すれば、Academyのチュートリアルも理解が捗ることでしょう。
目次
Sharing周りのサンプルとツールのダウンロード
プロジェクトの成果物に必要なファイルは、unitypackage
ファイルに入っていますが、
サンプルやデバッグツールはソースファイルから展開しなければいけません。
まずリリース用のパッケージをダウンロードします。
Releases · Microsoft/MixedRealityToolkit-Unity · GitHub
最新バージョンのアセット(HoloToolkit-Unity-v1.2017.2.0.unitypackage)とSourceCodeをそれぞれダウンロードしましょう。
ツールの紹介と使い方
アセットからインストールした場合、UnityEditor上でSharing Serviceツールの下2つへのリンクが切れている状態で展開されます。
その場合はプロジェクトのディレクトリに、SourceCode.zipから展開した \External\HoloToolkit\Sharing\Tools
以下をコピーすることで使えるようになります。
※初回実行時にネットワークアクセスの許可について確認が求められるかもしれません。
Sharingを使うなら確実に、導入したほうが良いです。
Assets
ディレクトリの外に設置することになりますので、UnityEditorでなくエクスプローラーなどでコピーするとよいでしょう。
Sharing Service
サーバーの役割を果たすファイルです。
アセットファイルにもソースコードにも入っています。
\External\HoloToolkit\Sharing\Server\SharingService.exe
cliアプリケーションなので、コマンドラインから実行します。
SharingService.exe -local
のようにすることでローカルサーバーとして実行されます。
開始時にローカルIPアドレスが表示されるので、そこに繋ぎに行きましょう。
Session Manager
Sharing Serviceに接続したり、サービスの様子を見たりすることが出来ます。
存在さえ知っていれば、後は使って「なるほど」と分かるレベルなので、使ってみましょう。
一応最初の一歩だけ説明すると、右上の ...
ボタンで、Sharing Serviceの接続先を設定します。
あとはCreate SessionなりJoinなりで色々試してみましょう。
ソースコードの方にしか入っていないアプリケーションなので、展開して実行しましょう。
\External\HoloToolkit\Sharing\Tools\SessionManager\(x64|x86)\SessionManager.UI.exe
ProfilerX
Sharing Serviceで実際にやりとりされている情報を覗くことが出来ます。
これもソースコードの方にしか入っていないアプリケーションなので、展開して実行しましょう。
\External\HoloToolkit\Sharing\Tools\Profiler\(x64|x86)\ProfilerX.exe
使い方は、以下の手順で操作します。
XTools Apps
のAdd
ボタンをクリックし、App追加ウィンドウを開くAddress
にSharing ServiceのIPアドレスを登録し、Roleを選択してAdd
ボタンを押す- 左上の
Pause / Record
ボタンをクリックする。Record状態で情報をキャプチャするので、欲しい情報を取得して止める Recorded Frames
にパケットが目盛として並んでいるので、調査したいパケットをクリックするSamples
にパケットの構造が出る。ツリー展開して中身を確認できる
カスタムした情報も確認することが出来るので、デバッグもこれがあれば百人力です。
HoloLens Emulator
Sharingの動作は1台で検証することは困難です。
HoloLensの実機を複数買えるようなブルジョワなら使わなくてもいいですが、
個人の開発者ならエミュレーターのお世話になることでしょう。
インストール
環境要件として、Hyper-V と VisualStudio のインストールが必要です。
以下のリンクから HoloLens Emulator and Holographic Templates
をダウンロードしてインストールします。
https://developer.microsoft.com/en-us/windows/mixed-reality/install_the_tools
起動
VisualStudioから、アプリをビルドしたあとのデプロイ先に指定して起動するのが一般的な使い方です。
操作
Key | Action |
---|---|
右クリック, [Enter] | Air Tap |
[⊞ Win],[F2] | Bloom |
[W][A][S][D] | 移動 |
左クリックドラッグ, [カーソルキー] | 視線方向 |
[E][Q] | ロール |
[Alt]+[右クリックドラッグ] | ドラッグやGrub動作 |
空間マップの移植
エミュレーターは空間認識機能を持っていないので、HoloLensから空間マップを移植します。
1. 空間マップの取得
HoloLens実機で充分部屋を探索した後に、デバイスポータルに接続し、「Simulation」メニューからxefファイルをダウンロードします。
2. 空間マップの設定
エミュレーター上の ≫
アイコンをクリックし、Additional Tools
を呼び出し、
Roomタブからxefファイルをアップロードします。
実践のためのノウハウ
最初に接続を確認する
最初に利用中のネットワークでSharingServiceが利用できるか確認します。
Sharing Serviceの動作するサーバーに別PCからSession Managerから繋ぎに行きます。
無事新しいセッションが作成できれば、Sharing Serviceが利用できます。
まとめ
ツールに関して知っていれば、Sharingの実装はかなり助かります。
独自実装をするにしても、まずは原型の仕組みを理解するのが肝要です。