Area Navigasi menentukan betapa sulitnya berjalan di daerah tertentu, daerah biaya yang lebih rendah akan lebih disukai selama temuan jalan. Selain setiap agen NavMeshSebuah mesh yang Unity menghasilkan perkiraan daerah dan hambatan yang dapat berjalan di lingkungan Anda untuk mencari jalan dan navigasi yang dikendalikan AI. More info
Lihat di Glossary memiliki Masker Area yang dapat digunakan untuk menentukan di daerah mana agen dapat bergerak.
Dalam contoh di atas jenis area digunakan untuk dua kasus penggunaan umum:
Jenis area dapat ditugaskan untuk setiap objek yang disertakan dalam baking NavMesh, di samping itu, setiap Off-Mesh Link memiliki properti untuk menentukan jenis area.
Dalam murshell, biaya memungkinkan Anda untuk mengontrol daerah mana kupu-kupu mendukung ketika menemukan jalan. Misalnya, jika Anda mengatur biaya area ke 3.0, bepergian di daerah itu dianggap tiga kali lebih lama dari rute alternatif.
Untuk memahami sepenuhnya bagaimana biaya bekerja, mari kita lihat bagaimana jalan kerja.
Unity menggunakan A* untuk menghitung jalan terpendek di NavMesh. A * bekerja pada grafik node yang terhubung. Algoritme mulai dari node terdekat ke jalan mulai dan mengunjungi node penghubung sampai tujuan tercapai.
Sejak representasi navigasi Unity adalah meshGrafik utama primitif Unity. Mesh membuat sebagian besar dunia 3D Anda. Unity mendukung mesh poligon triangulat atau Quadrangulasi. Nurbs, Nurms, permukaan Subdiv harus dikonversi ke poligon. More info
Lihat di Glossary poligon, hal pertama jalur perlu dilakukan adalah menempatkan titik pada setiap poligon, yang merupakan lokasi node. Jalan terpendek kemudian dihitung antara node ini.
Titik-titik kuning dan garis dalam gambar di atas menunjukkan bagaimana node dan link ditempatkan di NavMesh, dan dalam urutan yang mereka traversed selama A *.
Biaya untuk bergerak antara dua node tergantung pada jarak untuk perjalanan dan biaya yang terkait dengan jenis area poligon di bawah tautan, yaitu, jarak * biaya. Dalam praktek ini berarti, bahwa jika biaya daerah 2.0, jarak di poligon seperti itu akan muncul dua kali selama. Algoritma A* mengharuskan semua biaya harus lebih besar dari 1,0.
Efek dari biaya di jalur yang dihasilkan bisa sulit untuk tune, terutama untuk jalur yang lebih lama. Cara terbaik untuk mendekati biaya adalah memperlakukan mereka sebagai petunjuk. Misalnya, jika Anda ingin agen untuk tidak menggunakan tautan Off-Mesh terlalu sering, Anda dapat meningkatkan biaya mereka. Tapi itu bisa menantang untuk tune perilaku di mana agen lebih suka berjalan di trotoar.
Hal lain yang mungkin Anda perhatikan pada beberapa tingkat adalah bahwa pathfinder tidak selalu memilih jalur yang paling pendek. Alasan untuk ini adalah penempatan node. Efek dapat terlihat dalam skenario di mana area terbuka besar di samping hambatan kecil, yang menghasilkan mesh navigasi dengan poligon yang sangat besar dan kecil. Dalam kasus seperti itu node pada poligon besar dapat ditempatkan di mana saja di poligon besar dan dari titik jalan pandang seperti detour.
cost per tipe area dapat diatur secara global dalam tab Areas, atau Anda dapat menimpa mereka per agen menggunakan skrip.
Jenis area ditentukan dalam tab Jendela Navigasi Areas. Ada 29 tipe kustom, dan 3 tipe built-in: Walkable, Tidak dapat berjalan, dan Jump.
Jika beberapa objek dari berbagai jenis area yang tumpang tindih, jenis area navmesh yang dihasilkan umumnya akan menjadi salah satu dengan indeks tertinggi. Ada satu pengecualian namun: Tidak dapat berjalan selalu mengambil precedence. Yang bisa membantu jika Anda perlu memblokir area.
Setiap agen memiliki Masker Area yang menggambarkan daerah yang dapat digunakan saat menavigasi. Masker daerah dapat diatur dalam sifat agen, atau masker bit dapat dimanipulasi menggunakan script pada runtime.
Masker daerah berguna ketika Anda hanya ingin karakter jenis tertentu untuk dapat berjalan melalui daerah. Misalnya, dalam permainan evasi zombie, Anda dapat menandai daerah di bawah setiap pintu dengan tipe area Door, dan periksa area pintu dari Masker Area karakter zombie.