I know that you can get the surface using the third argument in the ray.

Is there a clean way to set that up?

I've looked through many different websites and I can't find anything even somewhat close. What I have now works fine until I cast it at a rotated part Somone know?

local x,y,z = norm.X, norm.Y, norm.Z

print(x,y,z)

local surf = 'Front'

if x ~= 0 and (y == 0 and z == 0) then
	if x > 0 then
		surf = 'Right'
	else
		surf = 'Left'
	end
elseif y ~= 0 and (x == 0 and z == 0) then
	if y > 0 then
		surf = 'Top'
	else
		surf = 'Bottom'
	end
elseif z ~= 0 and (x == 0 and y == 0) then
	if z > 0 then
		surf = 'Back'
	else
		surf = 'Front'
	end
end

4 comments

0

I'm pretty sure that Rays have lookVectors.

0

Hmm, I'll check that out and let you know. Thanks!

0

Yeah I appreciate that.. I just tried it lol and yeah it seems that doesn't work with rotated parts either xD