Having to always put a question mark in the title is a bit annoying. Anyways...

I haven't tried raycasting in a while, and now that I've gotten back to it I seem to have forgotten how raycasting works. In the code below look is the LookVector of the LocalPlayer's camera. For context, the camera is locked in first person. Whenever I try to raycast, it always intersects the baseplate no matter what ( even when I look at the sky ). After doing a bit of testing I found out that the camera's LookVector is always the same, and I don't understand why. Shouldn't it change when I look in two different points?

local event = game.ReplicatedStorage.Events.Shoot

event.OnServerEvent:Connect(function(player,look)
	print("server recieved")
	print(look)
	local pos = player.Character.Head.CFrame.Position
	local ray = Ray.new(pos,look*100)
	local ignore = player.Character
	local hit = workspace:FindPartOnRay(ray,ignore)
	if not hit then return end
	print(hit.Name)
	print(hit.Parent.Name)
	local hum = 0
	if not hit.Parent ~= game.Workspace and hit.Parent:FindFirstChild("Humanoid") then
		hum = hit.Parent.Humanoid
	end
	if hum ~= 0 then
		print("humanoid detected")
		if hit.Name == "Head" then
			hum:TakeDamage(100)
			print("damage dealt")
		else
			hum:TakeDamage(40)
			print("damage dealt")
		end
	end
end)

How else should I raycast in the direction the camera is facing at if LookVector itself doesn't seem to work?