sakaiこんにちは。HoloLensチームの酒井(@saka_it)です。2017.4.0で新たにiOS端末で動作するSpectatorViewが追加されました。動作させたときの動画はこちらです。2017.4.3へのアップデートに伴って不具合が解消される一方、新たなトラブルポイントも出てきていますので、今回はUpdate版を作成しました。2017.4.3のSpectatorViewを動作させるための手順を説明します。preview機能がありますが、タイムラグがある、HoloLens側のFPSに制限がかかる、画質が低いといった欠点があります。これを別デバイスで表示することで解決するのがSpectatorViewというプラグインで、従来は、HoloLens+カメラ+PCを接続することで実現していました。デバイスが多く、事前のキャリブレーションが面倒なこともあって、あまり使いやすいものでありませんでした。2017.4.0に、Previewとして追加されたSpectatorViewは、同じ機能をiOS端末で実現する機能となります。Previewということもあってか事前準備は面倒ですが、実際に動作させる際のお手軽さはかなり高まっています。」プロジェクトをクローンします。クローン出来れば、管理者権限のコマンドプロンプトを開き下記のコマンドを順に実行します。」プロジェクトをクローンします。Studioで開き、「Release」「x86」でビルドをします。(2018/12/19現在)上のVcpkgでインストールされるOpenCVのバージョン(3.4.3)とSpectatorViewPluginでリンクされるDLLのバージョン(3.4.1)が異なるため、ビルド時に下記のようなリンクエラーが発生します。このエラーが発生したときには「SpectatorViewPlugin」プロジェクトのプロパティで「リンカー」→「入力」を開き、「追加の依存ファイル」にあるDLLの名前を置換します。DLL名が「opencv_XXX341.dll」となっていますので、これを「opencv_XXX343.dll」に変更します。ビルドが完了すれば、下記のDLLが生成されるのでコピーしておきます。新規Unityプロジェクトを作成し、下記2つのUnityパッケージをMRTKのリリースページからダウンロードして、インポートします。HoloToolkitHoloToolkit-Preview※ExampleはPreviewのパッケージに含まれるようになりました。Pluginディレクトリを作成し、SpectatorViewのDLLをインポートします。「Assets/HoloToolkit-Examples/SpectatorView/Scenes」にあるサンプルシーンを開きます。通常のHoloLensアプリと同じくUWPのプロジェクト設定を行います。Compatibilityは下記の2つにチェックを追加します。SwitcherのHololensボタンをクリックします。後は通常通りビルドしてHoloLensにデプロイおこないます。ここで、デプロイ完了後もiOS用アプリのビルドまでUnityを終了させないでください!Unityのセッションが変わると状態の同期に問題が発生することがあります。SwitcherのIPhoneボタンをクリックします。Settingsを設定しビルドを行います。Versionを「11.0」に設定する出力されたプロジェクトをMacに移動し、xcodeで実機にデプロイすれば完了です。2017.4.3ではFIXされ不要となっています。SpectatorViewの導入も当初に比べて簡単になってきました。一方でいまだPreviewということや廃止予定のUNETを使用しているということで、本番運用に入れるには、まだまだ難しいところがあるかと思います。現状では、あくまでMRTKの実装はサンプルとして、実際に使用する場合は構成を参考に自前で実装する、というのが有力な選択肢かと思います。