Dinamik engeller ve oyuncu tarafından yapılan tıkanmalar için bir yol bulma?


11

Merhaba Unity 5 bir TD oluşturma ve benim Pathfinding biraz yardıma ihtiyacım var.

Ben kullanacağım Arons A * yol bulmanın beni dinamik nesneler kullanın ve çalışma zamanı sırasında yolunu güncelleme sağlayan benim AI için. Ancak oyunumda oyuncunun minyonları özel kuleleriyle bloke edebilmelerini istiyorum.

Böyle bir şeyi nasıl başarabilirim?

Daha fazla netlik için resim: resim açıklamasını buraya girin

Yanıtlar:


22

Aaron tarafından A * 'nın özel uygulanmasına bakmadım, ancak normal bir A * ile' blok kuleyi 'geçilebilir arazi olarak dahil edebilirsin, ancak sezgiseli güncelleyebilirsin, böylece' maliyet 'normal bir karodan çok daha yüksek olur (böylece AI, bloğu yok etmenin ve devam etmenin veya engellenmeyen yol üzerinden basitçe dolaşmanın daha kolay olup olmadığını değerlendirecektir).

O zaman bir düşman normal bir kiremit 'blok kule kiremit' taşımak için çalışırken, yok imha kadar otomatik olarak saldırmak için AI güncellemek gerekir.


8
+1 Engelleme kulesinin maliyetinin, herhangi bir fark varsa, X sayısının ve yok etmek için minyon türünün ne kadar süreceğini bağlı olarak hesaplanmasını isteyebileceğinizi ekleyebilirim. En düşük seviye kölelerinin yok edilmesi 5 saniye sürerse, kule için önceden belirlenmiş bir maliyet yanlış olabilir, ancak bir süper-minyon 1 saniye içinde yapabilir.
Bulanık Mantık

0

Eğer aradığınız şey bir tür alaycı kule ise, tetikleyici olarak ayarlanmış bir çarpıştırıcı ekleyebilirsiniz ve köleler tetiğe girdiğinde, kuleye saldırmak için komut dosyası yazılır.

Minyonların kulelere sadece alternatif yollar olmadığında saldırmasını istiyorsanız, yol engellendiğinde ve A * çağrıldığında null değerini döndürürse başka bir yol hesaplamak için çağrıldığında, tüm alaycı kuleleri bulmak için düşmanlara komut verebilirsiniz. hedefleyin.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.