本日は昨日に引き続き複数台のHoloLens 2を使用してホログラムを共有するチュートリアルを進めます。
〇環境構築
前回は環境構築を行いました。
UnityのバージョンはUnity2021.3.18f1でMRTKのバージョンは2.73です。
〇Photonとは?
[Photon Engine]はExit Gamesが提供している通信サービスのことを指します。Unityの場合[Photon Unity Networking]で[PUN]と呼ばれることもあります。
その特徴として、マルチプレイヤーゲームを簡単に実装できるというものがあります。
通常複数人のゲーム同期となると、サーバーを立て条件分岐を作り始めてゲーム内の実装に取り掛かれますが、PUNを使用することでUnityゲームのことだけ実装し、サーバーを含めゲーム同期に関する多くの部分を実装せずに作ることができます。
今回の複数台でのホログラムの同期もPUNを使用することでサーバー側などの通信を全く気にすることなく行うことができます。
〇Photon Engineの設定
①Photon Engineのサイトでサインインを行います。
まだアカウントが無い場合アカウントを作成します。
②上部バナーから[ダッシュボード]を開きます。
ダッシュボードでは自身のアプリやIDなどを管理することができます。
③[新しくアプリを作成する]を選択します。
④[Photonの種類]を[PUN]に設定して任意の名前のアプリケーションを登録します。
⑤ダッシュボードに表示される作成したアプリから[アプリケーション ID]をコピーします。
以上でPhoton側の設定は完了しました。次にここで設定した情報とUnityアプリケーション側を紐づけます。
⑥Unityの[Photonwizard]に[アプリケーション ID]をペーストします。
もしくは[Assets/Photon/PhotonUnityNetworking/Resources/PhotonServerSettings.asset]から[Server/settings]に加えます。
以上でUnityとPhotonの紐づけが完了します。
〇ユーザーの配置
①MRTKの設定を終えたシーンに以下のオブジェクトを配置します。
・SharedPlayground
・DebugWindow
・NetworkLobby
②[NetworkLobby]オブジェクトの子オブジェクト[NetworkRoom]を開き[PhotonRoom]の[Photon User Prefab]に[PhotonUser]をアタッチします。
[PhotonUser]は[Assets/MRTK.Tutorials.MultiUserCapabilities/Resources/PhotonUser.prefab]にあります。
これが各ユーザーのカメラになります。
以上で自己位置の共有が完成しました。
ビルドしてHoloLens 2同士、もしくはHoloLens 2とPCのUnityEditorで動作を見ることができます。