3. Tutorial in Unity – FPS Microgame

FPS Hintergrundbild

Das dritte Beginner-Tutorial ist das FPS MicroGame. Der Beginn ist vom Tutorial etwas anders, als bei den anderen beiden. Auch die Menüstruktur gesteltet sich etwas anders.

FPS Microgame

Zu Beginn wird das Spiel getestet. Ziel ist es, alle Gegner zu eliminieren.

Der Player wird modifiziert. Es soll die Sprunghöhe des Charakters eingestellt werden.

Player Hierarchie

Diese findet sich unter Gravity Downforce bzw. der Gravitation:

Sprunghöhe

Das Fenster zum Spieletesten ist im Gegensatz zu den anderen Tutorials nicht separat.

Der zweite Teil des Tutorials macht mit dem Hierarchiefenster und dem Szenenbild vertraut. Du lernst das hinein- und herauszoomen, wie in den anderen Tutorials.

Räume hinzufügen

Anschließend lernst du von den Prefabs Räume hinzuzufügen.

Räume hinzufügen

Mit der NavMeshSurface beeinflusst du, wo sich die Gegner bewegen können.

NavMeshSurface

Blaue Bereiche können von den Gegnern aufgesucht werden. Mit der Option “Bake” können die Gegner auch den neuen Raum betreten.

Bake

Im Folgeabschnitt lernst du dem Fußboden eine neue Farbe zu verpassen.

Das Hintergrundbild ändern

Im Folgemod wird dir gezeigt, wie du das Hintergrundbild ändern kannst:

Hintergrundbild

Das Hintergrundbild lässt isch über Background –>im Inspectorfenster unter Source Image bzw. den Kreis daneben auswählen.

Hintergrundbild:

FPS Hintergrundbild

Im Hierarchiefenster suchst du nach Title.

Text2

Im Inspectorfenster änderst du den Titel.

Im Folgemod wird der Himmel geändert. Dafür wird bei HDRIs: Skies eine entsprechende Vorlage gesucht. Das Format der Datei ist .hdr. Diese ziehst du für den Import ins Projektfenster.

Wähle es im Projektfenster aus und stelle im Inspectorfenster die Texture Shape von 2D auf Cube.

Textureshape

Ändere die Max Size auf 4096.

Max Size

Skycube

Nach diesen Änderungen wähle Apply aus, damit sie übernommen werden.

Als nächstes erstellst du dafür ein “Material”, indem du im Projektfenster “Create” auswählst. Wähle dann Material aus und benenne es z. B. als “Sky”.

Create

Material Sky

Im Inspectorfenster wird der Shader von Standard auf Skybox –> Cubemap geändert.

Skybox Cubemap

Der Skycube wird ins Inspectorfenster rechts per Drag & Drop hineingezogen (Select). Damit ist die Fertigstellung des neuen Skyboxmaterial abgeschlossen.

Sky in Inspector

Im Projektfenster suchst du nach der MainScene.

Projektfenster MainScene

Wähle im Menü Window–>Rendering–>Lightning Settings für die Lichteinstellungen.

Lighting Settings

Zieh den bearbeiteten Himmel aus dem Projektfenster unter Assets, ins Skybox Material, von dem Lightning-Fenster, dass sich geöffnet hat.

Skybox Material

Ein weiterer Punkt im Tutorial ist das Einfärben von Gegenständen. Dieses unterscheidet sich nicht von dem Vorgang in den anderen Tutorials.

Das kreieren der eigenen Farbe

Du kannst deine eigene Farbe kreieren.

Mit Strg+D markierst du eine Farbe und duplizierst sie. Dann kannst du es umbenennen. Mit der Pinzette kannst du per Albedo eine eigene Farbe definieren.

Cookies zur Heilung

Im folgenden geht es um das Auswechseln eines Heilungspaketes für ein Anderes. Du findest es unter Pickup Health. Im Projektfenster unter Prefab finden sich außerdem weitere Pickups bzw. Items zum Einbauen.

Fächere dieses im Hierarchiefenster bis zur untersten Stufe auf.

Pickups aufgefächert

Zieh von den Models–>FoodProps beispielsweise, ein ausgesuchtes Asset unter das Mesh_Health_Pickup.

Cookie0

Wähle das Mesh_Health_Pickup im Hierarchiefenster aus und deaktiviere im Inspectorfenster das Häckchen beim Namen.

Das “+”-Zeichen beim Cookie weist darauf hin, dass dort Änderungen vorgenommen wurden.

+Cookie

Danach wähle das Elternprefab aus und öffne das Override-Fenster.

Overridesbutton

Wenn du jetzt Apply All auswählst, werden alle Pickup_Health-Objecte zu Cookies transformiert.

Im letzten Teil vom Tutorial wählst du einen Roboter aus und setzt ihm einen Hut auf.

Den Schaden der Gegner einstellen

Im Hierarchiefenster suchst du die Waffe des Roboters heraus.

Weapon_Eye_Lazer

Im Inspectorfenster nimmst du nähere Einstellungen zu den Gegnerschüssen vor:

Waffeneinstellungen

Delay Between Shoot ist der Abstand zwischen den Schüssen.

Beim Bullet Spread Angel handelt es sich um den Streuungswinkel der Kugeln bzw. Schüsse.

Bullets per Shot definiert die Anzahl der Kugeln pro Schuss.

Projectile Prefab0

Die Projektile bzw. das Projectile Prefab soll geändert werden.

Im Projektfenster finden sich die Projektilassets.

Erstelle mit Strg+D ein neues Projektil und benenne es um.

Neues Projektil

Im Inspectorfenster kannst du den Schaden einstellen.

Damage

Statte den Gegner jetzt mit dem neuen Projektil aus.

Als nächstes wird die Gegnerreichweite eingestellt.

Mit höheren Zahlen steigerst du Angriffsreichweite und Sensorreichweite.

Parameter

Außerdem kannst du die Augenfarbe beim Angriff einstellen.

Loots von Gegnern

Gegner lassen bestimmte Gegenstände fallen, wenn sie besiegt werden. Diese können variieren. Dafür gibt es Prefab Variants.

Dafür wählst du den Gegner aus und suchst den Loot-Bereich im Inspectorfenster. Dann musst du nur noch einen anderen Loot auswählen.

Auch andere Gegenstände können “fallengelassen” werden.

Markiere unter den Prefabs den PickupLauncher. Wähle Create und Prefab Variant aus.

PickupLauncher Variant

Benenne es beispielsweise als Loot_Launcher.

Als nächstes wähle den Loot_Launcher im Projektfenster aus. Wähle mit der rechten Maustaste aus dem Drop-Down-Menü beim Loot_Launcher Open aus.

Loot_Launcher

Das Hierarchiefenster zeigt jetzt die Struktur vom Loot_Lancher und das Szenenfenster das aktuelle Modell in 3D.

Suche jetzt im Projektfenster VFX_PickupSparkles. Dieses ziehst du zum Loot_Launcher im Hierarchiefenster.

VFX

Dieser muss jetzt einem Gegner zugeweiesen werden.

Die Waffe umwandeln

Suche zuerst im Projektfenster unter den Assets nach den Waffen bzw. Weapon_Blaster. Mit einem Doppelklick öffnest du das Prefab.

 Asset Weapon

Asset Weapon0

Wähle den Weapon Blaster im Hierarchiefenster, dann GunRoot–>WeaponMesh_Pistol

2D muss deaktiviert sein.

2D-Bildschirm

Dann suche im Inspektorfenster den Weapon Controller.

Weapon Parameter

Hier hast du die Möglichkeit einige Parameter zu verändern.

Shoot Type –> von Automatisch zu Manuell

Delay Between Shots –> beeinflusst die Zeit, die zwischen zwei Schüssen vergeht

Bullet Spreat Angle –> Die Winkel zwischen den Kugeln, die geschossen werden – Je höher er ist, desto weniger genau ist er

Recoil Force –> Dies ist der Rückstoß

Aim Zoom Ratio –> Je höher der Wert ist, desto größer ist der Zoom

Ammo Reload Rate –> Nachladerate der Waffe

Max Ammo –> Die Kugeln bzw. die Munition, die eine Waffe haben kann

Speichere deine Änderungen ab.

Prefab speichern

Neue Projektile konfigurieren

Um neue Projektile zu erstellen, wähle mit der rechten Maustaste das GameObject und erstelle mit Create Empty ein Neues. Benenne das Objekt.

Neue Projektile

Ziehe das neue Objekt vom Hierarchiefenster ins Prefabfenster zu den anderen Projektilen. Mit einem Doppeklick öffnest du das Prefab.

Wähle das Objekt im Hierarchiefenster aus. Gehe mit der rechten Maustaste auf Transform im Inspectorfenster und gehe auf Reset.

NewProjectile

Wähle AddComponent und anschließend Projectile Standard.

ProjectileStandard

Zieh das Prefab ins Hierarchiefenster. Dieses wird jetzt im Szenenbildschirm erschienen. Geh auf das Szenenbild und zentriere es mit F. Jetzt können die Komponenten bzw. Werte unter Transform angepasst werden.

Cookie1

Wähle das NewProjectile im Projektfenster. Zieh dorthin dein gewähltes Objekt vom Hierarchiefenster zum Inspectorfenster und Root.

Einstellungen

Erschaffe im Hierarchiefenster ein weiteres GameObject. Dieses bildet die Projektilspitze.

GameObject0

Verschiebe das neue Objekt an die Spitze vom Hauptobjekt. Verschiebe das Objekt vom Hierarchiefenster zum Projektilstandard der Spitze des neuen Objekts.

Cookieobject

Jetzt wird das Objekt geschaffen, das entsteht, wenn das Projektil mit etwas kollidiert. Wichtig ist an dieser Stelle Impact VFX. Wähle den Kreis daneben aus.

Wähle anschließend des Assettab. Hier wählst du den Gegenstand aus, in den sich das Projektil verwandelt.

Die nächste Konfigurierung betrifft den Sound, den das Projektil beim Einschlag macht.

Jetzt ist das Projektil fertig. Vergiss nicht, es zu speichern. Jetzt kannst du das neue Projektil einer Waffe zuordnen.

Physik hinzufügen

Im nächsten Tutorialteil wird dem Projektil eine andere Physik zugeordnet.

Dann bleiben die geschossenen Cookies bzw. Kristalle nicht in der Wand stecken, sondern fallen herunter.

Die Form, die genutzt wurde, muss vom Projektfenster ins Hierarchiefenster gezogen werden. Von dort aus verschiebe den Cristall zurück ins Projektfenster, zu FPS–>Prefabs

Wähle Original Prefab aus. Benenne das Prefab um in z. B. CrystalwithPhysic. Jetzt öffne es per Doppelklick. Wähle mit der rechten Maustaste im Transformbereich Reset. Setze Scale auf die Größe, die der Kristall nach dem abschießen annehmen soll.

Anschließend gehst du auf Add Component. Du benötigst 2 verschiedene: Mesh Collider und Rigidbody

Unter Mesh Collider muss die Convexbox aktiviert sein.

CrystalwithPhysik

Suche im Projektfenster das Projektilprefab, dass du vorher erstellt hast. Öffne es.

Gehe im Inspectorfenster zu Projectile Standard. Wähle das Impact VFX. Wähle den CrystalwithPhysics aus. Speichere und probiere es aus.

Einen Level bauen

Für den Levelbau greifst du auf ProGrids zurück. Überprüfen, ob die Hauptszene offen ist. Suche zuerst das Room_Altar prefab und zur Szene hinzufügen.

RoomAltar

Ziehe es vom Projektfenster in die Szene. Aktiviere den Snap-Button.

Steigere den Snap Value auf 1.

Betätige den Push to Grid-Button und das Objekt wird an die Ebene geheftet.

Push to Grid

Gegnern Zugang zum neuen Raum verschaffen

Nach der Platzierung, wähle im Hauptmenü –>Window–>AI–>Navigation

Betätige den “Bake”-Tab. Jetzt können die Gegner den neuen Raum betreten.

Bake0

Den Level erweitern

Wähle unter den Assets den Dungeon-Ordner aus.

Dungeon

Wähle Dun_BigDoor aus und platziere sie. Bei Bedarf kannst du jetzt noch Fußböden und Wände hinzufügen. Vergiss nicht, den Weg der AI mit der Bake-Funktion zu erweitern.

Ein NavMesh mit neuer Area kreieren

Im NavMesh-Bereich erstelle einen neuen Bereich namens Lava. Gib ihm den Kostenwert von 23. Du findest ihn unter dem Hauptmenü–>Window–>AI–>Tab-Bereich Area

Create NewArea

Suche dir ein Gegnerprefab im Projektfenster. Im Inspectorfenster suchst du den Nav Mesh Agent. Such die Area-Maske. Deaktiviere dort die Bereiche, in denen die AI sich nicht aufhalten soll.

Nav Mesh Agent

Der Objects Tab

Du hast einen neuen Bereich geschaffen. Wähle ein spezielles Stück vom Fußboden aus und definiere ihn über den Objects Tab als Laval. Wähle dafür ein Objekt in der Szene oder im Hierarchiefenster aus. Hast du es markiert, wähle Mesh Renderers aus. Wenn du Terrain benutzt, wähle Terrain.

Objecttab

Wenn du das Objekt gewählt hast, wird die Navigation Area verfügbar. Wähle im Dropdown-menü die gewünschte Area aus. Gehe zum Bake Tab und aktiviere Bake.

Der nächste Tutorialteil beschäftigt sich mit der Platzierung von Objekten.

Mit Strg+linke Maustaste sowie dem aktivierten Rotationtool mit E, lässt sich der Gegenstand bzw. das Asset rotieren. Mit der Kurztaste W wechselst du zum Bewegungstool.

Das Tutorial geht nocheinmal auf die drei Achsen ein, über welche Objekte bewegt werden können.

Die Gesundheit des Charakters steigern

Öffne zuerst die Hauptszene im Projektfenster. Wähle den Player im Hierarchiefenster. Gehe zum Inspectorfenster und suche nach dem Script für Health. Steigere diese auf einen Wert deiner Wahl.

Health

Ein weiterer Punkt sind Veränderungen am Charakter. Dafür wird der Player Character Controller genutzt. Hier lassen sich beispielsweise Max Speed Ground u.a. verändern.

Max Speed Ground ist die maximale Geschwindigkeit auf dem Boden.

Jump Force definiert die Sprunghöhe

Rotation Speed beeinflusst die Rotationsgeschwindigkeit des Charakters.

Das Jetpack Script ermöglicht Einstellungen beim Jetpack:

Is Jetpack Unlocked at Start: Kann das Jetpack bereits zu Spielbeginn freischalten

Consume Duration: definiert die Sekundendauer, die benötigt werden, um die Jetpackfüllung zu verbrauchen.

Auch der Sound vom Jetpack kann unter Audio Source angepasst werden.

Hier geht’s zum Game vom 2. Tutorial

(Werbung)

Schlagwörter:

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.