In seiner Funktionalität auf die Lehre in gestalterischen Studiengängen zugeschnitten... Schnittstelle für die moderne Lehre
In seiner Funktionalität auf die Lehre in gestalterischen Studiengängen zugeschnitten... Schnittstelle für die moderne Lehre
One-Punch Man.
In diesem Tutorial zeige ich, wie man dem Character die Fähigkeit gibt zuzuschlagen und damit seine Umwelt zu beeinflussen.
Bevor wir schlagen können, müssen wir erstmal etwas zum draufschlagen erschaffen. Hierfür habe ich einen ganz einfachen Körper samt Hitbox erzeugt.
Als Parameter habe ich dem Gegner Lebenspunkte (Int/Float) und Namen (String) gegeben. Vergesst nicht die Augen anzuklicken, damit wir diese in der Szene für jeden unserer Gegner beliebig anpassen können.
Dieser erhält dann Code, wenn er Schaden bekommt, wofür Unreal schon ein Event hat. Wie praktisch. Dann nehmen wir den aktuellen Lebensstand und reduzieren um um den Schaden. Dass ist dann unser neuer Lebenspunktestand. Falls die Lebenspunkte dabei auf 0 fallen wird der Actor zerstört.
Nun zu unserem Character. Bevor wir zuschlagen können brauchen wir zwei Dinge. Eine Animation, und eine Hitbox. Falls ihr euren eigenen Character habt müsst ihr dass jetzt selber machen, für dieses Tutorial mit dem Unreal Mannequin benutze ich einfach die MM_Attack_01 Animation Sequence. Diese findet ihr unter Characters/Mannequins/Anims/Unarmed/Attack.
Mit Rechtsklick auf diese könne wir unter „create“ auf „create Animation Montage“ klicken. Dies gibt uns die tatsächliche Animation die wir verwenden werden.
Im Skeleton des Characters, Characters/Mannequins/Mehes, suchen wir uns jetzt die rechte oder linke Hand raus und binden mit Rechtsklick einen Socket an. Den positionieren wir so dass er schön auf den Knöcheln liegt.
Nun zum tatsächlichen Character BP. Wir erstellen als erstes eine Sphere Collision angebudnen an das Mesh. In den Einstellungen der Sphere müssen wir unter Collision schauen dass „Simulation Generates Hit Events“ an, „Generate Overlap Events“ aus und unter Collision Presets „OverlapAllDynamic“ ausgewählt ist.
Zusätzlich unter Sockets wählen wir unseren Socket vom Skeleton aus.
Als letztes geben wir usnerem Character noch die Variablen Strength (Int, public) und IsPunching (Boolean, false).
Nun zum Blueprint. Mit dem Drücken der linken Maustaste schauen wir ob unser Character schon schlägt, und falls nicht aktivieren wir „Generate Overlap Events“. Dann spielen wir unsere Animation Montage und sagen dem Character dass er gerade zuschlägt. Nach einem Delay der Länge der Animation, setzen wir „Generate Overlap Animation“ wieder auf False um zu verhindern dass es außerhalb des Schlages triggert und setzen IsPunching auch wieder auf false damit wir wieder zuschlagen können.
Wenn die Collision dann mit etwas Overlapt und dass ein Gegener ist, wird der Schaden in Höhe der strength einmal applied. Der D Once wird resettet wenn die Animation fertig ist.
Das war es schon. Ich hoffe es war alles aufschlussreich und hilfreich. Bonuspunkte: Falls ihr mein erstes Tutorial auch mitgemacht habt, könnt ihr Leute jetzt mit einem Donut schlagen.