raytestprototype02b

Опубликовано: 09 Август 2026
на канале: Interstellar
15
0

local origin = Vector3.new(0, 10, 0)
local direction = Vector3.new(0, -1, 0) * 100
local params = RaycastParams.new()
params.FilterType = Enum.RaycastFilterType.Blacklist
params.FilterDescendantsInstances = {workspace.Ignore}
params.IgnoreWater = true

local result = workspace:Raycast(origin, direction, params)

if result then
local hitPart = result.Instance
local hitPos = result.Position
local hitNormal = result.Normal
local material = result.Material

print("Hit:", hitPart:GetFullName())
print("Position:", hitPos)
print("Normal:", hitNormal)
print("Material:", material)

local marker = Instance.new("Part")
marker.Size = Vector3.new(0.2, 0.2, 0.2)
marker.Anchored = true
marker.CanCollide = false
marker.Position = hitPos
marker.BrickColor = BrickColor.Red()
marker.Material = Enum.Material.Neon
marker.Parent = workspace

local normalLine = Instance.new("Part")
normalLine.Anchored = true
normalLine.CanCollide = false
normalLine.Size = Vector3.new(0.1, 0.1, 3)
normalLine.CFrame = CFrame.lookAt(hitPos, hitPos + hitNormal)
normalLine.Position = hitPos + hitNormal * 1.5
normalLine.Material = Enum.Material.Neon
normalLine.BrickColor = BrickColor.Blue()
normalLine.Parent = workspace
else
print("Raycast hit nothing.")
end