HoloLensで画面共有(Device Portal)

HoloLensで見ている映像を周りの人にも見せたい!

HoloLensを使っている人だけ楽しんでてズルい。どういう世界がみえてるのかみたい。
もしくはイベント等で、体験者以外にも見せたい場合、webブラウザー経由でDevice Poetalにアクセスして画面を共有することができます。
ただしWifi環境が必要です。

下記のオリジナルドキュメントを基に関係する部分を抜粋します。
https://docs.microsoft.com/en-us/windows/uwp/debug-test-perf/device-portal-hololens

<hololensでデバイスポータルを設定する></hololensでデバイスポータルを設定する>
-デバイスポータルを設定するには

1.HoloLensの電源をオンにします。
2.ブルームジェスチャーでメインメニューを起動します。
3.セッティングを見つめエアタップジェスチャーでエアタップをもう一度行い好きな位置に配置。
4.アップデートメニューを選択します。
5.For developers メニューを選択を選択します。
6.Developer Modeを有効にします。
7.スクロールして Device Portalをオンにします。

<デバイスとペアリングする>
1.HoloLensをwifiにつなぎます。
2.HoloLensのIPアドレスを見つけます。
 Settings > Network & Internet > Wi-Fi > Advanced Options
にあります。
もしくは、”Hey Cortana, what is my IP address?”とコルタナに聞いてもOKです。
※私は発音がわるかった為、教えてもらえませんでした。
3.PC側から、先ほどのIPアドレスをアドレスバーに入力します。
  https://
ブラウザーがセキュリティーの警告を表示してきますが、無視して進みます。
4.下記のような画面が表示されるかとおもいます。

PCとHoloLensが近い場合はHoloLensのサウンドストリーミングをオフにするとハウリングを防げます。

<はじめてHoloLensにアクセスするとき>
HoloLensのDevice portalへ初めてアクセスするときはユーザー名とパスワードを作成する必要があります。
1.PCのブラウザー側でHoloLensのIPアドレスを入れると、セットアップアクセスページにつながります。
2.暗証番号をリクエストをクリックして暗証番号を生成します。
3.HoloLensのテキストボックスに先ほどの暗証番号を入力します。
4.device portalに接続する為に使用するユーザー名を入力します。
※Microsoft Account (MSA) name や ドメイン名である必要はありません。
パスワードを入力します。
※パスワードは最低7文字櫃賞です. Microsoft Account (MSA) name やドメイン名のパスワードの必要はありません。
5. PairをクリックしてDevice Portalに接続します。

Device Portalをつかうとストリーミング、画面録画が簡単にできます。
ただ、アプリが重い場合には映像にはどうしても遅延が発生してしまいます。

HoloLensの開発(Unity)

今回はUnityを使ってHoloLensでシンプルなCubeオブジェクトを表示するアプリをビルドしてみましょう。参考にするのは

https://docs.microsoft.com/ja-jp/windows/mixed-reality/develop/unity/tutorials

になります。
Microsoft
の上記のドキュメントをしっかり読んでもいいですが、私のようにイライラしてしまうといけないのでCubeを出すのに必要な部分を抜き出して手順を下記に説明してみます。

まず、HoloLensの値段を見て絶望しないでください、HoloLensなしでも開発できます。ただし、HoloLensがない場合はWindows “Pro”が必要です(できればWindows 10) Windows”Home” HoloLensのエミュレータが動きません。では、早速始めましょう。

  1. Unityで新しいプロジェクトを作ってください。
  2. キャメラのセットアップ。Main Cameraを選択してインスペクターで:
    1. Position(0,0,0)にしてください。
    2. Clear FlagsのドロップダウンをSkyboxからSolid Color
    3. BackgroundRGBA(0,0,0,0)にして「黒」
    4. Near Clip Plane0.85
  1. プロジェクト設定
    1. メニューバーのEdit > Project Settings > Qualityを選択します
      1. ウインドウズストアのロゴの下のドロップダウンからFastestを選択
    2. メニューバーのEdit > Project Settings > PlayerWindows StoreタブのOther Settings
      1. Virtual Reality Supportedをチェック
      2. Virtual Reality SDKsのリストにWindows Holographicが入っているを確認
  2. ホログラムを作り
    1. Cubeでもシーンに入れて
    2. Cubeを選択された状態でインスペクターでPosition(0,0,2)にしたらオブジェクトがユーザーのスタート位置から2m前にあるように見えます
    3. CubeScale(1,1,1)だったら1mCubeが見えますのでもうちょっと小さくしましょう(0.25,0.25,0.25)にしたら、25㎝のCubeになります。
    4. シーンを保存
  3. UnityからHoloLensでテスト(HoloLens必要)
    1. HoloLensのストアからHolographic Remoting Playerをインストールして、起動するとIP表示され、待機状態になります
    2. UnityのメニューバーでWindow > Holographic Emulation.を選択
    3. Emulation ModeNoneからRemote to Device
    4. Remote MachineでさっきのHoloLensIPアドレスを入力
    5. Connectをクリックして
    6. Connection Statusが緑のConnectedに変わったら、UnityPlayボタンでテストできます
  4. Visual Studioからのテスト(HoloLens有っても無くてもOKです!
    1. Unityのメニューバーから File > Build Settingsを選択
    2. Add Open Scenesにクリック
    3. PlatformのリストからWindows Storeを選択しSwitch Platformをクリック
    4. SDKUniversal10
    5. Target DeviceAny DeviceからHoloLens
    6. UWP Build TypeD3D
    7. UWP SDKLatest Installed
    8. Unity C# Projectsをチェック
    9. Buildをクリック
    10. エクスプローラーで新規フォルダを作って、選んで、Select Folderボタン押して
    11. Unityが終わったらフォルダの中には「プロジェクト名」.sln が作られたはずです
    12. 「プロジェクト名」.slnを開いてトップのツールバーのTargetDebugからReleaseにして、ARMからX86にしてください
    13. デプロイ:
      1. WIFIを使ってデプロイ:
        1. トップのツールバーのLocal MachineRemote Machineに変更
        2. HoloLensIPを入力
        3. Authentication ModeUniversal (Unencrypted Protocol)
        4. Debug > Start without debuggingをクリック
      2. USBを使ってデプロイ:
        1. トップのツールバーのLocal MachineDeviceに変更
        2. Debug > Start without debuggingをクリック
      3. エミュレータ使ってデプロイ:(HoloLens不要)
        1. Deviceの隣のやじるをクリックしてドロップダウンからHoloLens Emulatorを選んで
        2. Debug > Start without debuggingをクリック

これで初めてのHoloLensアプリができましたね

今回はただのCubeですが、今度はHoloLensの特徴を生かしてインタラクティブなアプリを作りましょう!