How would you do a quake 1 style camera movement system?

I am working on blueprints that mimic existing games that I want to release for free and right now I am doing a template of Quake 1.

So for any of you who know the first person camera sways and bobs in Quake 1 when you walk around can you give me an idea of how I would do something similar in UE4?

My goal is to capture that same feeling of movement you get in Quake 1. Which as far as I can tell is not a pre baked animation but is rather just interpolating values continuously while a movement key is held down.

You could do it with a timeline and interpolating between two Z values.

Ill take a look at timelines. Sadly, for some reason I have yet to really use them beyond making a lift for a UT4 map a year ago. XD

There’s already a camera shake Blueprint type. You can loop and tie its frequency & amplitude to movement speed.

Oh they are pretty simple for interpolation I found out. Just make a timeline with a float track that has three points. One at time 0 with value 0, one at half the length of your time (so if your time is 1 make the second points time 0.5) with value 1 and then a third point at the max length with value 0. Mark all your points, right click on one of them and make them “Auto” instead of “Linear”. Should give you a nice curve.

In your construction script make a vector for where the camera start. We can call it CameraStartVector.
Then you make another vector called CameraEndVector which consists of the X and Y values from your CameraStartVector and the Z value + whatever how much it needs to go up.

Now you make an interpolation note and put your Start vector into A and your End vector into B. Then you draw a line from the float track in your timeline into the Alpha node and draw a line from your timeline Timelines Update to a SetRelativeLocation on your camera. You set the camera as the target, the value from your vector LERP as the new location, and there you go.

Then, when it stops, you can abort the timeline and lerp from whatever position the camera is in to the start position to avoid offsets if your timeline is stopped in an inconvenient place.