Unity 3D Tutorial Teil 8

Unity 3D Tutorial – User Interface mit Lebensanzeige (8/12)

Gefällt Dir der Artikel? Dann teile ihn doch, um diese Informationen auch anderen zugänglich zu machen!

Seiteninhalt

In diesem Abschnitt des Unity 3D Tutorials erstellen wir ein User Interface mit einer Lebensanzeige für den 3D Character. Das ist wichtig, da die Gegner den Character attackieren können. Das haben wir im letzten Teil des Tutorials durchgeführt. Dadurch wird ein Schaden verursacht. Allerdings gibt es noch kein User Interface, das die Gesundheitspunkte darstellt. Und genau das werden wir uns in diesem Abschnitt ansehen.

User Interface hinzufügen

Im ersten Schritt wollen wir das User Interface hinzufügen. Dazu nutzen wir ein Prefabs aus dem 3D Gamekit. Navigiere dazu in den Ordner 3D Gamekit -> Prefabs -> UIPrefabs. Dort findest du das Prefab HealthCanvas. Es besteht auch die Möglichkeit eine neue UI zu erstellen. Das kann mit den Elementen über das Pluszeichen in der Hierarchie und dann UI durchgeführt werden. In diesem Unity 3D Tutorial wollen uns aber auf das vorgefertigte User Interface fokussieren. Um es zu verwenden, kannst du es per Drag and Drop in die Hierarchie importieren.

User Interface hinzufügen

Im GameObject HealthCanvas und der Komponente Represented Damageable ist es notwendig, den 3D Character zu verlinken. Durch diese Referenz wird das User Interface mit dem Schaden des Characters verlinkt. Sobald dieser vom Gegner attackiert und getroffen wird, entsteht ein Schaden und das hat wiederrum Einfluss auf die UI. In unserem Fall soll dadurch ein Leben in der Anzeige abgezogen werden. Es gibt aber auch den Fall, dass über ein Medikit die Anzeige erneuert wird. Auch das wird über diese Einstellung sichergestellt.

Bevor wir weitere Einstellungen vornehmen, testen wir die 3D Anwendung über den Play-Button. Das User Interface sollte jetzt in der oberen linken Ecke erscheinen. Die Anzeige wird dynamisch über Variablen generiert. Das ist ein großer Vorteil gegenüber einer statischen Erstellung. Denn damit kann die UI mit einer einzigen Variable verändert werden. Dazu aber gleich mehr.

Wird der Character jetzt von einem Gegner attackiert, erhält er einen Schaden. Allerdings wird die UI nicht aktualisiert. Das werden wir jetzt ändern.

Einstellungen für User Interface

Um die UI mit der Lebensanzeige zu aktualisieren, müssen wir Einstellungen beim Character vornehmen. Klicke dazu auf das GameObject Ellen und anschließend auf die Komponente Damageable (Script). Dort findest du zum einen den Parameter Max Hit Points. Dieser definiert die maximale Anzahl an möglichem Schaden. Dadurch wird die UI auch entsprechend dynamisch generiert. Zum anderen gibt es die Invulnerabilty Time. Diese gibt an, wie lange der Character nach einem Schaden unverwundbar ist. Beide kannst du beliebig anpassen.

Es gilt jetzt noch eine Verlinkung zum Event zu definieren, wenn der Character einen Schaden erhält. Das findest du unter On Receive Damage (). Dort gilt es eine Verlinkung zum Health System einzufügen. Bei None klickst du auf den Auswahlbutton und wählst Scene. Anschließend verlinkst du das HealthCanvas. Du kannst aber genauso gut das GameObject aus der Hierarchie per Drag and Drop hier platzieren. Und zu guter Letzt müssen wir noch die jeweilige Funktion auswählen, die beim Event On Receive Damage ausgeführt werden soll. In unserem Fall ist das ChangeHitPointUI.

User Interface Einstellungen

Jetzt kannst du das gleich nochmal testen. Das User Interface war vorher ja bereits vorhanden. Lediglich die Funktion zum Aktualisieren der UI hat gefehlt. Mit dieser Anpassung sollte sich die Lebensanzeige bei einem Schaden verändern.

Hinweis: Mit dem ultimativen Unity Cheat Sheet erhältst du einen detaillierten Überblick über Tipps & Tricks mit dem Umgang von Unity. Sichere dir jetzt das Cheat Sheet, um deine Anwendungen noch einfacher und effektiver erstellen zu können!

Bestimmte Parameter für User Interface anpassen

Wie vorhin erwähnt, gibt es im GameObject Ellen in der Komponente Damageable (Script) verschiedene Parameter. Dazu zählt auch Max Hit Points. Wird dieser auf einen anderen Wert geändert wie beispielsweise 3, so verändert sich auch die UI. Es werden statt 5 nur noch 3 Leben angezeigt. Das User Interface ist durch diese Parameter dynamisch veränderbar. Das bietet den großen Vorteil nicht das Skript selbst ändern zu müssen, sondern lediglich einen Parameter.

Ein weiterer Schritt ist jetzt noch die Lebensanzeige zurückzusetzen. Das lässt sich zum Beispiel über ein Medikit umsetzen.

Anpassung User Interface mit 3 Leben

User Interface mit Medikit zurücksetzen

Um die Lebensanzeige zurückzusetzen, wollen wir ein Medikit verwenden. Dieses findest du im Ordner 3D Gamekit -> Prefabs -> Interactables. Das Prefab HealthCrate kannst du anschließend an einer beliebigen Position in der Szene platzieren. Auch hier müssen wir das Damageable (Script) verlinken.

Wähle dazu das platzierte Medikit und navigiere zur Komponente Interact on Trigger (Event). Dort findest du das Event On Enter (). Es sind bereits verschiedene Funktionen eingetragen, die durch dieses Event ausgeführt werden. Um nun die UI zurückzusetzen, ist es wichtig, einen neuen Eintrag über das Pluszeichen zu erzeugen. Danach verlinkst du das GameObject Ellen und wählst unter Damageable die Funktion Reset Damage. Damit wird zunächst der Schaden im Character zurückgesetzt.

Schaden bei Character zurücksetzen

Um zusätzlich die UI anzupassen, müssen wir noch eine weitere Einstellung vornehmen. Aktuell wird der Schaden nur beim Character zurückgesetzt. Das ändern wir, indem wir bei Ellen in der Komponente Damageable (Script) das User Interface verlinken. Dort gibt es das Event On Reset Damage(). Das bedeutet, sobald der Schaden im Character zurückgesetzt wird, soll eine Funktion ausgeführt werden, welche die UI anpasst. Dazu verlinkst du das Game Object HealthCanvas und wählst die Funktion ChangeHitPointUI unter Damageable.

Schaden im User Interface zurücksetzen

Durch alle diese Einstellungen wird die Lebensanzeige durch einen Schaden verringert und durch das Medikit zurückgesetzt. Du kannst die Anwendung gleich einmal testen. Im nächsten Teil des Unity 3D Tutorials werden wir uns dann um die Respawn Logik kümmern. Sobald der Character eliminiert wird, soll dieser an einer bestimmten Position neu erscheinen.

Hinweis: Du willst in der 3D-Entwicklung durchstarten? Dann teste jetzt nobreakpoints Pro. Dort lernst du in zahlreichen Online-Kursen und Workshops alle nötigen Skills.

Free

Trial

Keine Extra-Kosten.
Unverbindlich testen.

Bereit, deinen Weg in die 3D-Entwicklung zu starten?

Gefällt Dir der Artikel? Dann teile ihn doch, um diese Informationen auch anderen zugänglich zu machen!

Weitere Blogartikel

Bereit, deinen Weg in die 3D-Entwicklung zu starten?

Lerne in Rekordzeit alle nötigen Skills für Game Development, VR und AR – praxisnah und flexibel in deinem Tempo!

Suche

Bereit, deinen Weg in die 3D-Entwicklung zu starten?

Lerne in Rekordzeit alle nötigen Skills für Game Development, VR und AR – praxisnah und flexibel in deinem Tempo!