How to make tool following camera smoother

So, I’m making an fps game, and I want the tool to follow the player’s camera. I ended up coming across this post by EgoMoose. However, this is hard for me to follow as I have near no knowledge of this stuff. Then, I found this on
It is simpler, I can follow it better. Thing is, it is VERY choppy.
Is there a way to make it smoother? Is there a better method without using ViewModel? If there is no way without using ViewModel, is there a simpler ViewModel method?

Here is the script off of scripting helpers (Note: This is for r6 and the weapon has no handle because I followed headstackk’s animation tutorial.):

plr = game.Players.LocalPlayer; -- local script
repeat wait() until plr.Character
char = plr.Character
m = plr:GetMouse()
game["Run Service"].RenderStepped:connect(function()
    local c = game.Workspace.CurrentCamera

    char.HumanoidRootPart["RootJoint"].C0 =,0,0) * CFrame.Angles(-math.asin((m.Origin.p - m.Hit.p).unit.y) + 1.55,3.15,0)

    char.Humanoid.CameraOffset = (,0,0)):pointToObjectSpace(char.Head.CFrame.p +,-1.46,0))