Unity – Was ist ein GameObject?

Einführung

GameObjects sind Entitäten, die wir in Unity-Szenen platzieren können, jedes Spielobjekt nimmt einen Platz in der Hierarchie ein.

Im Bereich der Programmierung ist GameObject eine programmierung Klasse


Grundlegende Eigenschaften eines Spielobjekts

Lassen Sie uns sehen, was die grundlegenden Funktionen und Komponenten eines leeren Spielobjekts sind, das das allgemeinste ist, das wir in einer Unity-Szene hinzufügen können.

Nehmen wir an, dass wir ein leeres Spielobjekt in der Szene “Objekt1” haben, mit diesem Spielobjekt werden wir exemplarisch zeigen, wie man auf seine Komponenten zugreifen kann.

Komponente Transform

Spielobjekte haben mindestens eine Transform-Komponente, die ihre Position, Drehung und Skalierung in der Szene anzeigt.

Wir können auf die Referenz Ihrer Transform-Komponente mit dem Punktoperator wie folgt zugreifen:

objekt1.transform

Wenn wir auf den Vector3 zugreifen wollten, der die Position des Spielobjekts in der Szene wiedergibt, verwenden wir den Operatorpunkt wie folgt:

objekt1.transform.position

Wenn wir auf den Float zugreifen wollten, der die “y”-Komponente der Position des Objekts in der Szene repräsentiert, können wir Folgendes tun:

objekt1.transform.position.y

Das Gleiche gilt für die anderen Elemente der Transform-Komponente.

objekt1.transform.rotation

objekt1.transform.scale

Tags oder Etiketten

Einem Spielobjekt ist ein Tag zugeordnet, mit dem Sie es von anderen Spielobjekten in der Szene unterscheiden, es mit diesem Tag auflisten oder eine Funktion ausführen können, wenn dem Objekt ein bestimmtes Tag zugeordnet ist.

Layers oder Ebenen

Layers werden Spielobjekten zugewiesen und zwar auf die gleiche Weise, wie Tags es uns ermöglichen, sie aufzulisten und Aktionen durchzuführen, wenn das Spielobjekt zu einer bestimmten Ebene gehört.

Eine interessantere Anwendung von Layern ist das Rendern von Spielobjekten. Wir können mehrere Kameras in der Szene konfigurieren und jede Kamera eine oder mehrere bestimmte Ebenen aufnehmen lassen.

GetComponent Methode

Diese Methode ermöglicht es, die Referenz einer Komponente eines bestimmten Typs zu erhalten, die dem Spielobjekt zugeordnet ist.

Angenommen, unser Objekt heißt “objekt1” und erhält eine Komponente vom Typ AudioSource, weil es eine Art Ton abgibt, dann möchten wir auf diese Komponente zugreifen und vielleicht die Lautstärke ändern. Wir können diese Methode wie folgt verwenden:

objekt1.GetComponent<AudioSource>();

Dadurch erhalten wir die ihr zugeordnete AudioSource-Referenz. Wenn das Spielobjekt mehr als eine solche Komponente hat, können wir Folgendes tun:

objekt1.GetComponents<AudioSource>();

Dies gibt ein Array zurück, das alle Komponenten dieses Typs enthält, die das Objekt ihm zugeordnet hat.

SetActive Methode

Diese Methode ermöglicht es uns, das Spielobjekt in der Hierarchie zu aktivieren oder zu deaktivieren, das Ergebnis ist äquivalent zum Markieren oder Entfernen der Tilde, die sich oben im Inspektor befindet, wenn das Objekt ausgewählt wird.

Para activarlo hacemos:

objekt1.SetActive(true);

Para desactivarlo:

objekt1.SetActive(false);

Flexibilität bei der Erstellung komplexer Spielobjekte

Wir haben erwähnt, dass Empty GameObject der einfachste Typ von Objekt ist, den wir in einer Szene in Unity finden können.

Wir können diese Objekte so weit wie nötig anpassen, bereits vorhandene Komponenten in der Unity-Engine oder unsere eigenen Programmierskripte hinzufügen. Dies führt dazu, dass jedes Spielobjekt ein spezielles Verhalten aufweist.

Fazit

Wir haben gesehen, was ein GameObject in Unity ist, was sind seine Hauptkomponenten und die Möglichkeit, so viele Komponenten wie nötig hinzuzufügen, um die Objekte zu bauen, die wir in unserer Welt benötigen.

Dem einfachsten Objekt in einer Szene wird eine Transform-Komponente zugewiesen, die seine Position, Drehung und Skalierung in der Szene anzeigt. Es wird ein Tag und eine Ebene zugewiesen, die es ermöglichen, Objekte zu gruppieren und für jede Gruppe geeignete Funktionen auszuführen.

Im Bereich der Programmierung ist GameObject eine Klasse der Programmierung, die Felder und Methoden hat, die es definieren. Du kannst die Liste aller Mitglieder in der API von Unity einsehen.

Nach oben scrollen
Secured By miniOrange