Project: Paper2D

Hello ,

I am currently having an issue with Movement Component on a paper2d Project. I’m currently attempting to make an isometric game, and I have set movement component to flying, with no gravity. I have designed proper air braking to give walking effect a good feel but works only when its uni-directional input. Once I start a multi-directional input, movement component ignores braking and starts to “float” giving a drifting effect with character. Going from UP + LEFT to LEFT causes component to bank a little bit before course correcting to a full left direction. Same with any other multi-direction to uni-directional/multi-directional movement/direction. I was wondering if you had any suggestions to remove banking effect currently happening.

is my current c++ settings for my movement capsule.


// Configure character movement
	GetSprite()->SetEnableGravity(false);
	GetCharacterMovement()->DefaultLandMovementMode = MOVE_Flying;
	GetCharacterMovement()->GravityScale = 0.0f;
	GetCharacterMovement()->AirControl = 1600.80f;
	GetCharacterMovement()->bCheatFlying = true;
	GetCharacterMovement()->MaxFlySpeed = 600.0f;
	GetCharacterMovement()->BrakingDecelerationFlying = 500.f;
	GetCharacterMovement()->FallingLateralFriction = 0.f;

	GetCharacterMovement()->GroundFriction = 0.0f;
	GetCharacterMovement()->MaxWalkSpeed = 600.0f; //does nothing
	GetCharacterMovement()->BrakingDecelerationWalking = 3048.f;
	GetCharacterMovement()->JumpZVelocity = 1000.f;


	// Lock character motion onto  XZ plane, so  character can't move in or out of  screen
	GetCharacterMovement()->bConstrainToPlane = true;
	GetCharacterMovement()->SetPlaneConstraintNormal(FVector(0.0f, -1.0f, 0.0f));

	// Behave like a traditional 2D platformer character, with a flat bottom instead of a curved capsule bottom
	// Note:  can cause a little floating when going up inclines; you can choose  tradeoff between better
	// behavior on  edge of a ledge versus inclines by setting  to true or false
	GetCharacterMovement()->bUseFlatBaseForFloorChecks = true;

Any help in would be greatly appreciated.

Thank You,
Batista