Hey.
I am working on an FPS framework, but i’m having trouble with a jittery camera.
I have no problems when i look around without moving, but when i begin moving, their is a visible stutter in the movement of the viewmodel. I am using a spring module to create the sway.
I have tried to find a solution, and there are a couple of topics which have the same issue as I do, but i can’t seem to apply their solutions to my code.
https://gyazo.com/f70fc6d7e31176a6be7de53bba19f129
The screen capture didn’t really pick up the stuttering, but it is very visible in-game
Spring Module code
local spring = {}
function spring.new(position, velocity, target)
local self = setmetatable({}, {__index = spring})
self.position = position
self.velocity = velocity
self.target = target
self.k = 1;
self.friction = 1;
return self
end
function spring:update()
local d = (self.target - self.position)
local f = d * self.k
self.velocity = (self.velocity * (1 - self.friction)) + f
self.position = self.position + self.velocity;
end
return spring
RenderStepped Function
runService.RenderStepped:Connect(function()
local angles = CFrame.Angles(0, math.rad(90), 0)
local offset = CFrame.new(0, -1, 0)
positionSpring.target = (camera.CFrame * offset * angles).Position
positionSpring:update()
local ax, ay, az = camera.CFrame:ToEulerAnglesXYZ()
plrvp.HumanoidRootPart.CFrame = (CFrame.new(positionSpring.position) * CFrame.Angles(ax, ay, az) * angles)
end)
Thanks in advance