I can’t explain but please look at this

I want to player tilt vertically, not curvy.
I think it’s because the animation rotates torso, and my script only changes a motor6d value
my code:
RunService.Heartbeat:Connect(function(dt)
if not character then
return
end
if not (character:FindFirstChildOfClass("Humanoid") and character.Humanoid.Health > 0 and character:FindFirstChild("Head")) then
return
end
local neck = character.Head.Neck
local waist = character.UpperTorso.Waist
local rShoulder = character.RightUpperArm.RightShoulder
local lShoulder = character.LeftUpperArm.LeftShoulder
waist.C0 = waistC0 * CFrame.Angles(Theta*0.333, 0, 0)
neck.C0 = neckC0 * CFrame.Angles(Theta*0.333, 0, 0)
lShoulder.C0 = lShoulderC0 * CFrame.Angles(Theta*0.667, 0, 0)
rShoulder.C0 = rShoulderC0 * CFrame.Angles(Theta*0.667, 0, 0)
end)
Thank you for reading this!