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.
