Weapon Sway - Different Methods


Recently I was jumping into this topic. I have FPS game and wanted to add weapon sway. Similar to other games like Battlefield etc.

And I was wondering what is the ‘right’ way for doing it, or commonly used by experience coders?

  1. I mean, in my project I’ve tried simplest methods. I’ve just added spring arm with camera and attached hands to camera. But this is kind of basic, you just set up spring arm lag and that’s it. Works but it’s not perfect.

  2. I’ve just removed spring arm from 1st example. **And Now I’am running function on tick that is adding a little bit rotation when needed **( I’ve grab this example somewhere on YouTube ). Also Works but the whole arms are rotating. Sometimes I think would be better if only wrist and forearm will rotate slightly. So I’ve jump to other example.

  1. So I’ve think about **blend spaces. I’ve created 4 animations for weapon sway ( up, down, left, right ). I was feeding blend space with weapon sway data, and also everything works nearly OK ( I only had ugly shakiness on hands , but barely visible ). **Didn’t really expanded this 3rd example yet.

Anyway my question is how this should be done to be most effective and avoid bad situations later during development. Not sure if I should continue this approach with **blend spaces. **

**Maybe there is another way of doing it? **

Thanks in advance.