Erste Erfahrungen mit Unity

Unity Screenshot

Ich beschäftige mich seit kurzem mit dem Programm Unity, mit dem man kostenlos Spiele programmieren kann. In diesem Beitrag präsentiere ich meine ersten Erfahrungen.

Unity

Das Programm Unity gibt es in verschiedenen Varianten. Es richtet sich gleichermaßen an professionelle Progammierer, wie auch an Hobbyprogrammierer.

Dafür gibt es den Personal Mode, den Pro- und den Plusmode.

Die Personalvariante ist kostenlos und auch für Anfänger benutzbar. Auf der Seite gibt es sogar Lernprogramme, die in die Benutzung einführen. Diese können einzeln runtergeladen und als Tutorials absolviert werden.

Die Proversion richtet sich an Teams und Freelancer.

Die Plusversion an diejenigen, die nicht gleich die Professionelle Version nutzen wollen.

Beim Installieren lässt sich auswählen, für welche Systeme die Spiele entwickelt werden sollen. Zugleich wählt man seine Version aus, die unter anderem am Firmeneinkommen festgemacht wird (Firmen die mehr oder weniger als 100.000$ im Jahr verdienen).

Vier Tutorials können zu Beginn runtergeladen werden:

01: Play & Edit Mode: Der Wechsel zwischen Spielmodus und Entwurfsmodus

02: Game Objects & Components – Rigibodies to therescue: Das Positionieren von Objekten und das Versehen mit realistischem physikalischem Verhalten

03: Tweaking Components – Values vs Zombies – Das Anpassen der Geschwindigkeit beweglicher Objekte, wie z. B. Gegner

04: Prefab power – Ramping up: Das Positionieren von Objekten mit Koordinaten (ich konnte das Tutorial leider nicht beenden)

Hier geht’s zu Unity

Das Kart-Racer-Tutorial

Das Kart-Tutorial für Unity ist kostenfrei. Es handelt sich um ein Minitutorial in Unity. Du bekommst ein vorgefertigtes Spiel, bei dem du erste Änderungen, wie zum Beispiel Kart-Geschwindigkeit und Farbe einstellen musst. Du lernst erste Grundlagen über das Inspector- und Hierarchiefeld sowie einiges über Charaktereinstellungen.

Das Kart-Tutorial. Rennspiel: Im Hierarchiefenster, wählst du das Spieleobjekt aus. Im Kartrennspiel, ist es das Kart. Das Inspektorfenster zeigt die Einstellungen vom Kart an.

Die Änderung der Geschwindigkeit vom Kart

Das Top Speed-Feld gibt die Höchstgeschwindigkeit vom Kart an. Wenn du den Wert erhöhst, steigt die Geschwindigkeit. Senkst du den Wert, ist das Kart nicht mehr so schnell.

Unity Kart-Tutorial Einstellungen

Mit der Hand kannst du Szenen im Szenenbildschirm aus verschiedenen Blickwinkeln betrachten.

Unity Handzeichen

Unity Szenenbild

Im Szenenbild kannst du herein- und herauszoomen: Dies kannst du mit Alt+gedrückter rechter Maustaste.

Unity Szene herausgezoomt

Mit der Taste F wird das ausgewählte Hauptobjekt im Szenenmodus zentriert.

Unity zentriertes Objekt

Die Änderung der Farbe

Im Projektfenster findet sich das KartRacerMaterial, bei dem die Farbe des Karts geändert werden kann. Unter Main Maps befindet sich die Option Albedo, bei dem die Farbe eingestellt wird. Mit der Pinzette wählst du deine Wunschfarbe für das Kart einstellen. Hier können Basisfarbe, Helligkeit und Sättigung eingestellt werden. Um Einstellungen rückgängig zu machen, nutzt du Strg+Z. Es lässt sich zudem wunderbar damit experimentieren, was passiert, wenn du die Farbe von anderen Objekten oder Materialien veränderst.

Unity Farbauswahl

Das Einfügen von Prefabs oder wie ich ein Haus baue

Prefabs sind im Projektfenster mit einem blauen Würfel markiert. Per Drag & Drop wird das Prefab vom Projektfenster ins Hierarchiefenster gezogen.

Unity Prefab ins Hierarchiefenster

Mit dem MoveTool (W) lässt sich das Gebäude platzieren.

Unity Move-Tool

Mit den verschiedenfarbig makierten Pfeilen lässt das Gebäude nach links und rechts bzw. vorn und hinten verschieben. Außerdem ist eine Höhenveränderung des Gebäudes möglich. Somit kannst du über die x-, y- und z-Achse die Lage des Gebäudes beeinflussen.

Unity Gebäude bewegen

Mit dem Rotationstool (E) können Gebäude ebenfalls bewegt bzw. in Rotation versetzt werden.

Unity Rotationstool

Unity Gebäuderotation

Weiterhin gibt es ein Skalliertool (R):

Unity skallieren

Mit ihm ist die Gebäudegröße skallierbar. Wenn du die Tasten X, Y oder Z auswählst, fokussierst du die Veränderung auf die ausgewählte Achse.

Gebäude skalliert

Zuletzt lernst du, wie du dein kreiertes Minispiel speichern kanst.

Unity fertiges Spiel speichern

Über Build Settings gelangst du in den Bereich, in welchem du das Spiel für die jeweilige Plattform speichern kannst. Im Folgeschritt fügst du, nach der Plattformauswahl, deine Szene hinzu.

Gespeicherte Szenen werden hinzugefügt

Anschließend erscheint die hinzugefügte Szene:

Unity hinzugefügte Szene

Für den Folgeschritt ist es wichtig, das entsprechende Modul installiert zu haben, da das “bauen” des Spiels sonst nicht funktioniert. Andernfalls sieht man nur “No WebGL module loaded.”. Der Plattformwechsel ist ohne das richtig installierte Modul nicht möglich.

Unity WebGL

Wenn das geschafft ist, kannst du das Spiel bauen.

Spiel bauen

Hier geht’s zu Claudis Kart Racer aus den Unity-Tutorials

Der Kart-Racer-Mod- Gestalte die Umgebung

Die Kart-Racer-Mods gestalten das Spiel abwechslungsreicher. Einer der Mods hilft dir dabei, die Umgebung zu gestalten.

Im Projektfenster findest du unter den Assets die Utensilien, mit denen du die Umgebung gestalten kannst. Dort wurden Cookies, Donuts, Gummibärchen u.a. deponiert. Du findest sie unter:

Assets –> UTech –>MG-Karting –>ModAssets–>3DProps–>FoodProps

Unity Umgebung gestalten

Den Gummibären wählst du beispielsweise mit der Maus aus und ziehst ihn direkt in die Szene hinein. Dort kannst du ihn noch nach Bedarf positionieren, skallieren oder rotieren. Die nennt man “Instantiating” oder “to make an instance of”.

Unity Szenenbild mit Gummibärchen

Wenn du einen weiteren Gummibären hinzufügen möchtest, kannst du dies über das Hierarchiefenster machen. Du wählst mit der rechten Maustaste die Option Duplicate und hast die Möglichkeit den Gummibären zu duplizieren.

Gummibär im Hierarchifenster auswählen

Mit dieser Option kreierst du einen Klon, der sich an exakt demselben Platz wie der erste Gummibär befindet. Dieser kann nun bei Bedarf zu dem Platz bewegt werden, wo du ihn haben möchtest.

Unity Kart-Mod Gestalte die Umgebung

Du kannst entsprechend die Umgebung gestalten, wie du möchtest. Ich habe festgestellt: Wenn ich Hindernisse auf der Strecke platziere, fährt mein Männchen momentan einfach nur hindurch.

Kart-Racer Mod – Gestalte mit Farbe

Jedes Spiel besteht aus Objekten. Dazu gehören Gebäude, Bäume, Zäune, Wolken und mehr. Per Klick kann so ein Objekt ausgewählt werden. Auch im Hierarchiefenster kann das Objekt markiert werden. Ein gutes Beispiel ist ein Baum. Mit F kann dieser zentriert werden. Jedes 3D-Modell ist aus einem Material beschaffen. Das Material definiert die Farbe des Objekts. Materialien kontrollieren in Unity die Farbe und können beispielsweise dafür sorgen, dass es rau oder glatt erscheint oder sogar im Dunkeln leuchtet.

Die Materialien lassen sich wie folgt ändern: Unter Assets –>UTech –>MG-Karting –>ModAssets –>Kart –>Custom Materials

Von dort aus wählst du eine Farbe und ziehst sie auf das gewünschte Objekt.

Unity Farbe

Kart-Racer-Mod – Animationen in der Umgebung

In diesem Mod geht es um das Erstellen von Animationen. Du wählst ein Objekt aus und suchst dir rechts, im Inspector Window den Add Component-Button.

Unity Animationen

Im Folgefenster gibt man “Jiggler” ein, um das passende Skript zu finden.

Unity Animationen2

Das Inspectorfenster ändert sich, denn das “Jigglerskript” wird eingefügt. Die Gummibären sollen also wackeln.

Unity Jiggler2

Darin kann die Stärke der Animation mit den Balken eingestellt werden. Ansehen kann man die Animation, indem man per Play das Spiel startet. Rotation Jiggler bedeutet beispielsweise, das Objekt entlang der Y-Achse wackelt.

Kart-Racer-Mod – Die Anpassung vom Post Process Profile

Zuerst stellt sich die Frage, was das Post Process Profile überhaupt ist. Bei diesem handelt es sich um eine Sammlung von Filtern und Effekten in Unity. Sie befinden sich im Post Process Profile bzw. unter PostProcessVolume im Hierarchiefenster.

Unity PostProcess Volume

Im Projektfenster findet sich der richtige Ordner unter ModAssets oder Challenge Assets –> Kart –> Stylized Profiles

Unity ModAssets

Danach muss wieder im Hierarchiefenster der PostprocessVolume ausgewählt werden. Anschließend wählt man den kleinen Kreis, rechts vom PostProcessVolume Profile an.

PostProcess

Anschließend öffnet sich links ein Fenster.

Select PostProcessProfile

Je nach ausgewähltem Modus verändert sich das Spiel. Dies ist beispielsweise der Dreamymodus.

Unity Kart Mod Dreamy

Noir:

Kart Mod Noir

Old Timey:

Old Timey

Kart-Racer-Mod – Effekte bei Kollisionen

Such im Hierarchiefenster “Kart”. Im Projektfenster suchst du dir unter Assets –>UTech –>MG-Karting–>ModAssets–>Kart, die Bounce Effect Prefabs

Unity Effekte

Dort wählst du einen Effekt aus. Den Effekt ziehst du auf das Gameobjekt Kart im Hierarchiefenster, um es diesem unterzuordnen und in die Szene einzufügen. Der Effekt ist jetzt dem Auto zugeordnet und jetzt noch zusätzlich den Wänden zugeordnet werden. Dafür muss man im Hierarchiefenster “fence” suchen oder alternativ “ModularTrack”. Durch die explizite Suche im Hierarchiefenster filterst du ausschließlich heraus, was du benötigst. Anschließend gehst du auf “Bearbeiten” bzw. “Edit” und wählst alle aus mit “Select All” oder Strg+A. Durch das Markieren kannst du alle Wände auf einmal mit Effekten versehen.

Bei mir hat es nicht so geklappt, wie ich wollte und ich musste sie nochmal separat markieren. Dann wählst du Add Component, suchst das Skript “WallCollider” und stellst die “Bounciness” auf 0.9

WallCollider

Wenn du den Effekt jetzt im Hierarchiefenster auswählst, kannst du beispielsweise die Startfarbe bestimmen:

Startfarbe bestimmen

Startfarbe

Über Start Speed bestimmst du die Geschwindigkeit der Partikel und kannst sie nach Bedarf schneller oder langsamer machen:

Start Speed

Kart-Racer-Mod – Dem Fahrer einen Hut verpassen

BeimTutorial “Add a Hat” wird der Fahrerfigur ein Hut aufgesetzt. Dafür muss im Hierarchiefenster nach dem entsprechenden Körperteil gesucht werden. Wir suchen also nach “HeadEnd”.

HeadEnd

Im Projektfenster suchen wir jetzt die HatPrefabs und ziehen den ausgewählten Hut ins Hierarchiefenster, zum “HeadEnd”.

Kart-Mod Hut aufsetzen

Die Spielfigur trägt einen Zaubererhut. Du hast die Möglichkeit weitere Mods vorzunehmen, indem du beispielsweise die Farbe vom Hut änderst.

Kart-Racer-Mod – Die eigene Strecke bauen

Für das Bauen von der eigenen Strecke benötigst du das ModularTrackKit im Projektfenster und den Prefabsordner. Die Streckenabschnitt können einfach zusammengestellt werden.

Eigene Strecke bauen

Der Streckenabschnitt wird einfach in die Szene gezogen. Zusätzlich wird das Progrids-Tool benötigt.

ProGrids

Streckenabschnitt hinzufügen

Das ist die ProGrid-Toolbar:

ProGrids Toolbar

Sie hilft beim Ausrichten von Objekten, indem ein Raster darauf gelegt wird.

Feld 2: zeigt das Raster in der Szenenansicht

Feld 3: Objekte werden am Raster eingefangen und darauf verschoben

Feld 4: Alle ausgewählten Objekte werden im Raster gefangen

Feld 5: Das Raster Folgt dem ausgewählten Objekt, während es verschoben wird

Feld 6: Zeigt das Raster auf der X-Achse

Feld 7: Zeigt das Raster auf der Y-Achse

Feld 8: Zeigt das Raster auf der Z-Achse

Feld 9: Zeigt das Raster auf allen Achsen an

Damit der Streckenabschnitt sich besser mit dem Anderen verbinden kann, wird der dritte Button in der Toolbar auf On gestellt.

Der Streckenabschnitt den du ausgesucht hast, kann außerdem rotiert werden. Im Inspecotfenster, lässt sich unter Transform die Gradzahl der Drehung einstellen. Der Abschnitt kann um 0° , 90° , 180° und 270° gedreht werden.

Streckenabschnitt rotieren

Anstatt mehrere Strecken aneinanderzusetzen, kann eine Strecke verlängert werden, indem du die Skalierung z. B. bei Z auf 2 setzt. Dadurch wird die Länge des Steckenstücks verdoppelt.

Verlängerung einer Strecke

Die Strecke vor der Skallierung:

Kurzes Streckenstück

Verlängertes Streckenstück:

Verlängerte Strecke

Als nächstes müssen entlang der Strecke Checkpoints festgelegt werden. Das Spiel betrachtet eine Runde erst als beendet, wenn der Spieler alle Checkpoints durchfahren hat.

Im Hierarchiefenster wird ein Checkpoint markiert.

Checkpoint im Hierarchiefenster

Die Checkpoints sollten auf der Strecke liegen.

Checkpoint verschieben

Nach Abschluss einer Runde, sollte diese vom Spiel erkannt werden.

Zusätzlich hast du die Möglichkeit ein Streckenstück auf eine spezielle Höhe festzulegen.

Dafür wählst du ein Empty Gameobject.

Create Empty GameObject

Dafür machst du einen Rechtsklick ins Hierarchiefenster und wählst Create Empty. Darin kannst du ein leeres Objekt erstellen. Vom Asset im Projektfenster ziehst du das Prefab zum GameObject.

Empty Gameobject0

Das leere Objekt erscheint an festgelegter Stelle in festgelegter Höhe im Szenenfenster.

Empty Gameobject

Diese Prefbas werden zu “Children” bzw. Kindern des GameObjects und erben die gleiche Position auf der Karte, wie das “Elternteil”. Sie sind auf der Höhe festgelegt, die eingestellt wurde und können dorthin bewegt werden, wo sie hinsollen. Zur Abwechslung können auch Streckenabschnitte eingefärbt werden.

Screenshot eingefärbte Strecke

Streckenabschnitte können deaktiviert und ihre Eigenschaften vorher kopiert und auf das Ersatzsstreckenstück übertragen werden.

Für das deaktivieren eines Abschnitts oder Objekts, muss einfach das linke Häckchen herausgenommen werden.

GameObject Eigenschaften kopieren

Zuerst wählst du das Zahnrad. Um die Eigenschaften eines Streckenabschnitts zu kopieren wählst du Copy Component. Zum Einfügen und Übertragen auf das neue GameObject wählst du einfach Past Component Values.

GameObject Eigenschaften kopieren0

Kart-Racer-Mod – Partikeleffekte hinzufügen

Die Partikeleffekte finden sich unter GameObject –> Effects und Particle System

Partikeleffekte

Die Effekte werden dem Spiel hinzugefügt und finden sich jetzt im Hierarchiefenster:

Partikeleffekte0

Die Partikel lassen sich bearbeiten: Dafür wählst du mit der rechten Maustaste “Create” und “Material”.

Benenne dies als GlowingParticleMaterial.

Create Material

Anschließend wählst du im Inspector Window Standard und unter Particles Standard Unlit aus. Die Partikel werden nicht von Licht und Schatten beeinflusst. Es wird vollfarbig gerendert.

Partikeleffekte1

Bei Rendering Mode wird Fade eingestellt.

Rendern

Der Color Mode wird auf Multiply eingestellt.

Albedo

Klicke den Kreis bei Albedo an.

Default Particle

Anschließend suchst du die Default Particle und stellst per HDR (Pinzette) die Farbgebung ein.

Farbgebung

Jetzt wird dies den Partikeln zugeordnet. Das GlowingParticleMaterial wird vom Projektfenster ins Hierarchiesystem zum Particle System gezogen.

Anschließend wählst du PostProcessVolume aus und öffnest das Dropdownmenü von Bloom. Stelle dort Intensity auf 8.

Bloom

Wähle im Hierarchiefenster das Particle System aus und benutze das Bewegungstool, um es direkt neben das Rad des Autos zu verschieben.

Hast du im Hierarchiefenster das Particle System markiert, kannst du im Inspectorfenster weitere Anpassungen vornehmen. Dazu gehören Größe (Start Size), Farbe (Start Color) und Geschwindigkeit (Start Speed).

Particle System0

Wählst du rechts den Pfeil aus, der nach unten schaut, öffnet sich ein weiteres Menü.

Random between two Constants0

Dann öffnet sich ein Feld, bei dem du einen zweiten Wert eingeben kannst.

Start Speed0

Der Gravity Modifikator lässt die Teilchen auf Graviation reagieren.

Gravity Modifikator

Damit die Partikeleffekte zum Auto gehören und der Racer nicht von den Partikeln wegfährt, müssen diese zum “Kind” vom Spielobjekt Auto werden.

Dafür wird das Particle System per Drag & Drop dem Auto zugeordnet.

Particle System1

Ab jetzt sprühen die Räder beim Fahren Funken.

Kart-Racer-Mod – Lichtstreifen hinzufügen

Wähle im Hierarchiefenster das Kartobjekt und suche darunter die Kartwheels.

KartWheels

Wähle im Projektfenster die ModAssets –>Kart –>Trail Prefabs und wähle ein Prefab aus.

TrailPrefabs

Ziehe das Prefab auf jedes Rad bzw. Wheel GameObject im Hierarchiefenster.

Prefab eingefügt

Wählst du im Hierarchiefenster den Effekt, der als “Child” vom Rad eingeordnet ist aus und gehst in die Optionen, hast du die Möglichkeit die Zeit umzustellen. Der Bereich Time gibt bei niedrigeren Werten der Spur eine kürzere Zeit, bevor sie verschwindet. Bei höheren Werten, bleibt die Spur länger erhalten.

Kart-Racer-Mod – Speedpads hinzufügen

Speedpads steigern kurzzeitig die Geschwindigkeit vom Fahrzeug.

Speedpad

Es wird einfach auf die Strecke gezogen:

Speedpad0

Die Einstellungen können bei Kart Speed Pad (Script) – Boost Stats –>Modifiers –>Accelerator vorgenommen werden. (Stelle diesen beispielsweise auf 10 und Top Speed auf 7).

Speedpad Einstellungen

Kart-Racer-Mod – Bilder ins Spiel integrieren

Mit dem Billboard Prefab können eigene Fotos in ein Spiel integriert werden. Zuerst wählst du im Projektfenster ModAssets –>3D Probs –>Billboard Prefabs die Tafel aus und ziehst sie in die Szene. Das Foto importierst du über Assets –> Import New Assets

Import Assets

Du suchst das Foto aus und ziehst das importierte Bild ins Hierarchiefenster unter Billboard und Billboard Content. Bei Bedarf kannst du das Bild skallieren.

Billboard Content

Kart-Racer-Mod – Benutzerdefinierter Auslöser

Du kannst einen benutzerdefinierten Auslöser im Spiel integrieren.

Dafür wählst du beim Rennspiel die Ziellinie bzw. die StartFinishLine im Hierarchiefenster aus. Mit F im Szenenbild zentrierst du sie.

StartFinishLine

Wähle im Menü GameObject–>3D Object –>Cube

Cube

Diesen fügst du in die Szene ein. Er wird der “Auslöser” bzw. der “Trigger” sein.

Eingefügter Würfel

Benutze das Tool zum Bewegen und Positionieren und platziere es quer bei der Ziellinie.

Cube2

Im Inspektorfenster kannst du den Quader umbennen, in z. B. ConfettiTrigger.

ConfettiTrigger

Ebenfalls im Inspectorfenster findet sich der Abschnitt Box Collider. Hier setzt du ein Häckchen bei “Is Trigger”.

IsTrigger

Anschließend wählst du unter AddComponent die Komponente Simple Trigger aus.

Add Component

Anschließend sieht das ganze so aus:

Simple Trigger

Dann suchst du dir im Hierarchiefenster das Kart heraus und ziehst es direkt in das Feld TriggerBody.

Triggerbody

Nachfolgend suchst du im Projekfenster und der Assets die ConfetteiCelebration heraus. Du ziehst sie in den Szenenbildschirm zur Start-und-Ziellinie.

Wähle anschließend im Hierarchiefenster ConfettiTrigger aus  und suche dir erneut das Simple Trigger Skript. Beim Bereich On Trigger Enter (), wählst du das Pluszeichen aus.

Simple Trigger0

Ziehe den ConfettiTrigger aus dem Hierarchiefenster auf den Bereich “None (Object)”.

ConfettiTrigger0

Jetzt wählst du den Kreis neben ConfettiTrigger aus und suchst ConfettiCelebration.

Confetti Celebration

Dann wählst du unter No Function das ParticleSystem und wählst Play().

Play

Mit der Auswahl von Mesh Renderer wird der “Auslöser” versteckt.

Mesh Renderer

Kart-Racer-Mod – Gib deinem Spiel einen Titel

Wähle im Hierarchiefenster “MainMenuCanvas” aus.

MainMenuCanvas

Öffne das Untermenü “Main”–>Header

Untermenü

Im Inspectorfenster gibst du deinen gewünschten Titel ins Textfenster ein. In dem Bereich kannst du auch die Schriftart ändern.

Text

Der Titel erscheint, wenn du das Spiel pausierst (Esc).

Hier ist das fertige Spiel am Ende des Tutorials: Schlaraffenland Racer

(Werbung)

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.