Aprenda
Classe do mecanismo
PathfindingService
Não criável
Serviço
Não replicado

*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.


Resumo
Propriedades
Métodos
ComputeRawPathAsync(start: Vector3,finish: Vector3,maxDistance: number):Path
Obsoleto
ComputeSmoothPathAsync(start: Vector3,finish: Vector3,maxDistance: number):Path
Obsoleto
CreatePath(agentParameters: Dictionary):Path
FindPathAsync(start: Vector3,finish: Vector3):Path
Obsoleto
Membros herdados
Amostras de código
Usando o Serviço de Encontrar Caminhos
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)
-- Quando o caminho está bloqueado...
local function OnPathBlocked(blockedWaypointIdx)
-- Verifique se o obstáculo está mais adiante no caminho
if blockedWaypointIdx > currentWaypointIdx then
-- Recompute o caminho
path:ComputeAsync(humanoidRootPart.Position, targetPosition)
if path.Status == Enum.PathStatus.Success then
-- Obtenha a lista de pontos de atualização com path:GetWaypoints()
-- e Continue caminhando em direção ao alvo
else
-- Erro, caminho não encontrado
end
end
end
path.Blocked:Connect(OnPathBlocked)

Referência API
Propriedades
EmptyCutoff
Obsoleto

Métodos
ComputeRawPathAsync
Obsoleto

ComputeSmoothPathAsync
Obsoleto

CreatePath
Recursos: Basic
PathfindingService:CreatePath(agentParameters:Dictionary):Path
Parâmetros
agentParameters:Dictionary
Valor Padrão: "nil"
Devolução
Amostras de código
Criando um Caminho com o Serviço de Navegação
local Workspace = game:GetService("Workspace")
local PathfindingService = game:GetService("PathfindingService")
-- Este modelo contém um início, um fim e três caminhos pelos quais o jogador pode andar: Neve, Metal e GramaFoliada
local PathOptionsModel = script.Parent.PathOptions
local startPosition = PathOptionsModel.Start.Position
local finishPosition = PathOptionsModel.End.Position
-- Crie um caminho que evite materiais de Neve e Metal
-- Isso garantirá que o caminho criado evite os caminhos de Neve e Metal e guie
-- o usuário em direção ao caminho de GramaFoliada
local path = PathfindingService:CreatePath({
AgentRadius = 3,
AgentHeight = 6,
AgentCanJump = false,
Costs = {
Snow = math.huge,
Metal = math.huge,
},
})
-- Calcule o caminho
local success, errorMessage = pcall(function()
path:ComputeAsync(startPosition, finishPosition)
end)
-- Confirme se a computação foi bem-sucedida
if success and path.Status == Enum.PathStatus.Success then
-- Para cada ponto de referência, crie uma parte para visualizar o caminho
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(`Caminho não pôde ser computado, erro: {errorMessage}`)
end

FindPathAsync
Obsoleto

©2026 Roblox Corporation, Roblox, o logotipo Roblox e Powering Imagination estão entre nossas marcas registradas e não registradas nos EUA e em outros países.