MRが楽しい

MRやVRについて学習したことを書き残す

MRTK2017.4.3でサーバクライアント型のSharingのサーバプログラムが取得できない問題の対処

本日は 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 を開く。
f:id:bluebirdofoz:20190524092237j:plain

2.[Apply Mixed Reality Project Settings]ダイアログで[Enable Sharing Services]にチェックして[Apply]をクリックする。
f:id:bluebirdofoz:20190524092249j:plain

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.

f:id:bluebirdofoz:20190524092303j:plain

この手順で GitHub からプロジェクトフォルダに External フォルダがダウンロードされるはずです。
しかし、私の環境だと手順を実行しても External フォルダがダウンロードされず、サーバプログラムが取得できませんでした。
私の確認した環境では以下の HTTP error メッセージが表示されます。
f:id:bluebirdofoz:20190524092324j:plain

対処

External フォルダは MRTK の GitHub から直接ダウンロード可能です。
以下のリリースページで利用中のバージョンの MRTK を確認し、[Source code (zip)]をダウンロードします。
github.com
f:id:bluebirdofoz:20190524092344j:plain

ダウンロードした MixedRealityToolkit-Unity-XXXX.X.X.X.zip を展開します。
f:id:bluebirdofoz:20190524092358j:plain

直下に External フォルダがあるので、これをプロジェクトフォルダにコピーします。
f:id:bluebirdofoz:20190524092407j:plain

これでサーバプログラムがダウンロードできました。
以下のどちらかの手順でサーバプログラムの SharingServices.exe を実行可能です。

Unity プロジェクトのメニューから Mixed Reality Toolkit -> Sharing Service -> Launch Sharing Service を実行する。
f:id:bluebirdofoz:20190524092418j:plain

PowerShell またはコマンドプロンプトで External\HoloToolkit\Sharing\Server フォルダを開き、以下のコマンドを実行する。
・.\SharingService.exe -local
f:id:bluebirdofoz:20190524092430j:plain