Scripting HelpersARCHIVE
A little piece of Roblox history. Preserved for everyone, one question at a time.Read about the archive →
✓ ANSWER ACCEPTED

Why is my Ray only detecting the baseplate and nothing else?

So I was learning RayCasting and I came across an issue.

local mouse = game.Players.LocalPlayer:GetMouse()

local ray = Ray.new(script.Parent.Handle.Position,Vector3.new(mouse.Hit.X,mouse.Hit.Y,mouse.Hit.Z))

mouse.Button1Down:Connect(function()
	local partThatHit = workspace:FindPartOnRay(ray)
	print(partThatHit)
end)

The script worked, but it only printed "Baseplate". I clearly pointed it to a Part, not a Model

I'm new to Rays and I need help. Can someone please give me a hand?

1 answer

✓ Accepted answer

You need a new ray every time you fire the event. Otherwise it will be using the same ray.

local mouse = game.Players.LocalPlayer:GetMouse()
 
mouse.Button1Down:Connect(function()
	local ray = Ray.new(script.Parent.Handle.Position,Vector3.new(mouse.Hit.X,mouse.Hit.Y,mouse.Hit.Z))
    local partThatHit = workspace:FindPartOnRay(ray)
    print(partThatHit)
end)

1 comment

0

Tysm!

This discussion is preserved as it was. New answers, comments, and votes are closed.