Worlds strangest bug

ok i was writing a function to simulate recoil on my gun, heres the part that doesnt work:

	for i, v in ipairs(Camera:GetChildren()) do
		RecoilCF = RecoilFunction(0.4)
		if v:IsA("Model") then
			v:SetPrimaryPartCFrame(RecoilCF)
		end
	end

“RecoilFunction” gives simulates the recoil and then turns it into a cframe. it outputs the correct CFrame so RecoilCF should be correct. but then then we set the models cframe to RecoilCF. it gives the correct output EXCEPT for the Y position which should be positive 0 to 2 but instead is negative 500 to 250. how can i fix it?

edit: ive now comfirmed that it is not RecoilCF that is wrong but something with the
“if v:IsA(“Model”) then v:SetPrimaryPartCFrame(RecoilCF) end” part

ok it was a clipping issue sorry