Meydan okuma 2: NavMesh hedef
- Oyun Geliştirme kursu
- İleri seviye
- Ders 68/71
- 5 dk
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
using UnityEngine;
public class NavDestinationTester : MonoBehaviour
{
// Start icinde hedefAdi tanimla ve yazdir
}Örnek çözüm
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
using UnityEngine;
public class NavStoppingTester : MonoBehaviour
{
// Start icinde durmaMesafesi tanimla ve yazdir
}Örnek çözüm
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
using UnityEngine.____; public class EnemyAI : MonoBehaviour { }
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 |