Aprender
Clase de motor
PathfindingService
No creable
Servicio
No replicado

*Este contenido se traduce usando la IA (Beta) y puede contener errores. Para ver esta página en inglés, haz clic en aquí.


Resumen
Propiedades
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
Miembros heredados
Muestras de código
Usando el Servicio de Búsqueda de Caminos
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)
-- Cuando el camino está bloqueado...
local function OnPathBlocked(blockedWaypointIdx)
-- Verifica si el obstáculo está más adelante en el camino
if blockedWaypointIdx > currentWaypointIdx then
-- Recalcular el camino
path:ComputeAsync(humanoidRootPart.Position, targetPosition)
if path.Status == Enum.PathStatus.Success then
-- Recuperar la lista de puntos de paso actualizada con path:GetWaypoints()
-- y continuar caminando hacia el objetivo
else
-- Error, camino no encontrado
end
end
end
path.Blocked:Connect(OnPathBlocked)

Referencia API
Propiedades
EmptyCutoff
Obsoleto

Métodos
ComputeRawPathAsync
Obsoleto

ComputeSmoothPathAsync
Obsoleto

CreatePath
Capacidades: Basic
PathfindingService:CreatePath(agentParameters:Dictionary):Path
Parámetros
agentParameters:Dictionary
Valor predeterminado: "nil"
Devuelve
Muestras de código
Creando un camino con el servicio de búsqueda de rutas
local Workspace = game:GetService("Workspace")
local PathfindingService = game:GetService("PathfindingService")
-- Este modelo contiene un inicio, un fin y tres caminos por los que el jugador puede caminar: Nieve, Metal y HierbaFrondosa
local PathOptionsModel = script.Parent.PathOptions
local startPosition = PathOptionsModel.Start.Position
local finishPosition = PathOptionsModel.End.Position
-- Crea un camino que evita los materiales de Nieve y Metal
-- Esto asegurará que el camino creado evite los caminos de Nieve y Metal y guíe
-- al usuario hacia el camino de HierbaFrondosa
local path = PathfindingService:CreatePath({
AgentRadius = 3,
AgentHeight = 6,
AgentCanJump = false,
Costs = {
Snow = math.huge,
Metal = math.huge,
},
})
-- Computa el camino
local success, errorMessage = pcall(function()
path:ComputeAsync(startPosition, finishPosition)
end)
-- Confirma que la computación fue exitosa
if success and path.Status == Enum.PathStatus.Success then
-- Para cada punto de referencia, crea una parte para visualizar el camino
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(`No se pudo calcular el camino, error: {errorMessage}`)
end

FindPathAsync
Obsoleto

©2026 Roblox Corporation. Roblox, el logotipo de Roblox y "Powering Imagination" son algunas de nuestras marcas registradas y no registradas en los Estados Unidos y otros países.