Sprinten in UE4 - Blueprint und C++

  • 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

    Code
    void ATutorialsCodeCharacter::SprintStart()
    {
        CharacterMovement->MaxWalkSpeed = 1200.f;
    }
    
    
    void ATutorialsCodeCharacter::SprintEnd()
    {
        CharacterMovement->MaxWalkSpeed = 600.f;
    }


    Und ihr seid fertig :D