Buggy View model script using :lerp()

Lerp and Tween are not the same. Tween gets something from A to B. Start to Finish. When you Lerp something you are taking it from A to B in an interval of sorts. using :Lerp(Stuff,1) Will set it instantly to its destination while using :Lerp(Stuff,0) wont move it at all. Essentially by using lerp all you are doing is moving it partially to its destination and by running it in a loop you are moving it over and over. An example below:

I think the best solution would be to use an actual Animation for the arm swaying and find another method to attach the arms to the camera.

If I call :Lerp(Stuff,.5) It will go half way. I then call :Lerp(Stuff,.5) again and now its 3/4 of the way to its destination. Because it originally when half way, and then it went half of that which is 1/4. 1/2 + 1/4 = 3/4. The more you call this the closer and closer it will get to its destination.

So essentially I need to use tween service then. Sway animations I donā€™t see how that could be made dynamically when they are preset animations. I wouldnā€™t actually think it would be this hard to implement. I obviously switched from setprimarypart to welding to camera with motor6d and weld constraints.

Do you think I just need to make a part that is always at camera thats invisible and attach the rig to that part and move the rig around than the camera part. I would think that would make things complicated then it needs to just for sway and I would have similar issues. Tween service will have to be better and maybe I can get the sway to work properly. ObjectSpace didnā€™t seem to work well and ToOrientation also.

Thanks for replying this thing is getting old to me but Iā€™m determined to get it working because it makes it look a little more polished. Btw the breathing is sine waves so the only animation is holding gun.