3. Verbinden mehrerer Benutzer3. Connecting multiple users

In diesem Tutorial lernen Sie, wie Sie mehrere Benutzer im Rahmen einer freigegebenen Live-Benutzererfahrung verbinden.In this tutorial, you will learn how to connect multiple users as part of a live shared experience. Am Ende des Tutorials können Sie die App auf mehreren Geräten ausführen, und jedem Benutzer wird der bewegte Avatar anderer Benutzer in Echtzeit angezeigt.By the end of the tutorial, you will be able to run the app on multiple devices and have each user see the avatar of other users move in real-time.

ZieleObjectives

  • Erlernen des Verbindens mehrerer Benutzer in einer freigegebenen UmgebungLearn how to connect multiple users in a shared experience

Vorbereiten der SzenePreparing the scene

In diesem Abschnitt bereiten Sie die Szene vor, indem Sie einige der Tutorial-Prefabs hinzufügen.In this section, you will prepare the scene by adding some of the tutorial prefabs.

Navigieren Sie im Projektfenster zum Ordner Assets > MRTK.Tutorials.MultiUserCapabilities > Prefabs, klicken Sie auf die folgenden Prefabs, und ziehen Sie sie dann in das Hierarchiefenster, um sie Ihrer Szene hinzuzufügen:In the Project window, navigate to the Assets > MRTK.Tutorials.MultiUserCapabilities > Prefabs folder, then click-and-drag the following prefabs into the Hierarchy window to add them to your scene:

  • NetworkLobby-PrefabNetworkLobby prefab
  • SharedPlayground-PrefabSharedPlayground prefab

Unity mit neu hinzugefügten, ausgewählten NetworkLobby- und SharedPlayground-Prefabs

Navigieren Sie im Projektfenster zum Ordner Assets > MRTK.Tutorials.AzureSpatialAnchors > Prefabs, klicken Sie auf das folgende Prefab, und ziehen Sie es in das Hierarchiefenster, um es Ihrer Szene hinzuzufügen:In the Project window, navigate to the Assets > MRTK.Tutorials.AzureSpatialAnchors > Prefabs folder, then click-and-drag the following prefab into the Hierarchy window to add it to your scene:

  • DebugWindow-PrefabDebugWindow prefab

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

Erstellen des BenutzerprefabsCreating the user prefab

In diesem Abschnitt erstellen Sie ein Prefab, das verwendet wird, um auf der freigegebenen Benutzeroberfläche die Benutzer darzustellen.In this section, you will create a prefab that will be used to represent the users in the shared experience.

1. Erstellen und Konfigurieren des Benutzers1. Create and configure the user

Klicken Sie im Hierarchiefenster mit der rechten Maustaste auf einen leeren Bereich, wählen Sie Create Empty (Leer erstellen) aus, um Ihrer Szene ein leeres Objekt hinzuzufügen, benennen Sie das Objekt PhotonUser, und konfigurieren Sie es folgendermaßen:In the Hierarchy window, right-click on an empty area and select Create Empty to add an empty object to your scene, name the object PhotonUser, and configure it as follows:

  • Vergewissern Sie sich, dass die Transformationsposition auf X = 0, Y = 0, Z = 0 festgelegt ist:Ensure the Transform Position is set to X = 0, Y = 0, Z = 0:

Unity mit neu erstelltem, ausgewähltem PhotonUser-Objekt

Wählen Sie im Hierarchiefenster das PhotonUser-Objekt aus, und verwenden Sie dann im Inspektor-Fenster die Schaltfläche Add Component (Komponente hinzufügen), um dem PhotonUser-Objekt die Komponente Photon User (Script) hinzuzufügen:In the Hierarchy window, select the PhotonUser object, then in the Inspector window, use the Add Component button to add the Photon User (Script) component to the PhotonUser object:

Unity mit hinzugefügter Photon User-Komponente

Verwenden Sie im Inspektorfenster die Schaltfläche Add Component (Komponente hinzufügen), um dem PhotonUser-Objekt die Komponente Generic Net Sync (Script) hinzuzufügen, und konfigurieren Sie sie wie folgt:In the Inspector window, use the Add Component button to add the Generic Net Sync (Script) component to the PhotonUser object and configure it as follows:

  • Aktivieren Sie das Kontrollkästchen Is User (Ist Benutzer)Check the Is User checkbox

Unity mit hinzugefügter und konfigurierter Generic Net Sync-Komponente

Verwenden Sie im Inspektorfenster die Schaltfläche Add Component (Komponente hinzufügen), um dem PhotonUser-Objekt die Komponente Photon View (Script) hinzuzufügen, und konfigurieren Sie sie wie folgt:In the Inspector window, use the Add Component button to add the Photon View (Script) component to the PhotonUser object and configure it as follows:

  • Weisen Sie die Komponente Generic Net Sync (Script) dem Feld Observed Components (Beobachtete Komponenten) zu.To the Observed Components field, assign the Generic Net Sync (Script) component

Unity mit hinzugefügter und konfigurierter Photon View-Komponente

2. Erstellen des Avatars2. Create the avatar

Navigieren Sie im Projektfenster zum Ordner Assets > MRTK > SDK > StandardAssets > Materials, um nach den MRTK-Materialien zu suchen.In the Project window, navigate to the Assets > MRTK > SDK > StandardAssets > Materials folder to locate the MRTK materials.

Klicken Sie dann im Hierarchiefenster mit der rechten Maustaste auf das PhotonUser-Objekt, wählen Sie 3D Object > Sphere (3D-Objekt > Kugel) aus, um ein Kugelobjekt als untergeordnetes Objekt des PhotonUser-Objekts zu erstellen, und konfigurieren Sie es folgendermaßen:Then, in the Hierarchy window, right-click on the PhotonUser object and select 3D Object > Sphere to create a sphere object as a child of the PhotonUser object and configure it as follows:

  • Vergewissern Sie sich, dass die Transformationsposition auf X = 0, Y = 0, Z = 0 festgelegt istEnsure the Transform Position is set to X = 0, Y = 0, Z = 0
  • Ändern Sie den Transformationsmaßstab auf eine passende Größe beispielsweise X = 0,15, Y = 0,15, Z = 0,15Change the Transform Scale to a suitable size, for example, X = 0.15, Y = 0.15, Z = 0.15
  • Weisen Sie dem Feld „MeshRenderer > Materials > Element 0“ das Material MRTK_Standard_White zu.To the MeshRenderer > Materials > Element 0 field, assign the MRTK_Standard_White material

Unity mit neu erstellter und konfigurierter Avatar-Kugel

3. Erstellen der Prefab3. Create the prefab

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

Unity-Projektfenster mit ausgewähltem Ordner „Ressource“

Klicken und ziehen Sie bei noch ausgewähltem Ordner „Resources“ das PhotonUser-Objekt aus dem Hierarchiefenster in den Resources-Ordner, um aus dem PhotonUser-Objekt ein Prefab zu machen:With the Resources folder still selected, click-and-drag the PhotonUser object from the Hierarchy window into the Resources folder to make the PhotonUser object a prefab:

Unity mit neu erstelltem, ausgewähltem PhotonUser-Prefab

Klicken Sie im Hierarchiefenster mit der rechten Maustaste auf das PhotonUser-Objekt, und wählen Sie Löschen aus, um es aus der Szene zu entfernen:In the Hierarchy window, right-click on the PhotonUser object and select Delete to remove it from the scene:

Unity mit neu erstelltem, aus der Szene entferntem PhotonUser-Prefab-Objekt

Konfigurieren von PUN zum Instanziieren des BenutzerprefabsConfiguring PUN to instantiate the user prefab

In diesem Abschnitt konfigurieren Sie das Projekt für die Verwendung des PhotonUser-Prefabs, das Sie im vorherigen Abschnitt erstellt haben.In this section, you will configure the project to use the PhotonUser prefab you created in the previous section.

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 das PhotonUser-Prefab aus dem Ordner „Resources“ dem Photon User Prefab-Feld zuTo the Photon User Prefab field, assign the PhotonUser prefab from the Resources folder

Unity mit teilweise konfigurierter Photon Room-Komponente

Ausprobieren der Benutzeroberfläche mit mehreren BenutzernTrying the experience with multiple users

Wenn Sie das Unity-Projekt jetzt für Ihr HoloLens-Gerät erstellen und bereitstellen und zurück in Unity in den Spielmodus wechseln, während die App auf Ihrem HoloLens-Gerät ausgeführt wird, sehen Sie, wie sich der HoloLens-Benutzeravatar bewegt, wenn Sie Ihren Kopf (HoloLens) bewegen:If you now build and deploy the Unity project to your HoloLens, then, back in Unity, enter Game mode while the app is running on your HoloLens, you will see the HoloLens user avatar move when you move your head (HoloLens) around:

Animation, die Unity mit vernetzten Benutzern zeigt.

Tipp

Falls Sie eine Auffrischung zum Erstellen und Bereitstellen Ihres Unity-Projekts auf HoloLens 2 benötigen, lesen Sie die Anweisungen unter Erstellen Ihrer App auf dem HoloLens 2-Gerät.For a reminder on how to build and deploy your Unity project to HoloLens 2, you can refer to the Building your app to your HoloLens 2 instructions.

Achtung

Die App muss eine Verbindung mit Photon herstellen, achten Sie also darauf, dass Ihr Computer/Gerät mit dem Internet verbunden ist.The app needs to connect to Photon, so make sure your computer/device is connected to the internet.

Herzlichen Glückwunsch!Congratulations

Sie haben Ihr Projekt erfolgreich so konfiguriert, dass es mehreren Benutzern ermöglicht, Verbindungen mit der gleichen Benutzeroberfläche herzustellen und die Bewegungen der anderen Teilnehmer zu sehen.You have successfully configured your project to allow multiple users to connect to the same experience and see each other's movements. Im nächsten Tutorial implementieren Sie die Funktionalität zum Teilen der Bewegungen von Objekten unter mehreren Geräten.In the next tutorial, you will implement functionality so that the movements of objects are also shared across multiple devices.