CFrame adding up

Hi! I am making a custom camera and want to know how to achieve CFrame’s not adding up, but instead follow the part at the same distance (so its like welded to the part)

camera.CameraType = "Scriptable"
game:GetService("RunService").RenderStepped:Connect(function()
   camera.CFrame = camera.CFrame * CFrame.new(1, 0, 0) -- Every frame it adds 1 stud
end

Also I want to make this without using actual welds
Thanks for the help!

I’d say, make a script that detects movements in the part, probably it’s easiest to do x,y,z apart and then commit those changes to the cframe of the camera as well

uh sorry my bad, ik what I did wrong, I dont know why I didnt see that but instead of:

camera.CFrame = camera.CFrame * CFrame.new(1, 0, 0)

I need to do:

camera.CFrame = character.HumanoidRootPart.CFrame * CFrame.new(1, 0, 0)