Unreal Engine Sprint und Ausdauer: Eine Ausdauerleiste mit KI bauen
Sprint mit Ausdauer in Unreal Engine: Left Shift für 900, die Leiste sinkt um 25 pro Sekunde, erholt sich nach 1 Sekunde und sperrt bei Leere.
Ein Ausdauersystem in Unreal Engine besteht aus drei kleinen Ideen: einer Zahl, der Ausdauer; einer Regel, die sagt, wann du rennen darfst und was es kostet; und einer Regel, die sagt, wann sie zurückkommt. Alles auf dem Bildschirm, die Leiste, die Farbe und das Tempo, ist eine Reaktion auf diese eine Zahl. Am einfachsten baust du es, indem du eine KI in einer einzigen Anfrage nach dem ganzen System fragst, mit Tempo, Verbrauch, Regeneration und Sperrregeln.
In dieser Anleitung baut Ultimate Engine CoPilot einen Sprint auf Left Shift mit einer Ausdauerleiste, die sinkt, sich erholt und bei Leere sperrt. Du bekommst den genauen Prompt, ein Problem, das die KI im Charakter gefunden und gelöst hat, und eine einfache Erklärung, wie ein Ausdauersystem funktioniert.
Was das fertige System macht
Du gehst, und es gibt keine Leiste, denn die Ausdauer ist voll. Du hältst Shift, der Charakter rennt schneller, und über der Fähigkeitenleiste erscheint eine kleine Leiste. Sie sinkt, während du rennst, und wird orange, wenn sie fast leer ist. Du lässt los, wartest eine Sekunde, und sie füllt sich wieder. Und wenn du rennst, bis sie leer ist, bleibt der Sprint gesperrt, bis sich die Leiste erholt hat.

Beim Sprinten: Die grüne Ausdauerleiste sitzt über der Fähigkeitenleiste.
Der Prompt
Kopiere ihn, ändere das Tempo oder den Verbrauch und sieh, was die KI daraus baut:
Make sprinting with a stamina bar. Create WBP_StaminaBar in /Game/Series/EP39_Sprint, a thin horizontal bar at the bottom centre of the screen above the existing ability bar, 400 pixels wide and 14 pixels high, with a dark background and a green fill that turns orange below 30 percent, and hidden while stamina is full. Create BP_SprintController in the same folder, an actor that I place once in the level, that adds the widget on BeginPlay and listens for Left Shift. While Left Shift is held, the player is moving and stamina is above 0, set the character's MaxWalkSpeed to 900 and drain 25 stamina per second out of 100. When the player is not sprinting, wait 1 second and then regenerate 20 stamina per second. If stamina reaches 0, sprinting stays locked until stamina is back to 30. The actor must read and remember the original MaxWalkSpeed and restore it when the sprint ends. Keep the sprint speed, the drain, the regeneration and the lock threshold as variables. Place the actor near the player start. Then play test it: record the original walk speed, hold Left Shift while moving forward and check the speed is 900 and stamina falls, release and check the original speed is restored and stamina regenerates after the delay, hold until stamina is empty and check the sprint is locked, and fix anything that does not work.
Sieh dir die Zahlen an: 900, 25, 20, 30 und 1 Sekunde. Jede Regel hat eine Zahl, die KI muss also nicht raten, was sich richtig anfühlt. Und achte auf noch etwas: Der Actor muss sich das ursprüngliche Tempo merken und es wiederherstellen. Sagst du das nicht, lassen viele Sprint-Systeme den Spieler mit dem falschen Tempo zurück.
So baut die KI es
Die KI beginnt damit, das Projekt zu lesen. Sie findet das HUD, um zu sehen, wo die Fähigkeitenleiste sitzt, damit die neue Leiste darüber Platz findet, ohne sie zu verdecken. Dann erscheinen die beiden Assets: das Widget der Ausdauerleiste und der Sprint-Controller-Blueprint. Die Zahlen, die du verlangt hast, werden zu Variablen, sodass du sie später ändern kannst, ohne den Graphen anzufassen.
Die Leiste landete zuerst am linken Rand, deshalb hat die KI den Anker auf unten Mitte korrigiert und den Controller in die Nähe des Spielerstarts gesetzt.

Der Graph des Controllers: In jedem Frame prüft er Shift, Bewegung und Ausdauer.
Ein Problem im Charakter
Der erste Durchlauf besteht 11 Prüfungen, zwei schlagen fehl. Die KI liest die Fehlschläge: Das Tempo hätte 900 sein sollen und blieb bei 600, und während der Sprint gesperrt war, zeigte das Tempo 1000. Sie findet die Ursache. Dieser Charakter hat bereits einen eigenen Sprint, der das Tempo in jedem Frame auf 1000 setzt. Ein echtes Projekt sieht oft so aus, und die KI hat es umgangen, ohne den Charakter anzufassen. Der Controller schreibt sein Tempo jetzt in jedem Frame, nach dem Player Controller und vor der Bewegung.
Der zweite Durchlauf besteht alle 19 Prüfungen.
Der Bericht

Der Nachweis für jede Regel und die Hinweise zum eigenen Sprint des Charakters.
Der Bericht enthält eine Tabelle mit jeder Prüfung und dem Nachweis:
- Das Lauftempo ist 600. Beim Sprinten ist das Tempo 900 und die tatsächliche Pawn-Geschwindigkeit 899.98.
- Ausdauer nach 1,5 Sekunden Sprint: 61.5, nahe an den 62.5, die die Zahlen vorhersagen.
- Nach dem Loslassen ist das Tempo wieder 600. In der ersten Sekunde gibt es keine Regeneration, dann füllt sich die Leiste.
- Bis zur Leere gehalten, sperrt der Sprint. Bei weiter gehaltenem Shift und 13.9 Ausdauer beträgt das Tempo 600. Die Sperre löst sich bei 30.8, und der Sprint läuft wieder mit 900.
Der Bericht ist ehrlich darüber, was die KI nicht gesehen hat. Die orange Leiste hat sie auf dem Bildschirm geprüft, die grüne Leiste und den versteckten Zustand aber nur im Widget-Graphen. Und der eigene Sprint des Charakters wird überschrieben, nicht entfernt, weil dieser Charakter aus einem Asset-Pack stammt. Die KI bietet an, ihn zu entfernen, falls du das möchtest. Außerdem ist das Level nicht gespeichert.
Wie ein Ausdauersystem funktioniert, einfach erklärt
In jedem Frame prüft der Controller drei Dinge: Wird Shift gehalten, bewegt sich der Spieler, und ist die Ausdauer über null und nicht gesperrt? Lautet die Antwort dreimal ja, gilt das Sprint-Tempo, und die Ausdauer sinkt ein kleines Stück: der Verbrauch mal die Frame-Zeit. Wenn nicht, geht das Tempo auf den gemerkten Wert zurück. Ein Timer zählt eine Sekunde, und danach steigt die Ausdauer in jedem Frame ein kleines Stück.
Erreicht die Ausdauer null, schaltet sich ein einziges Flag ein, locked, und es schaltet sich erst wieder aus, wenn die Ausdauer bei 30 ist. Diese Lücke verhindert, dass der Sprint flackernd an und aus geht. Und die Leiste liest nur die Zahl: grün, dann orange unter 30 Prozent. Weil das Tempo, der Verbrauch und die Regeneration Variablen sind, kannst du mit drei Zahlen einen schwerfälligen oder einen unermüdlichen Läufer bauen.
Ideen zum Erweitern
- Andere Kosten für das Springen.
- Ein kurzes Erschöpfungsgeräusch und schwereres Atmen, wenn die Leiste leer ist.
- Ein Sichtfeld, das sich beim Sprinten etwas weitet. Wie das Sichtfeld überblendet wird, siehst du in der Unreal Engine Zoom-Ansicht.
Vier Tipps für Ausdauer-Prompts
- Gib jeder Regel eine Zahl: Tempo, Verbrauch, Verzögerung, Sperre.
- Sag, wo die Leiste hinkommt, relativ zur bestehenden UI.
- Bitte die KI, das ursprüngliche Tempo wiederherzustellen.
- Bitte sie, auch den leeren Fall zu testen, nicht nur den vollen.
Häufig gestellte Fragen
Wie baue ich in Unreal Engine 5 einen Sprint mit Ausdauer?
Setze MaxWalkSpeed höher und lass die Ausdauer in jedem Frame sinken, solange die Taste gehalten wird und sich der Spieler bewegt. Regeneriere nach einer Verzögerung und sperre den Sprint bei null, bis sich die Ausdauer bis zu einer Schwelle erholt hat.
Warum bleibt der Sprint gesperrt, bis die Ausdauer wieder bei 30 ist?
Eine Lücke zwischen dem Leerwert und dem Entsperrwert verhindert, dass der Sprint flackernd an und aus geht, wenn die Ausdauer um null schwankt.
Warum sind im ersten Durchlauf zwei Prüfungen fehlgeschlagen?
Der Charakter hatte schon einen eigenen Sprint, der das Tempo in jedem Frame auf 1000 setzte. Die KI hat das umgangen, indem sie ihr Tempo in jedem Frame in der richtigen Reihenfolge schreibt, ohne den Charakter zu ändern.
Probier es in deinem Projekt aus
Sieh dir auf der Produktseite an, was Ultimate Engine CoPilot bauen kann, oder hol es dir auf Fab. Erfahre, wie der KI-Blueprint-Generator funktioniert.
Weitere Builds aus dieser Serie: Unreal Engine Eisfleck, Unreal Engine Speed-Boost und Unreal Engine Fallschaden.