: Thomas Theis
: Einstieg in Unity 2D- und 3D-Spiele entwickeln
: Rheinwerk Computing
: 9783367107834
: 5
: CHF 31.50
:
: Programmiersprachen
: German
: 484
: Wasserzeichen
: PC/MAC/eReader/Tablet
: ePUB

Nutzen Sie die geniale Game Engine Unity, um eigene Spiele zu entwickeln! Erfolgsautor Thomas Theis zeigt Ihnen Schritt für Schritt, wie es geht - von der ersten Scene bis zum komplexen Multiplayer-Spiel. Mit dem integrierten C#-Kurs lernen Sie ohne Vorkenntnisse und ohne externe Software alle Objekte und Befehle direkt so kennen, wie Sie in Unity-Skripten aussehen. Unity bietet eine Fülle von Techniken und Effekten, die Sie nur einzubinden brauchen. Ob es um Zusammenstöße, Flugkurven, Explosionen oder die Kameraperspektive geht: Lernen Sie erst mit 2D- und dann mit 3D-Spielen, die mächtigen Werkzeuge zu nutzen und Ihre eigenen Ideen umzusetzen. Mit 18 vollständigen Spieleprojekten aus vielen Genres.

Aus dem Inhalt:

  • Uni y installieren
  • Projekte Scenes und Assets verwalten
  • Flummi oder Stahlkugel? Objekteigenschaften festlegen
  • Kräfte und Drehmomente nutzen
  • Skripte schreiben und gut strukturieren
  • Collide und Trigger einsetzen
  • Sound und Animation hinzufügen
  • Materialie gestalten und Texturen verwenden
  • Mit Kameras und Perspektiven umgehen
  • Jump 'n Run, Breakout, Multiplayer, Shooter, Geschicklichkeitsspiel, Gedächtnistraining, Rennen, Adventure u. v. m.

3.2    Unsere ersten Unity-Elemente


Betrachten wir die einzelnen Elemente des fertigen Spiels imUnity Editor. Dabei machen wir uns bereits mit einigen Begriffen vertraut, die wir später zur Entwicklung benötigen.

Starten Sie dazu den Unity Hub, wechseln Sie auf die SeiteProjects, und wählen Sie den EintragAdd project from disk in der ListeAdd aus. Daraufhin erscheint ein Dialogfeld, in dem Sie das ProjektverzeichnisTomsJumpAndRun auswählen. Betätigen Sie die SchaltflächeAdd project. Das Projekt erscheint in der Liste der Projekte.

Öffnen Sie das Projekt, wie es inAbschnitt 1.9 beschrieben wird. Wählen Sie also zunächst die gewünschte Unity-Version aus und klicken Sie anschließend auf die gesamte Zeile mit dem Projekt.

Nun öffnet sich derUnity Editor mit dem ausgewählten Projekt. DieScene View zeigt das Spielfeld inklusive seines weißen Rahmens. Sollte das Spielfeld nicht vollständig zu sehen sein, sollten Sie das Layout desUnity Editors und die Ansicht in derScene View durch Größenänderung und Verschiebung noch anpassen (sieheAbschnitt 2.9).

3.2.1    Assets


Schauen wir uns zunächst die Assets für das Projekt an. Sie sind zur besseren Übersicht in Verzeichnissen gruppiert.

Nachdem wir in derProject View das HauptverzeichnisAssets markiert haben, sehen wir die UnterverzeichnisseScenes,Scripts,Settings,Sprites undTextMesh Pro (sieheAbbildung 3.2).

Abbildung 3.2     Assets, Hauptverzeichnis

Wenn wir das UnterverzeichnisScenes in derProject View markieren, sehen wir wie im ersten Projekt die einzige Szene des Spiels mit dem Namen SampleScene.

Nach dem Markieren des UnterverzeichnissesScripts sehen wir zwei Assets vom TypC#-Script. Sie erkennen sie an den Symbolen # für die Script-DateienGefahren.cs undSpieler.cs (sieheAbbildung 3.3). Über die Symbole können wir die Programme erreichen, die in der Programmiersprache C# geschrieben sind:

  • In der Script-DateiSpieler.cs findet sich die Klasse Spieler, in der die Eigenschaften und das Verhalten des Affen festgelegt werden. Außerdem werden von hier aus die meisten Abläufe gesteuert, da es sich bei dem Affen um das wichtigste Objekt des Spiels handelt. Das umfasst z. B. den Start und das Ende des Spiels, die Zeitmessung, das Erfassen von Punkten und Leben, die verschiedenen Anzeigen und einiges mehr.

  • In der Klasse Gefahren in der Script-DateiGefahren.cs werden die gleichartigen Eigenschaften für alle sechs Tiger festgelegt.

Abbildung 3.3     Script-Assets

Nach dem Markieren des UnterverzeichnissesSprites sehen wir einige Assets vom TypSprite. Sie erkennen sie an den Symbolen für die fünf BilddateienAffe.png,Banane.png,Dschungel.png,Tiger.png undWeiss.png (sieheAbbildung 3.4).

Abbildung 3.4     Sprite-Assets

Die Assets werden für die verschiedenen Spielobjekte verwendet: Dschungel für den Hintergrund, Weiss für die Begrenzung und die Plattformen sowie Affe, Banane und Tiger für die Aktionen im Spiel.

3.2.2    Spielobjekte


Wir untersuchen die verschiedenen Spielobjekte in derHierarchy View (sieheAbbildung 3.5). Dabei markieren wir die angesprochenen Elemente der Reihe nach, damit wir sie jeweils anhand ihrer Markierung in derScene View identifizieren können und die wichtigsten Eigenschaften und ihre Werte in derInspector View betrachten können.

Abbildung 3.5     Spielobjekte in der »Hierarchy View«

Das Spielobjekt Main Camera in der Mitte des Spielfelds haben Sie bereits inAbschnitt 2.3 kennengelernt. Das Spielobjekt Global Light 2D hat den Lichttyp (EigenschaftLight Type)Global für eine gleichmäßige Ausleuchtung und die Lichtfarbe (EigenschaftColor)Weiss. Das Spielobjekt Hintergrund wird mithilfe des Sprite-Assets Dschungel erstellt.

Das Spielobjekt Spieler basiert auf dem Sprite-Asset Affe und hat mehrere wichtige Komponenten (sieheAbbildung 3.6):

  • In derTransform-Komponente sehen Sie die Position und die Größe.

  • Die KomponenteRigidbody 2D sorgt dafür, dass sich der Affe so ähnlich wie ein Objekt in der realen Welt verhält, das den Gesetzen der Physik unterliegt. Das bewirkt im vorliegenden Fall, dass die Schwerkraft den Affen nach unten zieht und Kollisionen mit anderen Spielobjekten bemerkt werden können.

  • Die KomponenteBox Collider 2D bestimmt die Form des Kollisionsobjekts. Oft handelt es sich dabei um ein Rechteck, das die Grafik eng umgibt. Zudem sorgt dieser Collider dafür, dass der Affe keine der Begrenzungen oder Plattformen durchdringen kann. Er fällt also z. B. nicht einfach aufgrund der Schwerkraft durch den Boden.

  • In der KomponenteSpieler (Script) ist dem Spielobjekt das Script-Asset Spieler zugeordnet. Damit wird festgelegt, dass sich der Affe so verhält, wie es in dem C#-Script in der DateiSpieler.cs vorgegeben wird.

EinBox Collider 2D ist rechteckig, daher ist er für alle Spielobjekte in diesem Projekt geeignet.

Das Spielobjekt Gewinn basiert auf dem Sprite-Asset Banane. InAbbildung 3.7 erkennen Sie die Größe. Außerdem sehen Sie die erste Position der Bananen nach dem Start des Spiels. Eine Kollision mit dem Affen muss bemerkt werden, damit es Punkte gibt. Daher hat auch dieses Spielobjekt eine KomponenteBox Collider 2D. Ganz unten sehen Sie die SchaltflächeAdd Component, mit der Sie Komponenten zu einem Spielobjekt hinzufügen können.

Abbildung 3.6     Das Spielobjekt »Spieler« und seine Komponenten

Abbildung 3.7     Das Spielobjekt »Gewinn« und seine Komponenten

Oben links inAbbildung 3.7 sehen Sie, dass das Spielobjekt das Tag Gewinn besitzt. EinTag (engl. fürEtikett,Schildchen) ist eine Marke, die Sie einem Spielobjekt zuordnen können. Mehrere Spielobjekte können dasselbe Tag haben. So können Sie Spielobjekte zu logischen Gruppen zusammenfassen und mithilfe von C#-Code auf diese Spielobjekte gemeinsam zugreifen.

Das Spielobjekt Raum inAbbildung 3.8 dient lediglich als Verzeichnis für die untergeordneten Spielobjekte (siehe auchAbschnitt 2.6). Diese bilden die Begrenzung des Spielfelds und die Plattformen. Alle basieren auf dem Sprite-Asset Weiss. Markieren Sie einmal nacheinander die weißen Spielobjekte in derHierarchy View, um ihre Lage in derScene View und ihre Komponenten in derInspector View zu betrachten. Ich empfehle Ihnen, in Ihren Projekten ähnlich selbsterklärende Namen zu verwenden.

Abbildung 3.8     Begrenzung des Spielfelds und Plattformen

Alle weißen Spielobjekte besitzen einenBox Collider 2D. Auf diese Weise wird z. B. verhindert, dass der Affe aufgrund der Schwerkraft durch den Boden oder eine der Plattformen fallen kann. So kann er auch das Spielfeld nicht durch eine der Wände verlassen.

Das Spielobjekt Gefahren inAbbildung 3.9 dient als Verzeichnis für die insgesamt sechs einzelnen Gefahren, also die sechs Tiger. Alle basieren auf dem Sprite-Asset Tiger. In derInspector View sehen Sie, dass alle das Tag Gefahr besitzen. Wie das Spielobjekt Gewinn besitzen auch diese Spielobjekte einenBox Collider 2D, damit eine Kollision mit dem Affen bemerkt werden kann.

Abbildung 3.9     Das Spielobjekt »Gefahren«

...