Scripting Helpers is winding down operations and is now read-only. More info→
Ad
Log in to vote
0

why is my ray detecting air?

Asked by 4 years ago
Edited 4 years ago

I have no idea why my ray is detecting air or I think its the ray and the region3...

This is the script:

local function Map(object, length, width)
    for L = -length, length do
        for W = -width, width do
            local ray = Ray.new(plr.Character.PrimaryPart.Position + Vector3.new(L, 800, W), game.ReplicatedStorage.Down.Orientation * 5000)
            local part, hitpos = workspace:FindPartOnRay(ray, plr.Character)

            local cell = Region3.new(hitpos + Vector3.new(-0.5, -0.5, -0.5), hitpos - Vector3.new(-0.5, -0.5, -0.5))
            local res = 4
            cell = cell:ExpandToGrid(res)
            local mat, occ = workspace.Terrain:ReadVoxels(cell, 4)
            local color
            local size = mat.Size
            for x = 1, size.X do
                for y = 1, size.Y do
                    for z = 1, size.Z do
                                local mat = mat[x][y][z]
                        print(mat)
                        if mat == Enum.Material.Grass then
                            color = workspace.Terrain:GetMaterialColor(mat)

                            elseif mat == Enum.CellMaterial.Grass then
                            color = workspace.Terrain:GetMaterialColor(mat)
                        end
                    end
                end
            end
            local frame = Instance.new("Frame", MMenu.M.view)

            frame.Size = UDim2.new(0, 1, 0, 1)
            if color ~= nil then

                frame.BackgroundColor3 = color
            end
            frame.BorderSizePixel = 0
            frame.ZIndex = hitpos.Y
            frame.Position = UDim2.new(0.5, L , 0.5, W - plr.Character.PrimaryPart.position.Z)

            print(hitpos)

            RunService.RenderStepped:Wait()

            end
        end

        Map(plr, 100, 100)

This is the output:

Enum.Material.Air
-450102.25, 450846.719, -48.8493805

Answer this question