4. Positionieren von Objekten in der Szene4. Positioning objects in the scene

ÜbersichtOverview

In diesem Tutorial importieren Sie die Medienobjekte für das Tutorial und positionieren die bereitgestellten Objekte in der Szene.In this tutorial, you will import the tutorial assets and position the provided objects in the scene.

ZieleObjectives

  • Erfahren, wie Objekte in der Szene positioniert werdenLearn how to position objects in the scene
  • Erfahren, wie die Rasterobjektsammlung des MRTK verwendet wirdLearn how to use MRTK's Grid Object Collection feature

Importieren der TutorialressourcenImporting the tutorial assets

Laden Sie das folgende benutzerdefinierte Unity-Paket herunter, und importieren Sie es:Download and import the following Unity custom package:

Nach dem Importieren der Tutorialressourcen sollte Ihr Projektfenster ähnlich wie die folgende Abbildung aussehen:After you have imported the tutorial assets your Project window should look similar to this:

Unity-Fenster „Hierarchie“, „Szene“ und „Projekt“ nach dem Importieren der Tutorialressourcen

Tipp

Wenn Sie eine Auffrischung zum Importieren eines benutzerdefinierten Unity-Pakets benötigen, lesen Sie die Anweisungen unter Importieren des MRTK.For a reminder on how to import a Unity custom package, you can refer to the Importing the MRTK instructions.

Erstellen des übergeordneten ObjektsCreating the parent object

Klicken Sie im Hierarchiefenster mit der rechten Maustaste auf eine leere Stelle, und wählen Sie Create Empty (Leer erstellen) aus, um Ihrer Szene ein leeres Objekt hinzuzufügen:In the Hierarchy window, right-click on an empty spot, and select Create Empty to add an empty object to your scene:

Unity-Popupkontextemenü „Create Empty“

Tipp

Um Ihr Szenen- und Spielfenster nebeneinander anzuzeigen, wie in der Abbildung oben dargestellt, ziehen Sie das Spielfenster rechts neben das Szenenfenster.To display your Scene and Game window side by side as shown in the image above, drag the Game window to the right side of the Scene window. Weitere Informationen zum Anpassen Ihres Arbeitsbereichs finden Sie in der Unity-Dokumentation zum Anpassen Ihres Arbeitsbereichs.To learn more about customizing your workspace, you can refer to Unity's Customizing Your Workspace documentation.

Klicken Sie mit der rechten Maustaste auf das neu erstellte Objekt, wählen Sie Umbenennen aus, und ändern Sie den Namen in RoverExplorer:Right-click on the newly created object, select Rename, and change the name to RoverExplorer:

Unity-Popupkontextemenü „Rename“

Konfigurieren Sie bei immer noch ausgewähltem RoverExplorer-Objekt im Inspektorfenster die Komponente Transform (Transformieren) wie folgt:With the RoverExplorer object still selected, in the Inspector window, configure the Transform component as follows:

  • Position: X = 0, Y = -0,6, Z = 2Position: X = 0, Y = -0.6, Z = 2
  • Drehung: X = 0, Y = 0, Z = 0Rotation: X = 0, Y = 0, Z = 0
  • Skalierung: X = 1, Y = 1, Z = 1Scale: X = 1, Y = 1, Z = 1

Unity mit ausgewähltem und positioniertem RoverExplorer-Objekt

Hinweis

Die Kamera stellt den Kopf des Benutzers dar und befindet sich am Ursprung, X = 0, Y = 0, Z = 0.The camera represents the users head and is positioned at origin, X = 0, Y = 0, Z = 0. Im Allgemeinen entspricht 1 Einheit in Unity ungefähr einem Meter in der physischen Umgebung.In general, 1 unit in Unity is roughly 1 meter in the physical world. Es gibt jedoch Ausnahmen, z. B. wenn Objekte untergeordnete Objekte von skalierten Objekten sind.However, there are exceptions to this, for example, when objects are children of scaled objects. Im Szenario oben ist der RoverExplorer 2 Meter vor und 0,6 Meter unterhalb des Kopfs des Benutzers positioniert.In the scenario above, the RoverExplorer is positioned 2 meters in front of and 0.6 meters below the user's head.

Hinzufügen der Prefabs für das TutorialAdding the tutorial prefabs

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

Unity-Projektfenster mit ausgewähltem Ordner „Prefabs“

Tipp

Ein Prefab ist ein vorkonfiguriertes GameObject, das als Unity-Ressource gespeichert ist und durchgängig im Projekt verwendet werden kann.A prefab is a pre-configured GameObject stored as a Unity Asset and can be reused throughout your project.

Klicken Sie im Projektfenster auf das Table-Prefab (Tabelle), und ziehen Sie es aus dem Projektfenster auf das RoverExplorer-Objekt, um es zu einem untergeordneten Objekt des RoverExplorer-Objekts zu machen. Konfigurieren Sie dann im Inspektorfenster die Komponente Transform (Transformieren) wie folgt:From the Project window, click-and-drag the Table prefab on to the RoverExplorer object to make it a child of the RoverExplorer object, then in the Inspector window, configure the Transform component as follows:

  • Position: X = 0, Y = -0,005, Z = 0Position: X = 0, Y = -0.005, Z = 0
  • Drehung: X = 0, Y = 0, Z = 0Rotation: X = 0, Y = 0, Z = 0
  • Skalierung: X = 1,2, Y = 0,01, Z = 1.2Scale: X = 1.2, Y = 0.01, Z = 1.2

Unity mit neu hinzugefügtem, ausgewähltem und positioniertem Table-Prefab

Tipp

Um Ihre Szene so anzuzeigen, wie Sie in der Abbildung oben dargestellt ist, verwenden Sie den Scene Gizmo, der sich in der oberen rechten Ecke des Szenenfensters befindet, um den Betrachtungswinkel so anzupassen, dass er entlang der vorwärtsgerichteten Z-Achse verläuft, doppelklicken Sie auf das MixedRealityPlayspace-Objekt, um den Fokus auf die Kamera zu legen, und zoomen Sie nach Bedarf herein.To display your scene as shown in the image above, use the Scene Gizmo, located in the top right corner of the Scene window, to adjust the viewing angle to be along the forward Z axis, double-click the MixedRealityPlayspace object to focus on the camera, and zoom in as needed.

Klicken Sie im Projektfenster auf das RoverAssembly-Prefab, und ziehen Sie es auf das RoverExplorer-Objekt, um es zu einem untergeordneten Objekt des RoverExplorer-Objekts zu machen. Konfigurieren Sie dann im Inspektorfenster die Komponente Transform (Transformieren) wie folgt:From the Project window, click-and-drag the RoverAssembly prefab on to the RoverExplorer object to make it a child of the RoverExplorer object, then in the Inspector window, configure the Transform component as follows:

  • Position: X = -0,1, Y = 0, Z = 0Position: X = -0.1, Y = 0, Z = 0
  • Drehung: X = 0, Y = -135, Z = 0Rotation: X = 0, Y = -135, Z = 0
  • Skalierung: X = 1, Y = 1, Z = 1Scale: X = 1, Y = 1, Z = 1

Unity mit neu hinzugefügtem, ausgewähltem und positioniertem RoverAssembly-Prefab

Organisieren von Objekten in einer SammlungOrganizing objects in a collection

Klicken Sie im Hierarchiefenster mit der rechten Maustaste auf das RoverExplorer-Objekt, und wählen Sie Create Empty (Leer erstellen) aus, um ein leeres Objekt als untergeordnetes Objekt des RoverExplorers hinzuzufügen, benennen Sie das Objekt RoverParts, und konfigurieren Sie die Komponente Transform (Transformieren) wie folgt:In the Hierarchy window, right-click on the RoverExplorer object and select Create Empty to add an empty object as a child of the RoverExplorer, name the object RoverParts, and configure the Transform component as follows:

  • Position: X = 0, Y = 0,06, Z = 0Position: X = 0, Y = 0.06, Z = 0
  • Drehung: X = 0, Y = 90, Z = 0Rotation: X = 0, Y = 90, Z = 0
  • Skalierung: X = 1, Y = 1, Z = 1Scale: X = 1, Y = 1, Z = 1

Unity mit neu erstelltem, ausgewähltem und positioniertem RoverParts-Objekt

Wählen Sie im Hierarchiefenster mithilfe von „RoverExplorer > RoverAssembly > RoverModel > Parts“ (...> Teile) alle untergeordneten Objekte aus, klicken Sie mit der rechten Maustaste darauf, und wählen Sie Duplicate (Duplizieren) aus, um eine Kopie aller Teile zu erstellen:In the Hierarchy window, select all the RoverExplorer > RoverAssembly > RoverModel > Parts child objects, right-click on them and select Duplicate to create a copy of each of the parts:

Unity mit allen Teilen ausgewählt und Popupkontextmenü „Duplicate“

Tipp

Um mehrere angrenzende Objekte auszuwählen, drücken Sie die UMSCHALTTASTE, und halten Sie sie gedrückt, während Sie die Maus verwenden, um das erste und das letzte Objekt auszuwählen.To select multiple adjacent objects, press-and-hold the SHIFT key while using the mouse to select the first and last object.

Klicken Sie auf die noch ausgewählten neu duplizierten untergeordneten Teileobjekte, und ziehen Sie sie auf das RoverParts-Objekts, um sie als untergeordnete Objekte des RoverParts-Objekts festzulegen:With the newly duplicated Parts child objects still selected, click-and-drag them on to the RoverParts object to make them child objects of the RoverParts object:

Unity mit neu duplizierten Teilen als untergeordnete Elemente des RoverParts-Objekts

Um das Arbeiten mit Ihrer Szene zu vereinfachen, klicken Sie im Hierarchiefenster auf das Augensymbol links neben dem Objekt, um die Scene Visibility (Sichtbarkeit in der Szene) für das RoverAssembly-Objekt auszuschalten.To make it easier to work with your scene, in the Hierarchy window, click the eye icon to the left of the object to toggle the scene visibility for the RoverAssembly object off. Dadurch wird das Objekt im Szenenfenster ausgeblendet, ohne Auswirkungen auf seine Sichtbarkeit im Spiel:This hides the object in the Scene window without changing its in-game visibility:

Unity mit deaktivierter Sichtbarkeit der RoverAssembly-Szene

Tipp

Mehr zu den Steuerelementen für die Sichtbarkeit in der Szene und ihre Verwendung zum Optimieren Ihrer Szenenansicht und Ihres Workflows finden Sie in der Unity-Dokumentation zu Scene Visibility (Sichtbarkeit in der Szene).To learn more about the Scene Visibility controls and how you can use them to optimize your scene view and workflow, you can refer to Unity's Scene Visibility documentation.

Bereinigen Sie im Hierarchiefenster die Namen der untergeordneten RoverParts-Objekte, indem Sie die angefügte (1) durch _Part ersetzen:In the Hierarchy window, clean up the RoverParts child objects' names by replacing the appended (1) with _Part:

Unity mit bereinigtem Namen duplizierter Teile

Wählen Sie im Hierarchiefenster das RoverParts-Objekt aus, klicken Sie dann im Inspektorfenster auf die Schaltfläche Add Component (Komponente hinzufügen), suchen Sie nach GridObjectCollection, und wählen Sie sie aus, um die GridObjectCollection-Komponente zum RoverParts-Objekt hinzuzufügen:In the Hierarchy window, select the RoverParts object, then in the Inspector window, click the Add Component button, and search for and select GridObjectCollection to add the GridObjectCollection component to the RoverParts object:

Unity-Objekt „RoverParts“ mit dem Hinzufügen der Komponente „Grid Object Collection“ in Bearbeitung

Konfigurieren Sie die Werte der GridObjectCollection-Komponente wie folgt:Configure the GridObjectCollection component values as follows:

  • Sortierungstyp: AlphabetischSort Type: Alphabetic
  • Layout: HorizontalLayout: Horizontal
  • Zellenbreite: 0,25Cell Width: 0.25
  • Abstand vom übergeordneten Element: 0,38Distance from parent: 0.38

Unity mit konfigurierter GridObjectCollection-Komponente

Klicken Sie dann auf die Schaltfläche Update Collection (Sammlung aktualisieren), um die Position der untergeordneten RoverParts-Objekte zu aktualisieren:Then click the Update Collection button to update the position of the RoverParts child objects:

Unity mit angewendeter GridObjectCollection-Komponente

Herzlichen Glückwunsch!Congratulations

In diesem Tutorial haben Sie gelernt, wie Objekte relativ zum Benutzer in der Szene positioniert werden und wie das Feature Rasterobjektsammlung des MRTK verwendet wird, um Objekte in einer Sammlung zu organisieren.In this tutorial, you learned how to position objects in the scene relative to the user and use MRTK's Grid Object Collection feature to organize objects in a collection.

Nächstes Tutorial: 5. Erstellen dynamischer Inhalte mithilfe von SolvernNext Tutorial: 5. Creating dynamic content using Solvers