PathfindingService

Hiển Thị Bản Đã Lỗi Thời

*Nội dung này được dịch bằng AI (Beta) và có thể có lỗi. Để xem trang này bằng tiếng Anh, hãy nhấp vào đây.

Không Thể Tạo
Dịch Vụ
Không Sao Chép

PathfindingService được sử dụng để tìm các con đường hợp lý giữa hai điểm, đảm bảo cho các nhân vật có thể di chuyển giữa các điểm mà không bị chạy vào tường hoặc các vật cản khác. Bởi mặc định, con đường ngắn nhất được tín

Xem Tìm đường nhân vật để biết chi tiết sử dụng.

Thuộc Tính

Phương Pháp

CreatePath

Tạo một Path đối tượng dựa trên các tham số đặc tính của các đặc vật. Các chìa khóa và giá trị hợp lệ trong bảng agentParameters như sau:


<tbody>
<tr>
<td><b>AgentRadius</b></td>
<td>số</td>
<td>2</td>
<td>Xác định số lượng không gian dọc tối thiểu cần thiết để không gian trống được xem xét là có thể di chuyển.</td>
</tr>
<tr>
<td><b>Chiều cao đặc vụ</b></td>
<td>số</td>
<td>5</td>
<td>Xác định số lượng không gian dọc tối thiểu cần thiết để không gian trống được xem xét là có thể di chuyển.</td>
</tr>
<tr>
<td><b>AgentCanJump</b></td>
<td>boolean</td>
<td>đúng</td>
<td>Xác định có phép nhảy trong quá trình tìm con đường hay không.</td>
</tr>
<tr>
<td><b>AgentCanClimb</b></td>
<td>boolean</td>
<td>đúng</td>
<td>Xác định có phải leo <code>Class.TrussPart|TrussParts</code> trong khi đang tìm con đường không.</td>
</tr>
<tr>
<td><b>Khoảng cách điểm Waypoint</b></td>
<td>con số</td>
<td>4</td>
<td>Xác định khoảng cách giữa các điểm dừng trung gian trong con đường.</td>
</tr>
<tr>
<td><b>Chi phí</b></td>
<td>bảng</td>
<td></td>
<td>Bảng vật liệu hoặc đã định <code>Class.Pathfindingmodified|PathfindingModifiers</code> và "chi phí" của chúng cho việc di chuyển. Hữu ích cho việc làm cho đặc biệt <a href="../../../characters/pathfinding.md#pathfinding-modifiers">vật liệu/khu vực nào</a> đối với các vật liệu khác nhau. Xem ở đây để chi tiết.</td>
</tr>
</tbody>
Chìa khóaKiểuMặc địnhMô tả

Tham Số

agentParameters: Dictionary

Lua table which lets you fine-tune the path for the size of the agent (người nhân vật di chuyển theo con đường). Xem trên để nhận các chìa khóa, loại và mô tả.

Giá Trị Mặc Định: "nil"

Lợi Nhuận

Một Path đối tượng.

Mẫu mã

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

Sinh Lợi

Hàm này được sử dụng để tìm một Path giữa hai điểm được cung cấp. Đường này sử dụng bảng điều hướng được tạo bởi PathfindingService và đảm bảo rằng con đường này có thể được theo dõi bởi một nhân vật Roblox có kích th

Hàm này trả về một Path đối tượng mà chứa các coord của con đường. Nếu không có con đường nào được tìm thấy giữa hai điểm, hàm này vẫn sẽ trả về một Path đối tượ

Để nhận đường dẫn của một đối tượng Path, bạn có thể sử dụng chức năng Path:GetWaypoints() .

Tham Số

start: Vector3

Bắt đầu trục đường.

finish: Vector3

Hoàn thành bản đồ con đường.


Lợi Nhuận

Một Path đối tượng.

Sự Kiện