Unity Tutorial deutsch Teil 4

Unity Tutorial deutsch – Unity GameObjects erstellen (4/10)

Gefällt Dir der Artikel? Dann teile ihn doch, um diese Informationen auch anderen zugänglich zu machen!

Seiteninhalt

Nachdem du im letzten Teil des Unity Tutorials die Benutzeroberfläche von Unity kennengelernt hast, möchte ich dir eine weitere wichtige Grundlage erklären. Es geht um die GameObjects in Unity. Ich zeige dir, was GameObjects sind und warum sie so wichtig sind. Du lernst außerdem, wie du GameObjects erstellst, verwaltest und manipulierst, um so die Grundlage für dein Unity-Projekt zu legen. Lass uns gleich starten und mehr darüber erfahren, wie du diese GameObjects erstellst.

Was sind Unity GameObjects?

In der Welt der Spiele- und Anwendungsentwicklung sind GameObjects die grundlegenden Bausteine eines jeden Unity-Projektes. Sie repräsentieren Objekte in deiner Szene, die sichtbar (Character) oder unsichtbar (Collider) sein können. Aber was genau sind GameObjects?

Ein GameObject ist eine virtuelle Entität oder vereinfacht gesagt ein Objekt in deiner Szene. Diese Objekte können eine Vielzahl von Dingen darstellen, von 3D-Modellen bis hin zu unsichtbaren Controllern und Trigger. Sie stellen Container für Komponenten dar, die das Verhalten und die Eigenschaften des Objekts definieren. Jedes GameObject kann somit verschiedene Komponenten wie Skripte, ein Material oder einen unsichtbaren Collider für eine Kollisionserkennung beinhalten. Kurz gesagt, GameObjects repräsentieren alles, was in der Szene vorhanden ist.

Ein weiteres wichtiges Merkmal von GameObjects ist die hierarchische Struktur. Sie lassen sich in einer Baumstruktur organisieren, wobei einige GameObjects übergeordnet (Eltern) und andere untergeordnet (Kinder) sein können. Das ermöglicht die Erstellung komplexer Szenen, in denen GameObjects miteinander interagieren.

In diesem Teil des Tutorials werfen wir einen genauen Blick auf GameObjects. Du lernst Schritt-für-Schritt, wie sie in Unity erstellt, angepasst und verwendet werden. So erfährst du ihre Rolle in der Szene, was dir eine solide Grundlage für die Entwicklung deiner Anwendungen bietet.

Hinweis: Mit dem ultimativen Unity Cheat Sheet erhältst du einen detaillierten Überblick über Tipps & Tricks mit dem Umgang von Unity. Sichere dir jetzt das Cheat Sheet, um deine Anwendungen noch einfacher und effektiver erstellen zu können!

Warum sind GameObjects wichtig?

Die Bedeutung von GameObjects kann nicht genug betont werden, da sie das grundlegende Element sind, auf dem jedes Spiel und jede Anwendung aufbaut. Hier sind einige Aspekte, die verdeutlichen, warum GameObjects so wichtig sind.

Vielseitigkeit und Flexibilität: GameObjects sind äußerst vielseitig und flexibel. Sie können eine breite Palette von Entitäten repräsentieren. Sei es ein sichtbares 3D-Modell eines Charakters, eines Gebäudes oder eines Objekts in der Spielwelt. Oder aber auch unsichtbare Elemente wie Trigger, Logik-Controller oder Marker. Das ermöglicht die Darstellung jedes Elements in der Szene.

Hierarchische Struktur: Ein entscheidender Vorteil von GameObjects ist ihre Fähigkeit zur Organisation in einer hierarchischen Struktur. Ein GameObject kann übergeordnet (Eltern) oder untergeordnet (Kind) sein. Durch diese hierarchische Anordnung ist es möglich, komplexe Szenen zu erstellen, in denen GameObjects miteinander interagieren. Beispielsweise kann ein Character-GameObject viele Kind-GameObjects für verschiedene Körperteile (Kopf, Torso, Arme usw.) beinhalten.

Komponenten und Eigenschaften: GameObjects sind Container für Komponenten, welche das Verhalten und die Eigenschaften definieren. Das kann Skripte, Modelle, Texturen, Lichtquellen, Soundeffekte und vieles mehr umfassen. Indem du Komponenten zu GameObjects hinzufügst oder entfernst, lässt sich das Verhalten und die Darstellung verändern.

Interaktivität und Spiellogik: Sie sind das Bindeglied zwischen der visuellen Darstellung der Szene und der dahinterliegenden Logik. So ist es möglich, Interaktionen zu erstellen, Benutzereingaben zu verarbeiten und komplexe Spielmechaniken zu implementieren. Zum Beispiel kann ein Button-GameObject auf Benutzerklicks reagieren und eine Aktion auslösen. Oder ein Gegner-GameObject kann kollidieren und auf Treffer reagieren.

GameObjects sind die Grundlage für die Entwicklung in Unity, da sie die visuelle und logische Ebene miteinander verknüpfen. Das Zusammenspiel mit Komponenten ist entscheidend für die effektive Gestaltung von Szenen und die Umsetzung von Spiel- und Anwendungsideen in Unity.

Erstellen und Verwalten von GameObjects

Das Erstellen und Verwalten von GameObjects sind grundlegende Schritte in der Unity-Engine. Sie bilden die Bausteine für deine Anwendungen. In diesem Abschnitt möchte ich dir im Detail erklären, wie du neue GameObjects erstellst. Wir werden uns außerdem die Verwaltung in der Hierarchie und die Positionierung von GameObjects ansehen. Starten wir gleich mit der Erstellung von neuen GameObjects.

Das Erstellen von GameObjects

Um ein neues GameObject zu erstellen, musst du zunächst dein Unity-Projekt und die entsprechende Szene öffnen. Im Anschluss gibt es unterschiedliche Möglichkeiten für die Erstellung von GameObjects.

  1. Klicke in der Hierarchie auf das +, um ein neues GameObject hinzuzufügen. Im Anschluss öffnet sich ein Menü, in dem du verschiedene Objekte auswählen kannst. Dabei gibt es unter anderem die Kategorie 3D Object, wo du Objekte wie einen Würfel, einen Zylinder oder auch ein Terrain erstellen kannst. Unter der Kategorie Light findest du zum Beispiel unterschiedliche Lichtquellen. Über Create Empty besteht ebenso die Möglichkeit, ein komplett leeres GameObject ohne jegliche Komponente zu erstellen.

GameObject über Hierarchie erstellen

  1. Eine weitere Möglichkeit ist das Hierarchie-Fenster, in dem alle GameObjects der Szene aufgelistet sind. Um ein neues GameObject hinzuzufügen, klicke mit der rechten Maustaste in das Hierarchie-Fenster und wähle Create Empty für ein leeres GameObject. Hier kannst du aber auch 3D Objects oder Lights erstellen.

  2. Außerdem kannst du über das Menü in der oberen Leiste GameObjects erstellen. Navigiere dazu auf GameObjects und wähle im Anschluss die Art von Objekt aus, welches du erstellen möchtest.

Erstelle dir am besten einen Würfel als GameObject. Wähle dazu 3D Object → Cube, um ein solches GameObject zu erstellen. Wir wollen es im Anschluss in der Szene entsprechend platzieren. Bevor wir darauf eingehen, sehen wir uns aber noch die Hierarchie genauer an.

Die Hierarchie von Unity GameObjects

Die Hierarchie von GameObjects ist ein Schlüsselkonzept in Unity und spielt eine entscheidende Rolle bei der Organisation und Verwaltung deiner Szene. In diesem Abschnitt werden wir uns kurz mit der Hierarchie befassen.

Sie stellt eine Auflistung aller GameObjects dar. Diese Liste ist im Hierarchie-Fenster sichtbar und bietet eine hierarchische Ansicht der GameObjects. Das bedeutet, dass GameObjects in einer Baumstruktur organisiert sind, wobei einige GameObjects übergeordnet (Eltern) und andere untergeordnet (Kinder) sein können.

GameObjects in der Hierarchie

Eine der wichtigsten Funktionen der Hierarchie ist die Möglichkeit, Eltern-Kind-Beziehungen zwischen GameObjects herzustellen. Das bedeutet, dass ein GameObject (Kind) einem anderen GameObject (Eltern) untergeordnet sein kann. Wenn du ein Eltern-GameObject verschiebst, wirkt sich das auf alle untergeordeten Objekte aus.

In der oberen Abbildung ist zum Bespiel das GameObject WoodBox_01 ein Kind-GameObject von NightStands. Und dieses wiederrum von Bed Area. Die Szene in der unteren Abbildung stellt einen Raum dar, der in verschiedene Bereiche unterteilt ist. Durch die Unterteilung findet somit eine Organisation der einzelnen Objekte in der Szene statt.

Bed Area in Szene

Wenn wir auf die obere Darstellung blicken, so ist das GameObject Bed Area markiert. Dieses umfasst das Bett, die Nachttische und weitere Assets wie die Lampen. Wird nun die Position, Rotation oder Skalierung von Bed Area verändert, so verändern sich in gleichem Maße alle darunterliegenden Objekte. Damit erfolgt nicht nur eine saubere Organisation der Szene, sondern es ist auch einfacher, einzelne Bereiche anzupassen.

Da du nun weißt, wie man Unity GameObjects erstellt und sie organisiert, werfen wir noch einen Blick auf das Verschieben, Rotieren und Skalieren dieser Objekte…

Verschieben, Rotieren und Skalieren von GameObjects

Das Verschieben, Rotieren und Skalieren von GameObjects sind Transformationen, die du in Unity anwenden kannst. Dadurch veränderst du die Position, Ausrichtung und Größe der GameObjects. Starten wir gleich damit, wie du sie verschieben kannst.

Hinweis: Mit dem ultimativen Unity Cheat Sheet erhältst du einen detaillierten Überblick über Tipps & Tricks mit dem Umgang von Unity. Sichere dir jetzt das Cheat Sheet, um deine Anwendungen noch einfacher und effektiver erstellen zu können!

Verschiebung von GameObjects

Durch das Verschieben eines GameObjects veränderst du die Position in der Szene. Dafür gibt es unterschiedliche Möglichkeiten.

Transform-Tool: Sobald du das Objekt in der Hierarchie selektierst und das Move-Tool wählst, erscheinen am Objekt drei Pfeile. Das sind die 3 Koordinatenachsen zur Änderung der Position. Selektiere und halte einen Pfeil gedrückt, um das GameObject in eine bestimmte Richtung zu verschieben. (Tipp: Halte die Strg-Taste gedrückt, um es in einem Raster zu verschieben)

Move-Tool (Positionierung) in Unity

Inspector: Du kannst die X, Y und Z-Werte unter Position im Inspector ändern, um die Positionierung des GameObjects festzulegen. Dafür gibt es die Transform-Komponente, die du in der nachfolgenden Abbildung erkennst. (Tipp: Um das GameObject in den globalen Nullpunkt zu setzen, klicke auf die 3 Punkte bei der Transform-Komponente und wähle Reset.)

Transform Komponente (Positionierung) in Unity

Scripting: Du kannst auch C#-Skripte verwenden, um die Position eines GameObjects zu ändern. Das ist besonders für Animationen und komplexe Bewegungslogiken nützlich. Im nachfolgenden Skript ist ein einfaches Beispiel dargestellt. Mit dem MoveObject Skript wird eine neue Position eines Objektes festgelegt. Wenn du mehr zu C# wissen möchtest, findest du hier ein ausführliches Tutorial.

				
					using UnityEngine;

public class MoveObject : MonoBehaviour
{
    private Transform objectTransform;

    private void Start()
    {
        // Initialisiere die Transform-Referenz
        objectTransform = GetComponent<Transform>();
    }

    private void Update()
    {
        // Setze die neue Position des GameObjects
        Vector3 newPosition = new Vector3(5f, 4f, 5f);

        // Neue Zielposition anwenden
        objectTransform.position = newPosition;
    }
}
				
			

Rotation von GameObjects

Die Rotation ändert die Ausrichtung eines GameObjects. Du kannst GameObjects um die X, Y und Z-Achsen drehen, um die Blickrichtung oder den Winkel anzupassen. Auch hierzu gibt es unterschiedliche Wege.

Transform-Tool: Dabei kannst du ebenso das Move-Tool verwenden. Jedoch verwendest du anstatt die Hand die beiden rotierenden Pfeile. In der Scene-View erscheinen beim ausgewählten GameObject nun keine Koordinatenachsen, sondern Kreislinien. Darüber kannst du die Ausrichtung des Objektes verändern.

Move-Tool (Rotation) in Unity

Inspector: Du kannst die X, Y und Z-Werte unter Rotation im Inspector ändern, um die Ausrichtung des GameObjects festzulegen. Die Werte bei X definieren beispielsweise die Ausrichtung um die x-Achse.

Transform Komponente (Rotation) in Unity

Scripting: Auch hier besteht die Möglichkeit die Ausrichtung über ein Skript zu verändern. Mit dem RotateObject Skript wird genau das durchgeführt. Zunächst wird die Referenz zur Transform-Komponente gesetzt. Und im Anschluss wird die Ausrichtung um die y-Achse angepasst.

				
					using UnityEngine;

public class RotateObject : MonoBehaviour
{
    private Transform objectTransform;

    private void Start()
    {
        // Initialisiere die Transform-Referenz
        objectTransform = GetComponent<Transform>();
    }

    private void Update()
    {
        // Setze die neue Rotation des GameObjects als Quaternion
        Quaternion newRotation = Quaternion.Euler(0f, 45f, 0f);

        // Neue Zielrotation anwenden
        objectTransform.rotation = newRotation;
    }
}
				
			

Skalierung von GameObjects

Die Skalierung verändert die Größe eines GameObjects. Du kannst GameObjects vergrößern oder verkleinern, um die Darstellung in deiner Szene anzupassen. Das ist besonders nützlich, um Modelle in der Größe anzupassen oder um verschiedene Größenverhältnisse zu erzielen.

Transform-Tool: Die erste Möglichkeit ist die Verwendung des Move-Tools. Wähle hierzu das in der nachfolgenden Abbildung dargestellte Symbol. In der Scene-View siehst du anschließend 3 Koordinatenachsen. Sie definieren die Richtung, in der du die Skalierung ausführen möchtest. Mit der Auswahl in der Mitte skalierst du das GameObject in alle Richtungen gleich.

Move-Tool (Skalierung) in Unity

Inspector: Du kannst die X, Y und Z-Werte unter Scale im Inspector ändern, um die Skalierung des GameObjects anzupassen. Die Werte bei X definieren beispielsweise die Skalierung in x-Richtung.

Transform Komponente (Skalierung) in Unity

Scripting: Ebenso ist es über ein Skript möglich eine Skalierung durchzuführen. Mit dem ScaleObject Skript kannst du bestimmte Objekte skalieren. Im nachfolgenden Skript wird beispielsweise das GameObject, an dem das Skript hängt, in alle Richtungen um 2 skaliert.

				
					using UnityEngine;

public class ScaleObject : MonoBehaviour
{
    private Transform objectTransform;

    private void Start()
    {
        // Initialisiere die Transform-Referenz
        objectTransform = GetComponent<Transform>();
    }

    private void Update()
    {
        // Setze die neue Skalierung des GameObjects
        Vector3 newScaling = new Vector3(2f, 2f, 2f);

        // Neue Skalierung anwenden
        objectTransform.transform.localScale = newScaling;
    }
}
				
			

In diesem Teil des Unity Tutorials hast du einen umfassenden Einblick in die Unity GameObjects erhalten. Sie dienen hauptsächlich als Container. Die wirkliche Funktionalität wird im Anschluss über Komponenten umgesetzt. Und genau das werden wir uns im nächsten Teil ansehen.

Hinweis: Du willst in der 3D-Entwicklung durchstarten? Dann teste jetzt nobreakpoints Pro. Dort lernst du in zahlreichen Online-Kursen und Workshops alle nötigen Skills.

Free

Trial

Keine Extra-Kosten.
Unverbindlich testen.

Bereit, deinen Weg in die 3D-Entwicklung zu starten?

Gefällt Dir der Artikel? Dann teile ihn doch, um diese Informationen auch anderen zugänglich zu machen!

Weitere Blogartikel

Bereit, deinen Weg in die 3D-Entwicklung zu starten?

Lerne in Rekordzeit alle nötigen Skills für Game Development, VR und AR – praxisnah und flexibel in deinem Tempo!

Suche

Bereit, deinen Weg in die 3D-Entwicklung zu starten?

Lerne in Rekordzeit alle nötigen Skills für Game Development, VR und AR – praxisnah und flexibel in deinem Tempo!