CodeBlanks Logo Icon CodeBlanks

Meydan okuma 2: NavMesh hedef

NavMeshAgent.SetDestination çağıran scripti yazarsın.

Meydan Okuma 2: NavMesh Hedefi Belirleme

Yapay zeka karakterlerinin 3D dünyada akıllıca yol bulması için NavMeshAgent bileşeni kullanılır. Karakterin hedefe doğru yürümesini başlatmak için hedef nokta SetDestination metoduyla verilir.

using UnityEngine.AI;

NavMeshAgent agent = GetComponent<NavMeshAgent>();
agent.SetDestination(targetPosition);

Agent, sahnedeki engellerin etrafından dolanarak en kısa rotayı otomatik hesaplar.

Uygulama NavMesh hedef atama testi

Bir Start metodu tanımla. İçinde string hedefAdi = "HedefNoktasi"; tanımla ve konsola "Hedefe yonelindi: " + hedefAdi yazdır.

Başlangıç kodu

Player.cs
using UnityEngine;

public class NavDestinationTester : MonoBehaviour
{
    // Start icinde hedefAdi tanimla ve yazdir
}

Örnek çözüm

Player.cs
using UnityEngine;

public class NavDestinationTester : MonoBehaviour
{
    void Start()
    {
        string hedefAdi = "HedefNoktasi";
        Debug.Log("Hedefe yonelindi: " + hedefAdi);
    }
}

Beklenen çıktı

Hedefe yonelindi: HedefNoktasi

Uygulama Ajan durma mesafesi kontrolü

Bir Start metodu tanımla. İçinde float durmaMesafesi = 1.5f; tanımla ve konsola "Durma mesafesi: " + durmaMesafesi yazdır.

Başlangıç kodu

Player.cs
using UnityEngine;

public class NavStoppingTester : MonoBehaviour
{
    // Start icinde durmaMesafesi tanimla ve yazdir
}

Örnek çözüm

Player.cs
using UnityEngine;

public class NavStoppingTester : MonoBehaviour
{
    void Start()
    {
        float durmaMesafesi = 1.5f;
        Debug.Log("Durma mesafesi: " + durmaMesafesi);
    }
}

Beklenen çıktı

Durma mesafesi: 1.5

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 NavMeshAgent bileşeninin hedefe doğru otomatik yürüyüşünü başlatmak için hangi metot çağrılmalıdır?

  • agent.JumpToNav()
  • agent.BakePath()
  • agent.RunImmediately()
  • agent.SetDestination() Doğru cevap

Açıklama: NavMeshAgent bileşeninde rotayı hesaplayıp hareketi başlatan metot SetDestination fonksiyonudur.

2 Navigasyon kütüphanesini dahil et

Soru
using UnityEngine.____; public class EnemyAI : MonoBehaviour { }
Cevap
using UnityEngine.AI; public class EnemyAI : MonoBehaviour { }

Açıklama: NavMeshAgent ve NavMesh sınıflarını kullanabilmek için 'UnityEngine.AI' kütüphanesi içe aktarılır.

3 NavMesh öğeleri

Kavram Anlamı
NavMeshAgent NavMesh üzerinde yol bulan bileşen
SetDestination Hedef belirleyip rotayı başlatan metot
remainingDistance Hedefe kalan anlık uzaklık
stoppingDistance Hedefe varmadan önce durulacak mesafe

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