diff --git a/Source/RWTHVRToolkit/Private/Pawn/VirtualRealityPawn.cpp b/Source/RWTHVRToolkit/Private/Pawn/VirtualRealityPawn.cpp
index 583154554c37cea3b6d0b2acdccb905cf506eeec..df743136dcaa928742211b7600eb9a262e5a43f7 100644
--- a/Source/RWTHVRToolkit/Private/Pawn/VirtualRealityPawn.cpp
+++ b/Source/RWTHVRToolkit/Private/Pawn/VirtualRealityPawn.cpp
@@ -56,6 +56,7 @@ void AVirtualRealityPawn::SetupPlayerInputComponent(UInputComponent* PlayerInput
PlayerInputComponent->BindAxis("MoveForward", this, &AVirtualRealityPawn::OnForward);
PlayerInputComponent->BindAxis("MoveRight", this, &AVirtualRealityPawn::OnRight);
+ PlayerInputComponent->BindAxis("MoveUp", this, &AVirtualRealityPawn::OnUp);
PlayerInputComponent->BindAxis("TurnRate", this, &AVirtualRealityPawn::OnTurnRate);
PlayerInputComponent->BindAxis("LookUpRate", this, &AVirtualRealityPawn::OnLookUpRate);
@@ -90,6 +91,14 @@ void AVirtualRealityPawn::OnRight_Implementation(float Value)
}
}
+void AVirtualRealityPawn::OnUp_Implementation(float Value)
+{
+ if (RightHand)
+ {
+ AddMovementInput(RightHand->GetUpVector(), Value);
+ }
+}
+
void AVirtualRealityPawn::OnTurnRate_Implementation(float Rate)
{
/* Turning the user externally will make them sick */
diff --git a/Source/RWTHVRToolkit/Public/Pawn/VirtualRealityPawn.h b/Source/RWTHVRToolkit/Public/Pawn/VirtualRealityPawn.h
index 9f027a03fe0cd0406687d7ac97adc0f7aaa58c7b..0e32e7a657d038ee2e6e98d995adbd7f03672014 100644
--- a/Source/RWTHVRToolkit/Public/Pawn/VirtualRealityPawn.h
+++ b/Source/RWTHVRToolkit/Public/Pawn/VirtualRealityPawn.h
@@ -40,6 +40,7 @@ protected:
/* Movement */
UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "Pawn|Movement") void OnForward(float Value);
UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "Pawn|Movement") void OnRight(float Value);
+ UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "Pawn|Movement") void OnUp(float Value);
UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "Pawn|Movement") void OnTurnRate(float Rate);
UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "Pawn|Movement") void OnLookUpRate(float Rate);