Hi, I’m currently building a Blueprint prototype for a Third Person ‘Survival’ cam, much like what you’d see in games like The Last of Us, Dead Space and so on. I’ve got the camera functionality and the zoom in mode all working, but I’m having a problem where I can’t get the player to strafe, but still orient ‘orient rotation to movement’.
Basically, what I’m trying to achieve is this:
- When the player uses the WASD/Left Thumbstick to move, the character moves, but always facing in the direction of the camera. So for example, if you went left, your character would strafe left.
- The Mouse/Right Thumbstick controls the camera. If the character is not moving, the camera will simply spin around the player (without affecting the character rotation). However, as soon as you attempt to move the player, the character rotates to face the camera, using the camera’s face direction as ‘forward’.
So as I mentioned briefly at the top, I’ve got all this working, EXCEPT for the player strafing whilst in the normal camera. Instead, the character turns to face the direction he’s walking. I have tried turning off ‘Orient Rotation to Movement’, which does make the character strafe instead of rotate, but this then stops him rotating all together. The way I thought of fixing this was to update the player rotation when there is movement input triggered, but this just makes the character always face the camera.
If anyone knows of a solution, where I’m going wrong, or a better way of doing this, I’d be extremely grateful if they could let me know. I’ll post what I’ve got so far below, and just to re-iterate, I’m doing this in Blueprints not C++
Many thanks!