Hey, I've been trying make something that would shoot ray casts in a way where it would be in front of the players character from the HumanoidRootPart, and ive had no success, I'm using multiple rays to detect where exactly it is in front of the humanoid, but im not sure if its something with CFrame or what...

local topMidRay = Ray.new(game.Players.LocalPlayer.Character.HumanoidRootPart,Vector3.new(0,3,1))

--Top bar
local topMidFrontMidRay = Ray.new(game.Players.LocalPlayer.Character.HumanoidRootPart.Position,Vector3.new(0,2,2))
local topMidFrontLeftMidRay = Ray.new(game.Players.LocalPlayer.Character.HumanoidRootPart.Position,Vector3.new(1,2,2))
local topMidFrontRightMidRay = Ray.new(game.Players.LocalPlayer.Character.HumanoidRootPart.Position,Vector3.new(-1,2,2))
local topMidLeftMidRay = Ray.new(game.Players.LocalPlayer.Character.HumanoidRootPart.Position,Vector3.new(2,2,2))
local topMidRightMidRay = Ray.new(game.Players.LocalPlayer.Character.HumanoidRootPart.Position,Vector3.new(-2,2,2))
local topLeftRay = Ray.new(game.Players.LocalPlayer.Character.HumanoidRootPart.Position,Vector3.new(3,2,1))--Outer
local topRightRay = Ray.new(game.Players.LocalPlayer.Character.HumanoidRootPart.Position,Vector3.new(-3,2,1))--Outer

--Middle
local middleMidLeftFrontRay = Ray.new(game.Players.LocalPlayer.Character.HumanoidRootPart.Position,Vector3.new(2,1,2))
local middleMidRightFrontRay = Ray.new(game.Players.LocalPlayer.Character.HumanoidRootPart.Position,Vector3.new(-2,1,2))
local middleMidLeftFrontRay = Ray.new(game.Players.LocalPlayer.Character.HumanoidRootPart.Position,Vector3.new(3,1,1)) --Outer
local middleMidRightFrontRay = Ray.new(game.Players.LocalPlayer.Character.HumanoidRootPart.Position,Vector3.new(-3,1,1))--Outer

--Origin
local frontMidRay = Ray.new(game.Players.LocalPlayer.Character.HumanoidRootPart.Position,Vector3.new(0,0,2)) --origin

--Bottom
local BottomLeftMidRay = Ray.new(game.Players.LocalPlayer.Character.HumanoidRootPart.Position,Vector3.new(2,0,2)) --Bottom
local BottomRightMidRay = Ray.new(game.Players.LocalPlayer.Character.HumanoidRootPart.Position,Vector3.new(-2,0,2))


--Corners
local TopRightCornerRay = Ray.new(game.Players.LocalPlayer.Character.HumanoidRootPart.Position,Vector3.new(-3,3,1))
local TopLeftCornerRay = Ray.new(game.Players.LocalPlayer.Character.HumanoidRootPart.Position,Vector3.new(3,3,1))
local BottomRightCornerRay = Ray.new(game.Players.LocalPlayer.Character.HumanoidRootPart.Position,Vector3.new(-3,0,1))
local BottomLeftCornerRay = Ray.new(game.Players.LocalPlayer.Character.HumanoidRootPart.Position,Vector3.new(3,0,1))

while wait(1) do
	local hit,position = workspace:FindPartOnRayWithIgnoreList(TopLeftCornerRay,{game.Players.LocalPlayer.Character.HumanoidRootPart})
if hit then
	print(hit.Name)
	end
end

Any advice? Thanks!