NavMesh kavramı
- Oyun Geliştirme kursu
- İleri seviye
- Ders 37/71
- 4 dk
NavMesh'in yürünebilir yüzeyleri tanımladığını öğrenirsin.
NavMesh (Navigation Mesh) Kavramı
NavMesh (gezinme ağı), 3D oyun dünyasında yapay zeka karakterlerinin nerede yürüyebileceğini ve hangi engellerden kaçınacağını tanımlayan geometrik yüzey haritasıdır.
// Sahnedeki statik zemin nesneleri NavMesh hesaplamasina dahil edilir
// Yurutulebilir alanlar editorde acik mavi bir ag olarak gosterilirZemin ve engeller 'Navigation Static' olarak işaretlendikten sonra 'Bake' (pişirme) işlemi yapılarak yürünebilir alanlar (Walkable) otomatik hesaplanır.
NavMesh Katmanları ve Alan Maliyetleri
NavMesh yüzeyleri farklı katmanlara ayrılabilir: Walkable (yürünebilir zemin), Not Walkable (geçilemez engeller) ve Jump (atlama mesafeleri). Her alan türünün bir geçiş maliyeti (Area Cost) bulunur.
using UnityEngine.AI;
// Yapay zeka en kisa ve maliyeti en dusuk rotayi secerYol bulma algoritması (A*), çamurlu veya tehlikeli yüksek maliyetli alanlar yerine daha uzun ama temiz yolları tercih edebilir.
Uygulama NavMesh durumu kontrolü
Bir Start metodu tanımla. İçinde string durum = "NavMesh yuzeyi hazir"; tanımla ve konsola Debug.Log(durum); ile yazdır.
Başlangıç kodu
using UnityEngine;
public class NavMeshInfo : MonoBehaviour
{
// Start icinde durum degiskenini tanimla ve yazdir
}Örnek çözüm
using UnityEngine;
public class NavMeshInfo : MonoBehaviour
{
void Start()
{
string durum = "NavMesh yuzeyi hazir";
Debug.Log(durum);
}
}Beklenen çıktı
NavMesh yuzeyi hazir
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Unity'de sahne nesnelerinin NavMesh hesaplamasına (Bake) dahil edilebilmesi için hangi özelliğin etkinleştirilmesi gerekir?
- Is Trigger
- Shader Graph Alpha
- AudioSource Mute
- Navigation Static Doğru cevap
Açıklama: NavMesh üretimi sırasında yalnızca 'Navigation Static' olarak işaretlenmiş durağan nesneler yürünebilir zemin veya engel olarak değerlendirilir.
2 Yapay zeka kütüphanesini içe aktar
using UnityEngine.____;
using UnityEngine.AI;
Açıklama: Unity'de NavMesh ve navigasyon sınıflarına erişmek için 'UnityEngine.AI' kütüphanesi içe aktarılır.
3 NavMesh temel kavramları
| Kavram | Anlamı |
|---|---|
NavMesh |
Yürünebilir alanları gösteren ağ |
Bake |
Geometriden NavMesh üretme işlemi |
Walkable |
Karakterlerin yürüyebileceği yüzey |
Area Cost |
NavMesh geçiş maliyeti katsayısı |