How can I have camera and player rotation independent from each other?

How do you have a camera follow player at a simple offset, ignoring any rotation player has? I’ve tried camera as both a component on player blueprint and a blueprint of its own, but it still rotates with player for some reason. If I set camera’s max rotation to 0, it no longer rotates but player can no longer rotate either.

Any ideas?

1 Like

It’s third person ( camera will follow player’s position), however gameplay is done in a way where camera should never rotate according to player.

Hey Nalto,

What kind of project are you making? Is it a top down? Have you looked at MyCharacter blueprint in a new Blueprint Top Down project?

If you take a look at third person blueprint example you will see 3 commented sections, gamepad inputs, mouse inputs and movement (Something like that).

If you take out mouse inputs you will have a static camera that should follow your pawn.

Now logic is that your character will move towards where you camera is pointing, if your camera is static then that won’t work; If you take out logic for calculating forward vector then it should solve it.

Decipher projects, content examples ‘Blueprint inputs’ and just play with nodes in general with trial and error.

forward/backwards movement is fine, problem lies with adding to player controller’s yaw. Locking camera’s rotation seems to also lock controller’s rotation for some reason.

Because it takes cameras forward vector (Which I did say above).

Sorry, yes, I do understand that. Are you suggesting that rather than using inbuilt yaw node in Blueprint, I simply adjust rotation directly? I’ve looked everywhere and it doesn’t seem like there’s a toggle for having controller’s yaw be based on camera or not.

If you look at top-down blueprint example you should be able to see how it works because that’s default camera behavior.

Basically it has a player mesh with a spring between mesh and camera. spring is what gives camera distance and rotation. To see how it keeps camera from rotating, open up MyCharacter BP, go to component view, select SpringArm1 and note that under Transform in Details you will see “Absolute Rotation.” If you were to click that, then it specifies just “Rotation” which is not what you want because it is rotation relative to player.

hello, were you able to solve this? I’m also struggling to achieve this.

Hi! You should select your camera in components group, in transform rollout toggle from relative coordinate system to world coordinate system

I managed to resolve this. I was having same issue.
Go to you character.
Under defaults untick Use controller Rotation pitch, yaw, roll.
Depending if you want your character to rotate towards camera angle when moving, tick or untick Orient rotation to movement.
If unticked player will not rotate when moving. You will have to manually rotate him
If ticked player will rotate in direction of camera when moving.

I left all my rotations on relative.
Also make sure that your camera arm is linked under Root and not mesh.
If it is a child of mesh and not root, then mesh and camera will both rotate.

2 Likes