4. Freigeben von Objektbewegungen für mehrere Benutzer4. Sharing object movements with multiple users

In diesem Tutorial erfahren Sie, wie Sie die Bewegungen von Objekten teilen, damit alle Teilnehmer einer geteilten Benutzeroberfläche zusammenarbeiten und die Interaktionen der einzelnen Benutzer anzeigen können.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.

ZieleObjectives

  • Konfigurieren des Projekts zum Teilen der Bewegungen von ObjektenConfigure your project to share the movements of objects
  • Erlernen des Erstellens einer einfachen Mehrbenutzer-App zur ZusammenarbeitLearn how to build a basic multi-user collaborative app

Vorbereiten der SzenePreparing the scene

In diesem Abschnitt bereiten Sie die Szene vor, indem Sie das Tutorial-Prefab hinzufügen.In this section, you will prepare the scene by adding the tutorial prefab.

Navigieren Sie im Projektfenster zum Ordner Assets > MRTK.Tutorials.MultiUserCapabilities > Prefabs, und ziehen Sie das TableAnchor-Prefab auf das SharedPlayground-Objekt im Hierarchiefenster, um es Ihrer Szene als untergeordnetes Objekt des SharedPlayground-Objekts hinzuzufügen: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:

Unity mit neu hinzugefügtem, ausgewähltem TableAnchor-Prefab

Konfigurieren von PUN zum Instanziieren der ObjekteConfiguring PUN to instantiate the objects

In diesem Abschnitt konfigurieren Sie das Projekt so, dass es die Benutzeroberfläche von Rover-Explorer verwendet, die in den Tutorials mit den ersten Schritten erstellt wurde, und definieren, wo sie instanziiert werden soll.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.

Navigieren Sie im Projektfenster zum Ordner Assets > MRTK.Tutorials.MultiUserCapabilities > Resources.In the Project window, navigate to the Assets > MRTK.Tutorials.MultiUserCapabilities > Resources folder.

Klappen Sie im Hierarchiefenster das NetworkLobby-Objekt auf, wählen Sie das untergeordnete Objekt NetworkRoom aus, und suchen Sie dann im Inspektorfenster die Komponente Photon Room (Script) , um sie wie folgt zu konfigurieren: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:

  • Weisen Sie dem Feld RoverExplorer Prefab das Prefab RoverExplorer_Complete_Variant aus dem Ordner „Resources“ zu.To the Rover Explorer Prefab field, assign the RoverExplorer_Complete_Variant prefab from the Resources folder

Unity mit teilweise konfigurierter Photon Room-Komponente

Klappen Sie im Hierarchiefenster das TableAnchor-Objekt auf, während das untergeordnete Objekt NetworkRoom noch ausgewählt ist, und suchen Sie dann im Inspektorfenster die Komponente Photon Room (Script) , um sie wie folgt zu konfigurieren: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:

  • Weisen Sie dem Feld Rover Explorer Location (Rover-Explorer-Position) das untergeordnete Objekt Table aus dem Hierarchiefenster zu.To the Rover Explorer Location field, assign the TableAnchor > Table child object from the Hierarchy window

Unity mit konfigurierter Photon Room-Komponente

Ausprobieren der Benutzeroberfläche mit geteilter ObjektbewegungTrying the experience with shared object movement

Wenn Sie das Unity-Projekt jetzt für Ihr HoloLens-Gerät erstellen und bereitstellen und anschließend, wieder in Unity, auf die Schaltfläche „Wiedergabe“ drücken, um in den Spielmodus zu wechseln, während die App auf Ihrem HoloLens-Gerät ausgeführt wird, sehen Sie, wie sich das Objekt in Unity bewegt, wenn Sie es in HoloLens bewegen: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:

Animation, die Unity mit vernetzten Objekten zeigt.

Herzlichen Glückwunsch!Congratulations

Sie haben Ihr Projekt erfolgreich so konfiguriert, dass Objektbewegungen synchronisiert werden, damit Benutzer sehen können, wie sich die Objekte bewegen, wenn andere Benutzer sie bewegen.You have successfully configured your project to synchronize object movements so users can see the objects move when other users move them. Im nächsten Tutorial implementieren Sie Funktionen, um die Lösung in der physischen Welt auszurichten.In the next tutorial, you will implement functionality to align the experience in the physical world. Dadurch wird sichergestellt, dass die Benutzer einander an ihrem tatsächlichen physischen Standort sehen, sodass die Objekte für alle Benutzer in der gleichen physischen Position und Drehung angezeigt werden.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.