CodeBlanks Logo Icon CodeBlanks

NavMesh kavramı

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 gosterilir

Zemin 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 secer

Yol 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

Player.cs
using UnityEngine;

public class NavMeshInfo : MonoBehaviour
{
    // Start icinde durum degiskenini tanimla ve yazdir
}

Örnek çözüm

Player.cs
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

Soru
using UnityEngine.____;
Cevap
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ı

İleri seviye bölümündeki tüm dersler