Path
*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.
Yol nesneleri, PathfindingService:CreatePath() tarafından oluşturulan yolların sonucunu depolar.
Bir yol nesnesi oluşturuldu
Class.Path:Computed·Class.Path:Compute·Class.Path:Computate·Class.Path:Computate·Class.Path:Computate ·Class.Path:Computate·Class.Path:Computate·Class.Path:Computate ile eklenmiştir. Class.Path:Computed·Class.Path:Compute·Class.Path:Computate ·Class.Path:Computed·Class.Path:Compute·Class.Path:Computate ile eklenmişt
Son olarak, Path nesneleri Class.Path.Blocked etkinliğine bağlanabilir. Bu etkinlik, yolun varlığı sırasında yolun bloke edilmesi durumunda ateşlenir. Not, bunun arkasında bir karakter hareket ediyor, sadece yolun önünde değil.
Özet
Özellikler
Oluşturulan Path 'in başarısı.
Yöntemler
Yolunda bir dizi nokta döndürür.
Belirli bir yol noktasından başlayan bir yolun engellenip engellenmediğini kontrol eder.
Bir başlangıç pozisyonundan bir sona giden bir Path hesaplar.
Etkinlikler
Hesaplanan yol bloke olduğunda ateş eder.
Blocked olan bir yolun unblocked olmasında ateş eder.
Özellikler
Yöntemler
GetWaypoints
Bu işlev, bir PathWaypoints içindeki tüm Path değerlerini bir matematiksel Path:ComputeAsync() içinde işaret eder. Function this return an array of all the Datatype.PathWaypoint|PathWaypoints in a Class.Path , as computed by Class.Path:ComputeAsync() .
Matrisin her bir yön noktası, bir Vector3 pozisyonu ve bir action alınacak Datatype.Vector3 değerini belirtir. Matris düğerleri yol başlangıcından yol bitirdoğru sıralanır.
Bir yol bulunamadıysa, bu işlev boş bir matris döndürür.
Dönüşler
Yol başlangıcından yol bitirkadar PathWaypoints ile sıralanmış bir matris.
Kod Örnekleri
local PathfindingService = game:GetService("PathfindingService")
local path = PathfindingService:CreatePath()
local PATH_START = Vector3.new(0, 1, 0)
local PATH_END = Vector3.new(100, 1, 25)
path:ComputeAsync(PATH_START, PATH_END)
if path.Status == Enum.PathStatus.Success then
local waypoints = path:GetWaypoints()
for _, waypoint in pairs(waypoints) do
print(waypoint.Position)
end
end
CheckOcclusionAsync
Bu işlev, başla ile gösterilen yol noktasından başlayan bir yolun bloğunu kontrol eder.
Bloklandığında ilk göz noktasını iade eder, -1 değilse. Class.Path içindeki yol noktalarının sayısından daha az veya daha büyük olduğunu gösterir bir hata.
Parametreler
Dönüşler
ComputeAsync
Bu işlev bir başlangıç pozisyonundan bir son pozisyona Path hesaplar. Bu işlev yolun oluşturulduğunda otomatik olarak çağrılmaz ve her yol güncellenmesi gerektiğinde çağrılır.
Yol hesaplanındığında, bir karakteri yol boyunca takip edebilecek bir dizi yönlendirici olacaktır. Bu noktalar Path:GetWaypoints() işleviyle toplanır.
Parametreler
Hesaplanan yolun başladığı dünya pozisyonu.
Hesaplanan yolun bitmesi için dünya pozisyonu.
Dönüşler
Kod Örnekleri
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)
-- When the path is blocked...
local function OnPathBlocked(blockedWaypointIdx)
-- Check if the obstacle is further down the path
if blockedWaypointIdx > currentWaypointIdx then
-- Recompute the path
path:ComputeAsync(humanoidRootPart.Position, targetPosition)
if path.Status == Enum.PathStatus.Success then
-- Retrieve update waypoint list with path:GetWaypoints()
-- and Continue walking towards target
else
-- Error, path not found
end
end
end
path.Blocked:Connect(OnPathBlocked)
Etkinlikler
Blocked
Hesaplanan yol bloğa dönüştüğünde ateşlenir. Yolların yolunun düştüğü bir yerde arka bir yol bloğu gibi görünür. Ajentin kaçtığı yolun ilerideki yolunun ilerideki yolunun ilerideki yolunun ilerideki yolunun ilerideki yolunun ilerideki yolunun ilerideki yolunun ilerideki yolunun ilerideki yolunun ileride
Parametreler
Unblocked
Blocked yolunun bloklandığından sonra unblocked olmasını sağlar. Açık yolunun bloklandığından sonra bir yolunun bloklandığından sonra bir yolunun bloklandığından sonra bir yolunun bloklandığından sonra bir yolunun bloklandığından sonra bir yolunun bloklandığından sonra bir yolunun bloklandığından sonra bir yolunun bloklandığı