PathfindingService

Artık kullanılmayanları göster

*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.

Oluşturulamaz
Hizmet
Çoğaltılmamış

Yol Geliştirme Hizmeti kullanılarak, karakterlerin duvarlara veya diğer engellerle çarpışmadan iki nokat arasındaki mantıksal yolları bulunur. Standart olarak, en kısa yol hesaplanır, ancak yol görünüm modifikatörlerini kullanarak, daha akıllı yolları çeşitli malzemeler, belirli bölgeler veya engeller aracılığıyla gerçekleştirebil

Ayrıntılar için Karakter Yol Gösterme bakın.

Özellikler

Yöntemler

CreatePath

Çeşitli ajan parçalarına dayanan bir Path nesnesi oluşturur. Geçerli anahtarlar ve değerler agentParameters tabelasındaki gibidir:


<tbody>
<tr>
<td><b>AjanRadiusı</b></td>
<td>sayı</td>
<td>2</td>
<td>Boş alanın geçerli olması için gerekli minimum yer kapasitesini belirler.</td>
</tr>
<tr>
<td><b>AjanYüksekliği</b></td>
<td>sayı</td>
<td>5</td>
<td>Boş alanın geçerli olması için gerekli minimum yerleşik alanı belirler.</td>
</tr>
<tr>
<td><b>AjanCanJump</b></td>
<td>boo</td>
<td>doğru</td>
<td>Yol bulma sırasında zıplamanın izin verilip etkinleştirileceğini belirler.</td>
</tr>
<tr>
<td><b>AjanTırmanabilir</b></td>
<td>boo</td>
<td>yanlış</td>
<td>Yol bulma sırasında <code>Class.TrussPart|TrussParts</code> ı tırmanma izin verildiğini belirler.</td>
</tr>
<tr>
<td><b>Yol Gecikme</b></td>
<td>sayı</td>
<td>4</td>
<td>Yolunuzun orta noktaları arasındaki boşlukları belirler.</td>
</tr>
<tr>
<td><b>Fiyatları</b></td>
<td>masa</td>
<td></td>
<td>Malzeme tablosu veya <code>Class.Pathfindingmodified|PathfindingModifiers</code> ve onların "yol"in "yol"in "yol"in "yol"in "yol"in "yol"in "yol"in "yol"in "yol"in "yol"in "yol"in "yol"in "yol"in "yol"in "yol"in "yol"in "yol"in "yol"in "yol"in "yol"</td>
</tr>
</tbody>
AnahtarTürVarsayılanAçıklama

Parametreler

agentParameters: Dictionary

Yolunuzun ajanın boyutu için küçük ayarlanabilir yapısı olan Lua tablosu (yolunuzun boyutu boyunca hareket edecek olan insanoid). Aşağıda, geçerli anahtarlar, türler ve açıklamalar için görünür.

Varsayılan değer: "nil"

Dönüşler

Bir Path nesne.

Kod Örnekleri

Creating a Path with Pathfinding Service

local Workspace = game:GetService("Workspace")
local PathfindingService = game:GetService("PathfindingService")
-- This model contains a start, end and three paths between the player can walk on: Snow, Metal and LeafyGrass
local PathOptionsModel = script.Parent.PathOptions
local startPosition = PathOptionsModel.Start.Position
local finishPosition = PathOptionsModel.End.Position
-- Create a path that avoids Snow and Metal materials
-- This will ensure the path created avoids the Snow and Metal paths and guides
-- the user towards the LeafyGrass path
local path = PathfindingService:CreatePath({
AgentRadius = 3,
AgentHeight = 6,
AgentCanJump = false,
Costs = {
Snow = math.huge,
Metal = math.huge,
},
})
-- Compute the path
local success, errorMessage = pcall(function()
path:ComputeAsync(startPosition, finishPosition)
end)
-- Confirm the computation was successful
if success and path.Status == Enum.PathStatus.Success then
-- For each waypoint, create a part to visualize the path
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(`Path unable to be computed, error: {errorMessage}`)
end

FindPathAsync

Bekletir

Bu işlev, iki sağlanan nokta arasında bir Path bulmak için kullanılır. Bu yol, PathfindingService tarafından oluşturulan Navigasyon Kümesi'ni kullanır ve düzenli bir Roblox karakteri tarafından izlenebileceğinden emin olur.

Bu işlev, Path bir nesne döndürür ki bu yolun koordinatlarını içerir. Eğer iki nokta arasında bir yol bulunmazsa, bu işlev hala bir Path nesnesi döndürür, ancak bu nesnenin Path.Status kısmı 1> Enum.PathStatus.NoPath</

Class.Path nesnelerinin yol noktalarını almak için, Path:GetWaypoints() işlevini kullanabilirsiniz.

Parametreler

start: Vector3

Yol başlangıç koordinatları.

finish: Vector3

Yol bitiş koordinatları.


Dönüşler

Bir Path nesne.

Etkinlikler