4.複数のユーザーとオブジェクトの移動を共有する4. Sharing object movements with multiple users

このチュートリアルでは、共有エクスペリエンスのすべての参加者が共同作業したり、相互の操作を表示したりできるように、オブジェクトの移動を共有する方法について説明します。In this tutorial, you will learn how to share the movements of objects so that all participants of a shared experience can collaborate and view each other's interactions.

目標Objectives

  • オブジェクトの移動を共有するようにプロジェクトを構成するConfigure your project to share the movements of objects
  • 基本的なマルチユーザー コラボレーション アプリを構築する方法を学習するLearn how to build a basic multi-user collaborative app

シーンの準備Preparing the scene

このセクションでは、チュートリアルのプレハブを追加してシーンを準備します。In this section, you will prepare the scene by adding the tutorial prefab.

プロジェクト ウィンドウで アセット > MRTK.Tutorials.MultiUserCapabilities > Prefabs(プレハブ) フォルダーの順に移動して、TableAnchor プレハブを 階層 ウィンドウの SharedPlayground オブジェクト上にドラッグし、SharedPlayground オブジェクトの子としてシーンに追加します。In the Project window, navigate to the Assets > MRTK.Tutorials.MultiUserCapabilities > Prefabs folder and drag the TableAnchor prefab onto the SharedPlayground object in the Hierarchy window to add it to your scene as a child of the SharedPlayground object:

mr-learning-sharing

PUN を構成してオブジェクトのインスタンスを作成するConfiguring PUN to instantiate the objects

このセクションでは、「入門チュートリアル」で作成した Rover Explorer エクスペリエンスを使用するようにプロジェクトを構成し、そのプロジェクトがインスタンス化される場所を定義します。In this section, you will configure the project to use the Rover Explorer experience created during the Getting started tutorials and define where it will be instantiated.

[Project](プロジェクト) ウィンドウで [Assets](アセット) > [MRTK.Tutorials.MultiUserCapabilities] > [Resources](リソース) フォルダーに移動します。In the Project window, navigate to the Assets > MRTK.Tutorials.MultiUserCapabilities > Resources folder.

[Hierarchy](ヒエラルキー) ウィンドウで NetworkLobby オブジェクトを展開して NetworkRoom 子オブジェクトを選択し、[Inspector](インスペクター) ウィンドウで Photon Room (Script) コンポーネントを探し、次のように構成します。In the Hierarchy window, expand the NetworkLobby object and select the NetworkRoom child object, then in the Inspector window, locate the Photon Room (Script) component and configure it as follows:

  • Rover Explorer の [Prefab](プレハブ) フィールドに、[リソース] フォルダーから RoverExplorer_Complete_Variant プレハブを割り当てますTo the Rover Explorer Prefab field, assign the RoverExplorer_Complete_Variant prefab from the Resources folder

mr-learning-sharing

NetworkRoom 子オブジェクトを選択したまま [Hierarchy](ヒエラルキー) ウィンドウで TableAnchor オブジェクトを展開し、[Inspector](インスペクター) ウィンドウで Photon Room (Script) コンポーネントを探して次のように構成します。With the NetworkRoom child object still selected, in the Hierarchy window, expand the TableAnchor object, then in the Inspector window, locate the Photon Room (Script) component and configure it as follows:

  • Rover Explorer の [場所] フィールドに、[階層] ウィンドウから TableAnchor > Table 子オブジェクトを割り当てますTo the Rover Explorer Location field, assign the TableAnchor > Table child object from the Hierarchy window

mr-learning-sharing

共有オブジェクト移動のエクスペリエンスを試すTrying the experience with shared object movement

Unity プロジェクトをビルドして HoloLens にデプロイしてから Unity に戻り、HoloLens でアプリが実行されている間に [再生] ボタンを押してゲーム モードに入ると、HoloLens でオブジェクトを動かした時に Unity でオブジェクトが移動するのを確認できます。If you now build and deploy the Unity project to your HoloLens, and then, back in Unity, press the Play button to enter Game mode while the app is running on your HoloLens, you will see the object move in Unity when you move the object in HoloLens:

mr-learning-sharing

結論Congratulations

他のユーザーがオブジェクトを移動したときにそのオブジェクトの移動をユーザーが確認できるように、プロジェクトでオブジェクトの移動が同期するように構成できました。You have successfully configured your project to synchronize object movements so users can see the objects move when other users move them. 次のチュートリアルでは、現実の世界に合わせてエクスペリエンスを調整するための機能を実装します。In the next tutorial, you will implement functionality to align the experience in the physical world. これにより、ユーザーどうしが実際の物理的な位置関係にいるように表示したり、オブジェクトがどのユーザーからも同じ物理的な位置と角度で表示されるようにしたりできます。This will ensure the users see each other in their actual physical location, and so the objects appear in the same physical position and rotation for all users.

次のチュートリアル:5.Azure Spatial Anchors の共有エクスペリエンスへの統合Next Tutorial: 5. Integrating Azure Spatial Anchors into a shared experience