本日は MRTK の調査枠です。
サーバクライアント型のSharingで、通常の手順でサーバプログラムが取得できない問題を検出したので記事にします。
本記事は2019/5/23現在、MRTK 2017 の最新バージョン 2017.4.3.0-Refresh で確認しています。
発生事象
[Enable Sharing Services]のプロジェクト設定で SharingServices.exe が取得できませんでした。
通常の手順では、サーバプログラムの SharingServices.exe は以下の手順で取得します。
1.メニューから Configure -> Apply Mixed Reality Project Settings を開く。
2.[Apply Mixed Reality Project Settings]ダイアログで[Enable Sharing Services]にチェックして[Apply]をクリックする。
3.サーバプログラムを未ダウンロードの場合 GitHub から必要プログラムをダウンロードする旨のダイアログが表示されるので、[Yes]をクリックしてダウンロードする。
You're missing the Sharing Service Executable in your project. Would you like to download the missing files from GitHub? Alternatively, you can download it yourself or specify a target IP to connect at runtime on the Sharing Stage.
この手順で GitHub からプロジェクトフォルダに External フォルダがダウンロードされるはずです。
しかし、私の環境だと手順を実行しても External フォルダがダウンロードされず、サーバプログラムが取得できませんでした。
私の確認した環境では以下の HTTP error メッセージが表示されます。
対処
External フォルダは MRTK の GitHub から直接ダウンロード可能です。
以下のリリースページで利用中のバージョンの MRTK を確認し、[Source code (zip)]をダウンロードします。
github.com
ダウンロードした MixedRealityToolkit-Unity-XXXX.X.X.X.zip を展開します。
直下に External フォルダがあるので、これをプロジェクトフォルダにコピーします。
これでサーバプログラムがダウンロードできました。
以下のどちらかの手順でサーバプログラムの SharingServices.exe を実行可能です。
Unity プロジェクトのメニューから Mixed Reality Toolkit -> Sharing Service -> Launch Sharing Service を実行する。
PowerShell またはコマンドプロンプトで External\HoloToolkit\Sharing\Server フォルダを開き、以下のコマンドを実行する。
・.\SharingService.exe -local