Recoil Recovery / Centerspeed logic

Hello! I am currently working on a FPS framework and more specifically the recoil system. One thing that I have gotten stuck on is the technical aspects behind creating recoil recovery. I started with thinking that I could simply find the players look vector and lerp the camera back to that position after a spray but for obvious reasons that didn’t work as intended. I’m going to go ahead and give some examples of exactly what I am trying to achieve then explain a little bit on how I am currently handling recoil

EXAMPLES:
Siege example : as you can see they are shooting and at the end of their spray the camera is returned to center.
Bad Business gif
Bad Business doesnt have recoil recovery and is a good example of how my recoil currently looks and what I’m trying to change to be more like apex and siege.
Apex Legends recoil recovery
Apex Legends recoil recovery example

My recoil system:
Basically I am currently using spring based recoil to offset the camera similar to the bad business example and the camera never returns to center. My goal is to have a variable I can change easily inside of my config for the gun that can change the centerspread I just need to find a logical solution on how to handle this so it works dynamically even when moving your aim around while spraying either vertically or horizontally that feels clean and intuitive. Any help is appreciated and thank you for your time!

3 Likes