Keep your place in this quest

Log in or sign up for free to subscribe, follow lesson progress, and access more learning content.

In dieser Lektion werden wir das Objekt vorbereiten, das als sammelbares Objekt im Spiel verwendet wird.

Wir werden sein visuelles Mesh konfigurieren, ein Material und eine Textur anwenden, die Kollision hinzufügen, die für die Interaktion mit dem Spieler benötigt wird, ein Identifikationstag definieren und eine einfache Bewegungslogik erstellen, um das Objekt im Raum sichtbarer und ansprechender zu gestalten.

Sammelbare Objekte sind in Spielen sehr häufig. Sie können Münzen, Schlüssel, Gesundheits-Upgrades, Munition, Power-Ups, Quest-Gegenstände oder alles andere darstellen, was der Spieler berühren und sammeln kann. In dieser Lektion konzentrieren wir uns auf die Vorbereitung des Objekts selbst. Später wird die Spielerlogik in der Lage sein, dieses Objekt zu erkennen und zu sammeln.

1. Erstellen des Objekts

Erstelle im Inhalt-Panel ein neues Asset vom Typ Entity Template.

Dieses Entity Template wird als Basis für unser sammelbares Objekt verwendet. Da sammelbare Objekte in der Regel mehrfach in einem Level verwendet werden, ist es richtig, es als Entity Template zu erstellen. Auf diese Weise kannst du mehrere Instanzen desselben Objekts in der Szene platzieren, und wenn du später die Vorlage änderst, können alle Instanzen aus derselben Quelle aktualisiert werden.

image.png

Öffne die Entity Template, damit wir sie bearbeiten können.

Benenne die Entity dann in Item um und erstelle ein neues Mesh, das für die visuelle Darstellung des Objekts verantwortlich ist.

Füge im Abschnitt Komponenten eine Transform-Komponente hinzu. Der Transform gibt der Entity Zugriff auf Position, Rotation und Skalierungseigenschaften, die erforderlich sind, um das Objekt in der 3D-Welt zu platzieren und zu manipulieren.

Füge danach auch eine Rigid Body-Komponente hinzu. Diese Komponente ist für das physikalische Verhalten und die Kollisionsverhalten des Objekts in der Szene verantwortlich.

image.png

Aktiviere in der Rigid Body-Komponente die Option Ghost.

Mit dieser aktivierten Option kann das Objekt Kollisionen und Interaktionen erkennen, blockiert jedoch nicht physisch die Bewegung des Charakters.

Das ist genau das, was wir normalerweise für sammelbare Objekte wollen. Der Spieler sollte in der Lage sein, durch das Objekt zu gehen, und das Spiel sollte diesen Kontakt als Interaktion erkennen. Wenn das Objekt eine reguläre feste Kollision hätte, könnte es den Spieler blockieren oder andere Objekte herumdrücken, was normalerweise nicht das gewünschte Verhalten für Sammelobjekte ist.

image.png

An diesem Punkt kannst du ein 3D-Modell in Cave importieren und es als das Mesh deines Objekts verwenden.

In diesem Beispiel verwenden wir nur ein 2D-Symbol, das aus einer Textur erstellt wurde, daher ist es nicht notwendig, ein benutzerdefiniertes Modell zu importieren. Aber feel free, das visuelle Erscheinungsbild des Objekts so zu gestalten, wie du es für dein Projekt benötigst.

Zum Beispiel könntest du verwenden:

  • ein Münzmodell
  • ein Schlüsselmodell
  • eine Trankflasche
  • einen schwebenden Kristall
  • ein Power-Up-Symbol
  • eine einfache texturierte Fläche

Jetzt, genau wie wir die Entity zuvor erstellt haben, erstelle ein neues Material im Inhalt-Panel.

Konfiguriere es dann gemäß dem visuellen Stil, den du für dein Spiel wünschst, und füge die erforderlichen Texturen hinzu, wie Albedo, Normal Map oder andere Maps, die du verwenden möchtest.

image.png

image.png

Nachdem du das Material konfiguriert hast, wende es auf das Mesh des Objekts an, um festzulegen, wie es in der Szene aussieht.

Das Mesh definiert die Form, die gerendert wird, während das Material festlegt, wie diese Form visuell erscheint, einschließlich Farbe, Textur, Rauheit, Normalinformationen und anderen shaderbezogenen Eigenschaften.

image.png

image.png

Zur besseren Organisation ermöglicht es das Inhalt-Panel, Ordner zu erstellen, um die Assets deines Projekts besser zu strukturieren.

Eine gute Praxis ist es, einen Ordner namens Item zu erstellen und alle Dateien, die mit diesem sammelbaren Objekt zu tun haben, darin zu verschieben, wie das Entity Template, Materialien, Texturen und andere Ressourcen, die von diesem Objekt verwendet werden.

Die Ordnung deiner Assets erleichtert die Navigation im Projekt, verbessert deinen Workflow und macht die Wartung viel einfacher, während das Spiel wächst.

image.png

Lass uns jetzt einen neuen Logic Brick für unser Objekt erstellen.

Dieser Logic Brick wird dafür verantwortlich sein, eine kontinuierliche Rotation auf das Objekt anzuwenden, um es für den Spieler leichter zu erkennen.

Diese Art von Bewegung ist bei sammelbaren Objekten sehr beliebt. Ein völlig statisches Objekt kann schwieriger zu sehen sein, insbesondere in einer belebten Umgebung. Eine einfache Rotation hilft dem Objekt, sich abzuheben und sofort zu kommunizieren, dass es etwas Besonderes oder Interaktives ist.

image.png

Um dies zu tun, werden wir einfach die Entity abrufen und auf ihren Transform zugreifen.

Füge dann den Rotate On Yaw-Knoten hinzu, der dafür verantwortlich ist, die Rotation um die Y-Achse, die vertikale Achse des Objekts, anzuwenden.

Definiere im Feld Radians den Wert, den du als Rotationsgeschwindigkeit verwenden möchtest. Je höher dieser Wert ist, desto schneller wird sich das Objekt drehen.

Verbinde schließlich den Transform mit Rotate On Yaw und führe diese Logik über On Update aus, sodass sich das Objekt während des Spiels kontinuierlich dreht.

image.png

Zu guter Letzt fügen wir unserem Objekt ein Tag hinzu, damit es später von der Spielerlogik zur Sammlung identifiziert werden kann.

Wähle die Registerkarte Tags, erstelle ein neues Tag namens item und weise es der sammelbaren Entity zu.

Später werden wir dieses Tag verwenden, um zu erkennen, wann der Spieler das Objekt berührt. Dies erleichtert die Identifizierung, welche Entities sammelbare Objekte sind, ohne allein auf ihren Namen oder ihr visuelles Erscheinungsbild angewiesen zu sein.

Die Verwendung eines Tags ist ein sauberes und flexibles Verfahren, da dein Projekt möglicherweise viele verschiedene sammelbare Objekte hat. Solange sie alle das item-Tag haben, kann die Spielerlogik sie als sammelbare Objekte erkennen.

image.png

An diesem Punkt ist das sammelbare Objekt bereit, in der Szene verwendet zu werden.

Es hat eine visuelle Darstellung, ein Material, eine Geisterkollision zur Erkennung, einen Logic Brick, der es rotieren lässt, und ein item-Tag, das es dem Spieler ermöglicht, es später zu erkennen.