Fixed Camera MGS-Style (UE 4-27)

How do I set the default camera so that it is fixed and follows the character’s movement without rotating, like in games such as “Metal Gear Solid?” The camera would only follow, but the character would still be free to move and rotate as needed.

After asking around on Facebook, I got a pointer and have copied and pasted the SpringArm with the top-down camera orientation from a newer project with the Top Down setting. But, I still have one other question that I’d sure appreciate help with: I figured out how to rotate the camera; but, when I do, it scrambles the movement controls. Instead of going north, the player character goes south; instead of east, it goes west.

How do I set the controls to follow the camera rotation? That is, how do I set the controls to not change when the camera rotates?

when the camera rotates, and the character uses the cameras forward and right vector for movement, the movement rotates with the camera.
in order to hold the movement, you need to use an external or not camera relevant component, that stays in its rotation all the time.

so instead of camera forward/right vector for movement, you use Actor forward/right vector.

Make sure to rotate the spring arm, not the camera, relative to the actor. This way, the actor stays in its 0,0,0 Rotator, the spri g arm rotates the camera relative to that, and your movement is always based on the actor rotation (still 0,0,0) and not the camera facing

1 Like

I’m sorry for the confusion, but I meant to say I set the spring arm to rotate when triggered upon stepping on a trigger box. But I should still use the Actor Forward and Right vector nodes, right?

1 Like

I’m not entirely sure how to make this work. So far, I have both the Actor Forward and Right vector nodes, but they don’t seem to work directly with Set Actor Rotation, which is triggered after the level sequence that causes the spring arm to rotate around the player.

Would I need to set the X, Y and Z coordinates with a Make Transform node? Or would I need some other node to set those?

Here are the trigger box in question and the Sequencer with the Spring Arm that rotates when stepped on…

And here is what I have on the level blueprint, since that contains the nodes relating to that trigger box that plays the rotation sequence. So, how would I reset the player rotation, in this case?

Given the images in the above post, do you think I’m on the right track in resetting the player’s controls according to where the camera is facing?

I’ve just figured out the solution!

Here’s what I found out: after receiving feedback from an UE expert on Facebook, I set the Get Player Controller and Get World Rotation nodes to attach to the Set Control Rotation node. The target needs the Get Player Controller node, and the New Rotation slot needs the coordinates belonging to the camera you are changing to. This prevents the player’s directional controls from scrambling.

Thanks for your help, once again!

1 Like