Hello, I was really confused about the CheckOcclusionAsync
, I check the wiki but there is no answer about using it. Can someone know how to use it? Here's the script that use in wiki but I modified it withCheckOcclusionAsync
.
-- In Script in ServerScriptService local pathfindingService = game:GetService("PathfindingService") local pointModel = Instance.new("Model") pointModel.Name = "Points" pointModel.Parent = game.Workspace -- Setup remote function local remoteFunction = Instance.new("RemoteFunction") remoteFunction.Parent = game.ReplicatedStorage function visualizePath(path) -- clear old path visualization pointModel:ClearAllChildren() -- calculate new visualization local points = path:GetPointCoordinates() for _, point in ipairs(points) do local part = Instance.new("Part") part.Parent = pointModel part.FormFactor = Enum.FormFactor.Custom part.Size = Vector3.new(1,1,1) part.Position = point part.Anchored = true part.CanCollide = false end end game.ReplicatedStorage.RemoteFunction.OnServerInvoke = function(player, target) local start = player.Character.Torso.Position local path = pathfindingService:ComputeSmoothPathAsync(start, target, 500) local checkPath = pathfindingService:CheckOcclusionAsync() -- This is the problem visualizePath(path) -- Check to see if the path was computed correctly if path.Status == Enum.PathStatus.FailStartNotEmpty or path.Status == Enum.PathStatus.FailFinishNotEmpty then print("Compute failed") return {} end return path:GetPointCoordinates() end
Thank You.