Apprendre
Classe de moteur
PathfindingService
Création impossible
Service
Non répliqué

*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.


Résumé
Propriétés
EmptyCutoff:number
Déprécié
Méthodes
ComputeRawPathAsync(start: Vector3,finish: Vector3,maxDistance: number):Path
Déprécié
ComputeSmoothPathAsync(start: Vector3,finish: Vector3,maxDistance: number):Path
Déprécié
CreatePath(agentParameters: Dictionary):Path
FindPathAsync(start: Vector3,finish: Vector3):Path
Déprécié
Membres hérités
Échantillons de code
Utiliser le service de navigation
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)
-- Lorsque le chemin est bloqué...
local function OnPathBlocked(blockedWaypointIdx)
-- Vérifier si l'obstacle est plus loin sur le chemin
if blockedWaypointIdx > currentWaypointIdx then
-- Recalculer le chemin
path:ComputeAsync(humanoidRootPart.Position, targetPosition)
if path.Status == Enum.PathStatus.Success then
-- Récupérer la liste des points de cheminement mise à jour avec path:GetWaypoints()
-- et continuer à marcher vers la cible
else
-- Erreur, chemin non trouvé
end
end
end
path.Blocked:Connect(OnPathBlocked)

Référence API
Propriétés
EmptyCutoff
Déprécié

Méthodes
ComputeRawPathAsync
Déprécié

ComputeSmoothPathAsync
Déprécié

CreatePath
Capacités : Basic
PathfindingService:CreatePath(agentParameters:Dictionary):Path
Paramètres
agentParameters:Dictionary
Valeur par défaut : "nil"
Retours
Échantillons de code
Créer un chemin avec le service de navigation
local Workspace = game:GetService("Workspace")
local PathfindingService = game:GetService("PathfindingService")
-- Ce modèle contient un départ, une fin et trois chemins sur lesquels le joueur peut marcher : Neige, Métal et Herbe Feuillée
local PathOptionsModel = script.Parent.PathOptions
local startPosition = PathOptionsModel.Start.Position
local finishPosition = PathOptionsModel.End.Position
-- Créer un chemin qui évite les matériaux Neige et Métal
-- Cela garantira que le chemin créé évite les chemins de Neige et de Métal et guide
-- l'utilisateur vers le chemin d'Herbe Feuillée
local path = PathfindingService:CreatePath({
AgentRadius = 3,
AgentHeight = 6,
AgentCanJump = false,
Costs = {
Snow = math.huge,
Metal = math.huge,
},
})
-- Calculer le chemin
local success, errorMessage = pcall(function()
path:ComputeAsync(startPosition, finishPosition)
end)
-- Confirmer que le calcul a réussi
if success and path.Status == Enum.PathStatus.Success then
-- Pour chaque point de passage, créer une partie pour visualiser le chemin
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(`Impossible de calculer le chemin, erreur : {errorMessage}`)
end

FindPathAsync
Déprécié

©2026 Société Roblox. Roblox, le logo Roblox et Powering Imagination font partie de nos marques déposées aux États-Unis et dans d'autres pays.