Version: 2017.2
ビデオのキャプチャー
Web Player

ホログラフィックエミュレーション

ホログラフィックエミュレーションを使用すると、変更の影響を確認するためにその都度ゲームをビルドして実行するのではなく、Microsoft HoloLens プロジェクトを Unity エディターで直接、試作、デバッグ、実行することができます。 これは、Unity でホログラフィックのアプリケーションを開発する際の反復の時間を大幅に短縮します。

ホログラフィックエミュレーション: Unity エディターをホログラフィックのアプリケーションとして実行できます
ホログラフィックエミュレーション: Unity エディターをホログラフィックのアプリケーションとして実行できます

ホログラフィックエミュレーションは 2 つのモードがあります。

  • Remote to Device: Windows Holographic デバイスへの接続を使用すると、実際はアプリケーションはホストマシンの Unity エディターで実行されているのに、まるで、そのデバイスにデプロイされているかのように動作します。詳細は、下の Remote to Device を参照してください。

  • Simulate in Editor: アプリケーションは、現実の Windows のホログラフィックデバイスに接続のない、Unity エディター上に直接作られたホログラフィックデバイスのシミュレーションで実行されます。 詳細は、後述の Simulate in Editor を参照してください。

ホログラフィックエミュレーションは Windows 10 (Anniversary Update を伴う) を使用するすべてのマシンでサポートされています。

まず初めに

シミュレーションを遠隔操作、または、シミュレーション可能にするには、Unity エディターを開き、 Window > __Holographic Emulation__の順に選択します。

これにより、 Emulation Mode ドロップダウンメニューを持つ Holographic Emulation のコントロールウィンドウを開きます。開発中、このウィンドウを表示したままにします。アプリケーションを起動するときにその設定にアクセスする必要があるからです。

Default Holographic Emulation コントロールウィンドウ
Default Holographic Emulation コントロールウィンドウ

Emulation Mode はデフォルトでは None に設定されています。つまり、アプリケーションは Holographic API の機能なしでエディターで実行されるという意味です。 このモードを有効にしてホログラフィックエミュレーションを開始するには、 Emulation ModeRemote to Device または Simulate in Editor に変更します。

Remote to Device

このモードを使用するには、Unity エディターを実行しているマシン (以下「ホストマシン」) を Windows Holographic デバイス (以下 「デバイス」) へ接続します (詳細は下の デバイスの接続 を参照)。実際は、ホストマシンの Unity エディターで実行されているのに、まるで、デバイスにデプロイされているかのように動作します。

Unity エディターは、接続したデバイスの空間センサーのデータとヘッドトラッキングにアクセスできます。Unity エディターのゲームビューでは、デバイスを装着している人が現実世界で見えているものは表示しませんが、デバイス上でレンダリングされているものは表示します (上の ‘ホログラフィックエミュレーション: Unity エディターをホログラフィックのアプリケーションとして実行できます’ の画像内の例を参照)。

Remote to Device は、パフォーマンスを検証するのには役立ちません。なぜなら、アプリケーションはデバイス自体ではなく、ホストマシン上で実行されているからです。しかし、この方法は簡単に開発をテストするのに役立ちます。

Unity エディターでこのモードを有効にするには、Emulation ModeRemote to Device に設定します。インターフェースが変更され、利用可能な追加オプションを表示します。

Remote to Device を選択した Holographic Emulation コントロールウィンドウ
Remote to Device を選択した Holographic Emulation コントロールウィンドウ

デバイスの接続

デバイス上の Holographic Remoting Player スクリーン
デバイス上の Holographic Remoting Player スクリーン
  1. Windows ストア から入手可能な Remoting Player をインストールして実行します。起動すると、Remoting Player は待機状態になり、デバイスの IP アドレスを Holographic Remoting Player 画面に表示します。接続診断を有効にする方法などの Remoting Player に関する情報は、Microsoft Windows Dev Center を参照してください。

  2. Unity エディターの Holographic Emulation コントロールウィンドウで、デバイスの IP アドレスを Remote Machine フィールドに入力します。そのフィールドの右側のドロップダウンで最近使用した IP アドレスを選ぶことができます。

  3. Connect ボタンを押します。Connection Status が緑になり、接続メッセージが表示されます。

  4. Unity エディターで Play をクリックして、デバイスをリモートで実行します。エディターでアプリケーションを実行するのと同じ方法で、停止、ゲームオブジェクトの検査、デバッグができます。しかし、ビデオ、オーディオ、デバイス入力は、ホストマシンとデバイス間でネットワークを介してやり取りされます。

既知の制限

  • Speech (PhraseRecognizer) は Remote to Device 経由ではサポートされません。代わりに、Unity エディターを実行しているホストマシンから音声を傍受します。

  • Remote to Device を実行する間、ホストマシン上のすべてのオーディオは、アプリケーション外部からのオーディオを含め、デバイスにリダイレクトされます。

Simulate in Editor

このモードを使用すると、アプリケーションは、現実の Windows のホログラフィックデバイスに接続のない、Unity エディター上に直接設定されたホログラフィックデバイスのシミュレーションで実行されます。これは、デバイスへのアクセス無しに、Windows Holographic の開発をおこなうときに役立ちます。エミュレーターに頼らずに、デバイス上でテストする必要があることに気を付けてください。

このモードを有効にするには、 Emulation ModeSimulate in Editor に設定し、 Play ボタンを押します。アプリケーションは、Unity エディターに組み込まれたエミュレーターで起動します。

Holographic 制御パネルで、Room ドロップダウンーを使用して 5 つの仮想ルーム (XDE HoloLens エミュレーターで提供されるものと同じもの) の1つを選択し、 Gesture Hand ドロップダウンメニューを使用して、ジェスチャを実行するのに左右どちらの仮想ハンドを使うかを指定します。

Simulate in Editor を選択した Holographic エミュレーションコントロールウィンドウ
Simulate in Editor を選択した Holographic エミュレーションコントロールウィンドウ

Simulate in Editor モードでは、仮想の人間のプレイヤーを制御するために、ゲームコントローラーを使用する必用があります (例えば Xbox 360 や Xbox One コントローラー)。コントローラーがない場合でも、シミュレーションを行えますが、仮想の人間のプレイヤーをあちこちに移動することはできません。

制御 説明
Left stick 上下に動かすと、仮想の人間のプレイヤーを前方と後方に動かします。 左右に動かすと、プレイヤーを左と右に動かします。
Right stick 上下に動かすと、仮想の人間のプレイヤーの頭を上と下に向けます。 左右に動かすと、プレイヤーを左と右に向かせます。
D-pad 仮想の人間のプレイヤーの頭を上下左右に動かします。
Left and right trigger buttons; A button 仮想の手でタップジェスチャを実行します。
Y button 仮想の人間のプレイヤーの頭を元の位置に戻します。

ゲームコントローラーを使用するには、Unity エディターのフォーカスはゲームビュー上になければなりません。何かを UI で行った後に、フォーカスをゲームビューウィンドウに戻すには、ゲームビューウィンドウをクリックします。

既知の制限

  • ほとんどのゲームコントローラーは、Windows と Unity によって認識される限り、Simulate in Editor モードで動作します。ただし、サポートされていないコントローラーとは互換性がない場合があります。

  • Simulate in Editor モードで PhotoCapture を使用できますが、デバイスが存在しないため、独自のローカルカメラ (設定されたウェブカメラなど) でこれを行う必要があります。つまり、 TryGetProjectionMatrix または TryGetCameraToWorldMatrix を使用して行列を取得することはできません。なぜなら、通常のローカルカメラは現実世界との関連でその場所を計算できないからです。

ビデオのキャプチャー
Web Player