Meer informatie
Engine-klasse
PathfindingService
Niet maakbaar
Service
Niet gerepliceerd

*Deze inhoud is vertaald met behulp van AI (bèta) en kan fouten bevatten. Klik hier om deze pagina in het Engels te bekijken.


Samenvatting

Eigenschappen
Methoden
ComputeRawPathAsync(start: Vector3,finish: Vector3,maxDistance: number):Path
Verouderd
ComputeSmoothPathAsync(start: Vector3,finish: Vector3,maxDistance: number):Path
Verouderd
CreatePath(agentParameters: Dictionary):Path
FindPathAsync(start: Vector3,finish: Vector3):Path
Verouderd
Overgenomen leden
Codevoorbeelden
Het Gebruik van de Padvinding Service
local PathfindingService = game:GetService("PathfindingService")
local agentParams = {
AgentRadius = 2.0,
AgentHeight = 5.0,
AgentCanJump = false,
}
local currentWaypointIdx = 1
local path = PathfindingService:CreatePath(agentParams)
local humanoidRootPart = script.Parent:FindFirstChild("HumanoidRootPart")
local targetPosition = Vector3.new(50, 0, 50)
path:ComputeAsync(humanoidRootPart.Position, targetPosition)
-- Wanneer het pad geblokkeerd is...
local function OnPathBlocked(blockedWaypointIdx)
-- Controleer of het obstakel verderop in het pad ligt
if blockedWaypointIdx > currentWaypointIdx then
-- Herbereken het pad
path:ComputeAsync(humanoidRootPart.Position, targetPosition)
if path.Status == Enum.PathStatus.Success then
-- Verkrijg de bijgewerkte waypointlijst met path:GetWaypoints()
-- en Ga verder met lopen naar het doel
else
-- Fout, pad niet gevonden
end
end
end
path.Blocked:Connect(OnPathBlocked)

API-referentie
Eigenschappen
EmptyCutoff
Verouderd

Methoden
ComputeRawPathAsync
Verouderd

ComputeSmoothPathAsync
Verouderd

CreatePath
Mogelijkheden: Basic
PathfindingService:CreatePath(agentParameters:Dictionary):Path
Parameters
agentParameters:Dictionary
Standaardwaarde: nil
Teruggaves
Codevoorbeelden
Een Pad Maken met de Pathfinding Service
local Workspace = game:GetService("Workspace")
local PathfindingService = game:GetService("PathfindingService")
-- Dit model bevat een start, eind en drie paden waar de speler op kan lopen: Sneeuw, Metaal en Bladgras
local PathOptionsModel = script.Parent.PathOptions
local startPosition = PathOptionsModel.Start.Position
local finishPosition = PathOptionsModel.End.Position
-- Maak een pad dat Sneeuw en Metaal materialen vermijdt
-- Dit zorgt ervoor dat het gemaakte pad de Sneeuw en Metaal paden vermijdt en de
-- gebruiker naar het Bladgras pad leidt
local path = PathfindingService:CreatePath({
AgentRadius = 3,
AgentHeight = 6,
AgentCanJump = false,
Costs = {
Snow = math.huge,
Metal = math.huge,
},
})
-- Bereken het pad
local success, errorMessage = pcall(function()
path:ComputeAsync(startPosition, finishPosition)
end)
-- Bevestig dat de berekening succesvol was
if success and path.Status == Enum.PathStatus.Success then
-- Voor elk waypoint, maak een onderdeel om het pad te visualiseren
for _, waypoint in path:GetWaypoints() do
local part = Instance.new("Part")
part.Position = waypoint.Position
part.Size = Vector3.new(0.5, 0.5, 0.5)
part.Color = Color3.new(1, 0, 1)
part.Anchored = true
part.CanCollide = false
part.Parent = Workspace
end
else
print(`Pad kan niet worden berekend, fout: {errorMessage}`)
end

FindPathAsync
Verouderd

©2026 Roblox Corporation. Roblox, het Roblox-logo en Powering Imagination behoren tot onze geregistreerde en niet-geregistreerde handelsmerken in de VS en andere landen.