Serviciul PathfindingService calculează rute optime de deplasare prin lumea 3D, ocolind obstacolele, urcând rampe și evitând pericolele pentru inamici AI și NPC-uri.
local PathfindingService = game:GetService("PathfindingService")
local function miscaNPC(humanoid, startPos, tintaPos)
local path = PathfindingService:CreatePath({
AgentRadius = 2,
AgentHeight = 5,
AgentCanJump = true
})
path:ComputeAsync(startPos, tintaPos)
if path.Status == Enum.PathStatus.Success then
local puncte = path:GetWaypoints()
for _, punct in ipairs(puncte) do
if punct.Action == Enum.PathWaypointAction.Jump then
humanoid.Jump = true
end
humanoid:MoveTo(punct.Position)
humanoid.MoveToFinished:Wait()
end
end
end
Calcul Asincron: Utilizarea metodei ComputeAsync previne blocarea ciclului principal al serverului în timpul generării traseelor lungi.
Parametri de Configurare
AgentRadius / AgentHeight: Dimensiunile fizice ale personajului care navighează.AgentCanJump: Permite algoritmului să propună sărituri peste goluri sau obstacole joase.Costs: Penalizări personalizate pentru anumite materiale (ex: evitarea apei sau a lavei).
Întrebări & Exemple de Cod:
Navigație Inteligentă și NPC Pathfinding (PathfindingService)Ai o nelămurire despre utilizarea comenzii
Navigație Inteligentă și NPC Pathfinding (PathfindingService)sau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!
Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.