x

Search in
Sort by:

Question Status:

Search help

  • Simple searches use one or more words. Separate the words with spaces (cat dog) to search cat,dog or both. Separate the words with plus signs (cat +dog) to search for items that may contain cat but must contain dog.
  • You can further refine your search on the search results page, where you can search by keywords, author, topic. These can be combined with each other. Examples
    • cat dog --matches anything with cat,dog or both
    • cat +dog --searches for cat +dog where dog is a mandatory term
    • cat -dog -- searches for cat excluding any result containing dog
    • [cats] —will restrict your search to results with topic named "cats"
    • [cats] [dogs] —will restrict your search to results with both topics, "cats", and "dogs"

APlayerController can't move Pawn with AddMovementInput

Hi So my problem is that I can't seem to move my Pawn from my PlayerController, I am very new to ue4 and have been looking for more information but can't seem to solve my problem.

I have the pawn and the player controller class assigned in the game mode class (It is also set as the main game mode in the settings):

 PlayerControllerClass = ADefaultPlayerController::StaticClass();
 DefaultPawnClass = ATSSPawn::StaticClass();

Now for my "Move Forward" Method which is bound to the axis, I have tried a couple of solutions and only 1 of them works and I am not sure if this is the right way to do it.

 void ADefaultPlayerController::MoveForward(float Value)
 {
     APawn* const MyPawn = GetPawn();
     if (MyPawn && Value != 0.0f) {
 
         //Doesn't work
         FRotator Rotation = GetControlRotation();
         const FVector Direction = FRotationMatrix(Rotation).GetScaledAxis(EAxis::X);
         MyPawn->AddMovementInput(Direction, Value);
 
         //Doesn't work
         MyPawn->AddMovementInput(MyPawn->GetActorUpVector(), Value);
 
         //Works 
         FVector NewLocation = MyPawn->GetTargetLocation();
         NewLocation.X += Value;
         MyPawn->SetActorLocation(NewLocation);
     }
 }

I would like to know why does the AddMovementInput function doesn't work in this case? What did I miss or what do I don't understand?

Product Version: UE 4.18
Tags:
more ▼

asked May 09 '18 at 04:29 PM in C++ Programming

avatar image

Anton_Toshik
1

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

1 answer: sort voted first

AddMovementInput is part of the Unreal API that's defined in Pawn.h. If you're using a PlayerController, you need to get the pawn that you want to add movement to, then use the MovementComponent to move the Pawn. I believe it's:

 MyPawn->AddInputVector(direction, scale, force);
more ▼

answered May 11 '18 at 03:48 PM

avatar image

Peter_C
3 1 1 3

(comments are locked)
10|2000 characters needed characters left
Viewable by all users
Your answer
toggle preview:

Up to 5 attachments (including images) can be used with a maximum of 5.2 MB each and 5.2 MB total.

Follow this question

Once you sign in you will be able to subscribe for any updates here

Answers to this question