Gezinme Mesh yol bulma nasıl çalışır?


27

Navmeshe'lerin nasıl çalıştığını, nasıl uygulanacağını ve neden diğer tiplerdeki yama sistemlerinden daha iyi olduğunu anlamak istiyorum.


Bu sabah internet gezintilerimde ortaya çıktı: aigamedev.com/open/reviews/alienswarm-node-graph Okumaya değer olabilir :-)
coderanger

Bu eğitimde bu yazı rastlamak Unity kullanıcıları için yararlı olabilir: binpress.com/tutorial/unity3d-ai-navmesh-navigation/119
Michaelhouse

Yanıtlar:


6

Yol noktası yol bulma ile aynıdır, sadece yol çokgenlerine sahip olduğunuz yol noktaları yerine ve buradan navimesh hakkında birkaç şey söyleyebilirsiniz:

  • çokgenler, varlıkların güvenle yürüyebileceği alanlardır
    • diğer alanlar muhtemelen dikkate alınmamalıdır
    • yol noktaları, aralarındaki boşluğa inanç sıçraması gerekir; duvarlara sıkışmış NPC'leri hatırlıyor musun? İki yol noktasının doğrudan bağlanmadığı yerlerdeydi.
  • Potansiyel olarak daha az düğüm var (çünkü çokgenler daha büyüktür)
    • Bu nedenle büyük olasılıkla daha hızlı
    • Bu nedenle potansiyel olarak daha küçük bellek gereksinimlerine sahiptir
  • Daha gerçekçi (çünkü çokgenin alanı teoride sonsuz miktarda puan içeriyor)
    • Çokgenlerde NPC'ler arasındaki çarpışmaları önlemek için bazı sürü davranışları yapabilirsiniz.

2

Genellikle bir tür gelişmiş A * algoritması ile kullanılırlar (3D yol bulma için atlama veya uç linklerini dikkate alır). Bu şekilde gerçekten her şeyden farklı bir sistem değil, doğrudan yüksek-poli (iyi konuşulan) ortamdan veya araziden normal bir yol bulma ağı oluşturmanın bir yolu. Onlara neden işaretçiler diyoruz, ama fikir aynı, her haritada bir tür otomatik işlem çalışıyor ve makul bir zaman diliminde A * üzerinde çalışabilecek basit bir bağlantı kümesi oluşturuyor. Ham altta yatan verilere karşı yol bulmayı denediyseniz, ağın yoğunluğundan dolayı bir oyun için çok yavaş olurdu.


Bu basitleştirilmiş bir kafes üzerinde yapılan dışında bir yol noktası grafiği değil mi? Gömme parçaların çokgende yama yapmanıza izin verdiğini sanıyordum.
Fire,

Sadeleştirilmiş grafik, uzun mesafe düzeltme yapmanıza olanak sağlar, kısa menzil genellikle başka bir yolla yapılır. Valve'ın sistemi mesh verilerini her ikisi için de sadece farklı şekillerde kullanıyor (üst yönlendirme yönlendirme vs. yerel kısıtlamalar).
coderanger

Basit bir bağlantı kümesi navmesh değil mi? Buna polmesonun üstüne karıştıracağınız için navmesh diye düşünmüştüm.
Fire,

Yerel ve küresel navigasyonun burada geçerli olduğunu sanmıyorum.
Fire,

1
Komşu çokgenler kümesi hala belirlenmiş bir yol noktası gibi bir grafiktir ve A * üzerinde aynı şekilde yapabilirsiniz. Aradaki tek fark, hangi poligonda hareket edeceğinizi bildiğiniz zaman, hatları farklı çizeriz.
coderanger

0

Bunu yapmanın birçok yolu var. A * ve benzeri iyi bir seçenektir, ancak dokümantasyonda eksik. Haritanın etrafında yarı-rastgele yer düğümleri gibi bir şey yapabilir ve hangi düğümlerin birbirlerini görebildiğini ve küçük bir düğüm ağı oluşturabileceğini kontrol edebilirsiniz. En uygun değil ama anlaşılması kolay.

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.