• G#

NavMesh. HitungPath

Sarankan perubahan

Success!

Terima kasih untuk membantu kami meningkatkan kualitas Dokumentasi Unity. Meskipun kami tidak dapat menerima semua pengajuan, kami membaca setiap perubahan yang disarankan dari pengguna kami dan akan melakukan pembaruan di mana berlaku.

Close

Penjelasan gagal

Untuk beberapa alasan perubahan yang disarankan Anda tidak dapat diajukan. Silahkan <a>try lagi</a> dalam beberapa menit. Dan terima kasih untuk mengambil waktu untuk membantu kami meningkatkan kualitas Dokumentasi Unity.

Close

Cancel

Declaration

publik static bool Login Login( Vektor3 sourcePosition, Vektor3 targetPosition, int Login Login, AI.NavMeshPath path);

Parameters

sourcePosition Posisi awal jalur yang diminta.
targetPosition Posisi akhir jalan yang diminta.
Login Login Masker bitfield menentukan daerah NavMesh yang dapat dilewatkan ketika menghitung jalan.
path Jalan yang dihasilkan.

Returns

Sitemap Benar jika jalan yang lengkap atau sebagian ditemukan. Sitemapbool True if either a complete or partial path is found. False otherwise.

Description

Hitung jalan antara dua titik dan simpan jalan yang dihasilkan.

Gunakan fungsi ini untuk menghindari penundaan gameplay dengan merencanakan jalan sebelum diperlukan. Anda juga dapat menggunakan fungsi ini untuk memeriksa apakah posisi target dapat dicapai sebelum memindahkan agen.

Fungsi ini tidak sinkron. Ini melakukan pencarian jalan segera yang dapat mempengaruhi tingkat bingkai ketika memproses jalur yang sangat panjang. Disarankan untuk hanya melakukan beberapa jalur menemukan per frame ketika, misalnya, mengevaluasi jarak untuk menutupi poin.

Gunakan jalan yang dikembalikan untuk mengatur jalur untuk agen dengan NavMeshAgent.SetPath. Untuk SetPath untuk bekerja, agen harus dekat dengan titik awal.

// ShowGoldenPath
using UnityEngine;
using UnityEngine.AI;

public class ShowGoldenPath : MonoBehaviour { public Transform target; private NavMeshPath path; private float elapsed = 0.0f; void Start() { path = new NavMeshPath(); elapsed = 0.0f; }

void Update() { // Update the way to the goal every second. elapsed += Time.deltaTime; if (elapsed > 1.0f) { elapsed -= 1.0f; NavMesh.CalculatePath(transform.position, target.position, NavMesh.AllAreas, path); } for (int i = 0; i < path.corners.Length - 1; i++) Debug.DrawLine(path.corners[i], path.corners[i + 1], Color.red); } }

Declaration

publik static bool Login Login( Vektor3 sourcePosition, Vektor3 targetPosition, AI.NavMeshQueryFilter filter, AI.NavMeshPath path);

Parameters

sourcePosition Posisi awal jalur yang diminta.
targetPosition Posisi akhir jalan yang diminta.
filter Filter menentukan biaya area NavMesh yang dapat dilewatkan ketika menghitung jalan.
path Jalan yang dihasilkan.

Returns

Sitemap Benar jika jalan yang lengkap atau sebagian ditemukan dan palsu sebaliknya.bool True if a either a complete or partial path is found and false otherwise.

Description

Menghitung jalan antara dua posisi yang dipetakan ke NavMesh, tunduk pada batasan dan biaya yang ditentukan oleh argumen filter.