Kapılara takılan veya duvara yürüyen düşmanlar oyun zevkini bozar. Gerçekçi NPC'ler üretmek için Roblox'un 3D navmesh navigasyon motorunu iyi kavramak gerekir.
Dahili `PathfindingService`, dinamik fizik ortamına uygun A* rota hesaplamaları sunar. Bu kılavuz ajan parametreleri, `PathfindingModifier` maliyet ağırlıkları ve raycast optimizasyonunu açıklar.
1. Roblox Rota Hesaplama Mantığı: 3D Voksel Izgarası
Rota hatalarını önlemek için navigasyon geometrisi:
- Voksel Izgarası: AgentRadius kapı genişliğini aşarsa sonuç NoPath döner.
- Ajan Parametreleri: Karakter boyutuna göre AgentRadius, AgentHeight ve zıplama ayarları.
- Waypoint Dizisi: Yürüme veya zıplama eylemlerini içeren 3D koordinatlar.
2. PathfindingModifiers ve Özel Zemin Maliyetleri
NPC'lerin tercih edeceği veya kaçınacağı bölgeleri belirleme:
- PathfindingModifier: Parçalara Lav veya Yol gibi etiketler atar.
- Maliyet Çarpanları: Yüksek maliyetler tehlikelerden kaçmayı sağlar.
- PassThrough Özelliği: Kapıları geçilebilir engel olarak tanımlar.
3. Takılmaları Önleme: Raycasting ve Akıcı Hareket
Robotik tereddütleri ortadan kaldırma yolları:
- Görüş Hattı Raycast: Engel yoksa doğrudan hedefe ilerleyin.
- Erken Geçiş: Duraksamamak için noktaya 3-4 stud kala sonraki adıma geçin.
- Yenileme Sınırlaması: Rotaları 0.3-0.5 saniyeden daha sık hesaplamayın.
4. Üretim Düzeyi Lua Kodu: Akıllı Takipçi
Sıkışma korumalı yüksek performanslı takip skripti:
-- PathfindingService Raycast Uygulaması
local PathfindingService = game:GetService("PathfindingService")
Öne çıkanlar: modele özel boyutlar, otomatik zıplama ve takılma telafisi.
5. Çok Sayıda NPC İçin Performans Optimizasyonu
Sunucu kasmadan 50+ NPC çalıştırma stratejileri:
- İstemci İnterpolasyonu: Hesaplamalar sunucuda, akıcı çizim istemcide.
- Mesafe LOD: Uzaktaki NPC'lerin güncelleme sıklığını düşürün.
- Kuyruk Yönetimi: Dakikada 500 rota hesaplama sınırını aşmayın.
Algoritmik Mimari Yeteneğinizi Keşfedin
Yapay zeka sistemleri tasarlamak güçlü bir mantık yürütme kapasitesi gerektirir.
Ücretsiz Beyin Tipi Testini BaşlatSıkça Sorulan Sorular (Roblox Pathfinding)
Neden NoPath hatası alıyorum?
Hedefe ulaşılamıyor veya geçit AgentRadius değerinden daha dar.
Köşelere takılma sorunu nasıl çözülür?
AgentRadius değerini karakterin görsel boyutundan biraz daha büyük ayarlayın.
MoveTo ile PathfindingService farkı nedir?
MoveTo körlemesine düz gider; PathfindingService engelleri A* ile dolanır.