Smoothly stopping an indefinite CameraShake?

I’m using Unreal Engine 5.1 with an Wave Oscilator Camera Shake Pattern, but i think this will work just fine on Unreal Engine 4, i’ve had this problem before and it’s really simple what you can do, for a headbob you dont need all of that indefinite Camera Shake oscillation duration.

Here is what i did:

Go to the camera shake Blueprint Class and on the top of everything there is a Boolean “Single Instance” so turn that on.

Then below the Frequency of every Vector you have the Initial Offset Type (If you are on Unreal Engine 4 it will appear only as Initial Offset) and for default it’s set on “Random” (EOD Offset Random if you’re on Unreal Engine 4) you will want to switch that for “Zero” (again EOD Offset Zero if you’re on Unreal Engine 4)

If you dont have any Blend in Time or Blend out Time you will want to change that for something like 0.2 or 0.5 dont forget to change the Oscillation duration to 1 again

And here is an quick example of what you can do to make this work.

If you want differet Camera Shakes for different walking types like Running or when the player stops, you can do this by stopping all the Instances of the other Camera Shakes and starting the other.
Like if you want a Running camera shake just after verifying if the players its moving verify if the speed its greater than the normal walking speed with a branch if its true then you are running so stop all the instances of the Walking Camera Shake and start the Running Camera Shake.

5 Likes