Part.CFrame = Camera.CFrame or Part.CFrame = CFrame.new(Part.Position,Part.Position+Camera.CFrame.LookVector) if you want the part to be not on the camera
function lookAt(target, eye)
local forwardVector = (eye - target).Unit
local upVector = Vector3.new(0, 1, 0)
-- You have to remember the right hand rule or google search to get this right
local rightVector = forwardVector:Cross(upVector)
local upVector2 = rightVector:Cross(forwardVector)
return CFrame.fromMatrix(eye, rightVector, upVector2)
end