The issue is caused inside the pivotAroundPoint
method in Component3D. Even when the rotation from self.offset
is a blank CFrame, it returns incorrect results when it should have returned the original point. All of the frames experience the glitch, but it adds up and becomes visible around 8 frames in.
Continue to consider using BindToRenderstep
though. I’m surprised it doesn’t stutter when you turn your camera without this, but that’s not important right now.