Informacje o wersji
Edukacja
Klasa silnika
PathfindingService
Brak możliwości tworzenia
Usługa
Bez replikacji

*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.


Podsumowanie
Właściwości
EmptyCutoff:number
Przestarzałe
Metody
ComputeRawPathAsync(start: Vector3,finish: Vector3,maxDistance: number):Path
Przestarzałe
ComputeSmoothPathAsync(start: Vector3,finish: Vector3,maxDistance: number):Path
Przestarzałe
CreatePath(agentParameters: Dictionary):Path
FindPathAsync(start: Vector3,finish: Vector3):Path
Przestarzałe
Członkowie odziedziczeni
Przykłady kodu
Użycie usługi znajdowania ścieżek
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)
-- Kiedy ścieżka jest zablokowana...
local function OnPathBlocked(blockedWaypointIdx)
-- Sprawdź, czy przeszkoda jest dalej wzdłuż ścieżki
if blockedWaypointIdx > currentWaypointIdx then
-- Oblicz ponownie ścieżkę
path:ComputeAsync(humanoidRootPart.Position, targetPosition)
if path.Status == Enum.PathStatus.Success then
-- Pobierz zaktualizowaną listę punktów kontrolnych za pomocą path:GetWaypoints()
-- i Kontynuuj chodzenie w stronę celu
else
-- Błąd, ścieżka nie znaleziona
end
end
end
path.Blocked:Connect(OnPathBlocked)

Materiały referencyjne dotyczące interfejsów API
Właściwości
EmptyCutoff
Przestarzałe

Metody
ComputeRawPathAsync
Przestarzałe

ComputeSmoothPathAsync
Przestarzałe

CreatePath
Możliwości: Basic
PathfindingService:CreatePath(agentParameters:Dictionary):Path
Parametry
agentParameters:Dictionary
Wartość domyślna: "nil"
Zwroty
Przykłady kodu
Tworzenie ścieżki za pomocą usługi Pathfinding
local Workspace = game:GetService("Workspace")
local PathfindingService = game:GetService("PathfindingService")
-- Ten model zawiera punkt startowy, końcowy i trzy ścieżki, po których gracz może chodzić: Śnieg, Metal i TrawaLiściasta
local PathOptionsModel = script.Parent.PathOptions
local startPosition = PathOptionsModel.Start.Position
local finishPosition = PathOptionsModel.End.Position
-- Utwórz ścieżkę, która unika materiałów Śniegu i Metalu
-- Zapewni to, że tworzona ścieżka unika ścieżek Śniegu i Metalu oraz kieruje
-- użytkownika w stronę ścieżki TrawyLiściastej
local path = PathfindingService:CreatePath({
AgentRadius = 3,
AgentHeight = 6,
AgentCanJump = false,
Costs = {
Snow = math.huge,
Metal = math.huge,
},
})
-- Oblicz ścieżkę
local success, errorMessage = pcall(function()
path:ComputeAsync(startPosition, finishPosition)
end)
-- Potwierdź, że obliczenie zakończyło się sukcesem
if success and path.Status == Enum.PathStatus.Success then
-- Dla każdego punktu kontrolnego utwórz część, aby zobrazować ścieżkę
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(`Ścieżka nie może być obliczona, błąd: {errorMessage}`)
end

FindPathAsync
Przestarzałe

©2026 Roblox Corporation. Nazwa Roblox, logo Roblox oraz hasło „Powering Imagination” należą do naszych zarejestrowanych i niezarejestrowanych znaków towarowych na terenie Stanów Zjednoczonych oraz w innych krajach.