I am trying to translate this Blueprint tutorial into C++ code.
I started with the main 3rd person C++ project. I have two issues at this point.
GetActorForwardVector() for moving backwards always points in the direction that I spawned. So doesn’t matter which direction you turn to, if you start walking backwards you always go in the original backwards location.
I cannot use the same Forward Vector that I’m using to move forward (or can I?), I want the character to appear to walk backwards. When I use the same one, he flips around.
void ATestCharacter::MoveForward(float Value)
{
if ((Controller != NULL) && (Value != 0.0f))
{
// find out which way is forward
const FRotator Rotation = Controller->GetControlRotation();
const FRotator YawRotation(0, Rotation.Yaw, 0);
// get forward vector
FVector Direction = FRotationMatrix(YawRotation).GetUnitAxis(EAxis::X);
if (Value < 0)
{
Direction = GetActorForwardVector();
Value *= 0.5f;
}
AddMovementInput(Direction, Value);
}
}
The other problem is my mouse look adds all kinds of weird pitch. The default one kinda locks you into the x,y planes, but with this I am getting all kinds of Z.
void ATestCharacter::TurnAtRate(float Rate)
{
// calculate delta for this frame from the rate information
//AddControllerYawInput(Rate * BaseTurnRate * GetWorld()->GetDeltaSeconds());
if (!bRightMouseDown)
return;
CameraBoom->AddRelativeRotation(FRotator(0.0f, Rate, 0.0f));
// CameraBoom->AddLocalRotation(FRotator(0.0f, Rate, 0.0f));
//AddControllerYawInput(Rate);
}
void ATestCharacter::LookUpAtRate(float Rate)
{
if (!bRightMouseDown)
return;
CameraBoom->AddRelativeRotation(FRotator(Rate, 0.0f, 0.0f));
//CameraBoom->AddLocalRotation(FRotator(Rate, 0.0f, 0.0f));
//AddControllerPitchInput(Rate);
// calculate delta for this frame from the rate information
//AddControllerPitchInput(Rate * BaseLookUpRate * GetWorld()->GetDeltaSeconds());
}
Here’s full source code:
Header: // Copyright 1998-2015 Epic Games, Inc. All Rights Reserved.#pragma once#inc - Pastebin.com
Source: // Copyright 1998-2015 Epic Games, Inc. All Rights Reserved. #include "Engin - Pastebin.com
Inputs: http://i.imgur.com/GjZXPUG.png
Can anyone quickly see where I’m screwing up? It’s kind of hard to translate Blueprints correctly when the functions aren’t really 1:1.