Hi!
Dieses Tutorial soll euch zeigen wie man einfach eine Sprinten funktion in UE4 macht.
Blueprint
Geht in eure ProjectSettings und auf Input.
Hier unter Inputactions eine neue Hinzufügen und "Sprint" nennen.
Hier die Taste "Left Shift" zuweisen.
Auf in den Charakter Blueprint! (da wo auch das andere Bewegungs zeugs ist)
Hier die InputAction Sprint hinzufügen.
Dann "Character Movement" hinzufügen und von da eine verbindung ziehen und SetMaxWalkSpeed hinzufügen (2 mal) (nach "walk" suchen mit "context sensitive" an, sonst findet man es nicht)
Character Movement auch zu dem 2. SetMaxWalkSpeed hinzufügen. (als Target)
Erstellt 2 float Variablen. Sprinten und Laufen. Jeweils einen Wert zuweisen (z.b. Laufen=600 | Sprinten=1000)
Jetzt InputAction Sprint Pressed zu SetMaxWalkSpeed verbinden (und das selbe nochmal für Released)
Jetzt die beiden Variabeln hinzufügen und Laufen zu dem SetMaxWalkSpeed von Released verbinden und Sprinten an SetMaxWalkSpeed von Pressed
C++
Öffnet euer Projekt in Visual Studio
Geht zu Config\DefaultInput und fügt +ActionMappings=(ActionName="Sprint",Key=LeftShift,bShift=False,bCtrl=False,bAlt=False) hinzu oder macht es wie oben beschrieben im UEd
Geht zu eurem Charakter.h
Und fügt void SprintStart(); und void SprintEnd(); hinzu
Im character.cpp InputComponent->BindAction("Sprint", IE_Pressed, this, &ATutorialsCodeCharacter::SprintStart); und InputComponent->BindAction("Sprint", IE_Released, this, &ATutorialsCodeCharacter::SprinEnd); hinzu.
Weiter unten jetzt einfach
void ATutorialsCodeCharacter::SprintStart()
{
CharacterMovement->MaxWalkSpeed = 1200.f;
}
void ATutorialsCodeCharacter::SprintEnd()
{
CharacterMovement->MaxWalkSpeed = 600.f;
}
Und ihr seid fertig