Karmaşık hareketli bir aracı mı hedefliyorsunuz?


9

Bilinen sabit hızla bir araç Hedefleme basittir ve çarpışma (bkz garanti bir nesne hedefini yol olması için düşman konumunu tahmin , (sabit) hız ve eğim bilerek 2D 2 nesnelerin noktasını toplantı bulun ). Kesin olmayan AI küçük bir hata faktörü eklenerek modellenebilir.

Fakat hareketleri daha karmaşık olan bir aracı nasıl hedefleyebiliriz? Belki de AI veya başka bir oyun nesnesinden kaçınıyor.

Kendimi bir FPS'de (mermilerin sonlu hıza sahip olduğu) nasıl yapacağımı düşünüyordum ve bir önceki saniyedeki hedefin hareketine bağlı olarak en az birkaç hedefleme modunun olması gerektiğini düşünmüştüm:

  • Doğrusal modelle doğrusal (belirli bir aralıkta pik hızlanma) hedefine yakınsa
  • Oldukça düzensizse (belki de son konumların sınırlayıcı kutusunun boyutu kullanılabilir mi?), Ortalama

Şimdilik 2d alanı olduğunu varsayabilirim, AI sabittir ve mermi kılavuzsuzdur ve doğrusal hareket eder.


1
Düzensiz hareket eden nesne hakkında veri toplamak için zamanınız varsa, en olası sonraki hareketini enterpole edebilir ve orada çekim yapabilirsiniz. Ne kadar fazla veriye sahip olursanız, o kadar kesin olur.
Michael K

Sadece konuşan merminin olup olmadığını bilmiyorum. Ancak akıllı bir tüzük de var. Bir RPG'den fırlatılan bir acı, örneğin bir uçağın ısısını izleyebilir.
Steve H

@SteveH - sadece kılavuzsuz "madde işaretleri". Söz konusu açıklığa kavuşturulmuş.
e100

Yanıtlar:


11

Rastgele düşünceler (kod yok) ...

Gerçek hayatta, kişi bu hareketin ne olacağını tahmin etmeye çalışarak karmaşık hareketleri olan bir aracı hedefler. AI'nın AI'yı hedeflemesi için kod yazıyorsanız, hedef AI'dan türetilen bir hedefleme AI'ı oluşturmanız gerekir. Örneğin, hedefiniz yakınlardaysa kapak için yayınlanacaksa, hedefleme yapay zekası bu hareketi tahmin edebilmelidir.

Öte yandan insanları AI ile hedeflemeye çalışıyorsanız, çok daha zor olacak. Rastgele hedefleme işe yarayabilir, ancak oyununuz için bir sorun olabilecek veya olmayabilecek "rastgele" görünebilir.

Bir çözüm bulmak için yapabileceğiniz bir şey, problemi zihinsel olarak bir şeyi vurmaya çalışmanın farklı parçalarına ayırmaktır ...

İzleme yeteneği

Hedefe hareket edebilen bir cihazla vurmak için, cihazı takip etmek ve hedefi takip etmek için hareket ettirmek gerekir. Hedef, hedefin hareket ettiğini gözlemler ve takip etme hedeflerini hareket ettirir. Bir izleyicinin sınırlı miktarda hareketi varsa, izleme yeteneği engellenir ve bazı şeyleri izlemekte zorlanabilir. ancak izleyicinin çok fazla izleme özgürlüğü varsa, birçok şeyi potansiyel olarak izleyebilir. Tank kulesi ile parmağınızla bir şeye işaret etme arasındaki farkı düşünün.

İzleme Hızı

Başka bir faktör, izleyicinin ne kadar hızlı izleyebileceğidir. Çok yavaşsa ("tank taretini" düşünün), o zaman hızlı hareket eden bir hedefi izleyemez. Bunun yerine, hedefin yolunun beklentisine dayanmalıdır. Öte yandan, "hızlı" hıza sahip bir izci hızlı bir şekilde hedefin yeni yerine geçebilir.

Reaksiyon Reaksiyon Süresini İzleme

İzlemedeki üçüncü faktör, izlemenin reaksiyon süresidir. Yani, hedef yön değiştirdiğinde izleyici ne kadar hızlı tepki verebilir? Nihai izci, hızlı izleme hızı ve anında tepki süresi olan bir izleyicidir - herhangi bir değişikliği takip edebilir.

Hedef Tanıma

Hedefleyici bir hedefi ne kadar iyi tanıyabilir? Birisi karmaşık bir ortamda bir hedefi izliyorsa, hedefleyicinin hedefi tanımadığı veya "kaybetmediği" zamanlar olabilir. Hedefleyici bir hedefi ne kadar hızlı tanıyabilirse, o kadar iyi olur. Bir hedefi kaybetme olasılığı ne kadar azsa, o kadar iyi olur.

Çekim Reaksiyonu Süresi

Hedef, artı işaretinde kısa bir süre için görünmesi, bir atış olacağı anlamına gelmez. İzleyici tetiği çekecek kadar hızlı tepki verebilir mi? Gerçekten kötü tepki süresi olan gerçekten kötü izleyiciler hiçbir şeye çarpmaz. Gerçekten iyi tepki süresine sahip gerçekten iyi izleyiciler herhangi bir şeye çarpacak, çünkü hedefte sadece en ufak bir zamana ihtiyaçları var.

Beklenti Hareketi

Hareket beklentisi başka bir faktördür. Bu, sadece hedefin nerede olduğunu izlemeye çalışmakla hedefin nerede olacağını düşündüğünüzü izlemek arasındaki farktır. Bir izleyici tahmin edebiliyorsa, hedefi daha iyi izleyebilir ve hedefin artı işaretlerinde olma şansını artırabilir ve böylece tepki sürelerine göre atış yapma yeteneklerini geliştirebilir. Sıfır tahmin izleyicileri, hedefin eylemlerinden bağımsız olarak hedefi otomatik olarak hedefe doğru hareket ettirir. En kötü durum, basit bir hareketli hedefi izlemeye çalışma beklentisi olmadan hızı yavaş olan bir izleyicidir. Birkaç saniyede bir sola ve sonra sağa adım atan bir hedef düşünün. Yavaş bir izci sadece hedefi ileri geri sıçramaya devam eder, asla hedefe ulaşmak için yeterince hızlı olmaz.

Hedef Hareketin Modellenmesi

Yukarıda belirtildiği gibi, izci, hareketini modelleyerek hedefi yapmak için tahmin edebilir, bu da yapılması zor değildir. Bir araç belirli bir hızda sürüyorsa, aracın önümüzdeki saniye içinde olabileceği sınırlı sayıda yer vardır ve esasen hareketlerinin önünde bir üçgen gibi yerleştirilirler. Ne kadar hızlı giderse, üçgen o kadar sıkı olur. Ne kadar hızlı dönebilirlerse o kadar geniş olur. Zorlukla dönebilen (roket gibi) gerçekten hızlı bir aracın çok küçük bir dar potansiyel yolu vardır. Çok iyi dönebilen yavaş bir yolun çok daha geniş bir potansiyel yolu vardır. Bu, bazı araçlardaki yedek kameralar gibi, arabanızı şimdi olduğu gibi sürmeye devam ederseniz aracınızın nereye gideceğini gösteren, ayrıca tekerleği daha fazla döndürürseniz potansiyel olarak nereye gidebileceğinizi gösteren hatlara bindirir.

Bunu göz önünde bulundurarak, "potansiyel hedef alan" kutunuzu bu potansiyel yol alanına koymalısınız. Hedefinizin bir yandan diğerine sapma eğiliminde olduğunu biliyorsanız, hedef kutunuzun tüm olası hareketleri kapsayacak kadar geniş olması gerekir. Hedefiniz hareketlerinde oldukça doğrusalysa, hedef kutunuzu çok daha küçük hale getirebilir ve hareketin beklenen konumuna odaklayabilirsiniz. Bu tür bir düşüncenin, izlemeye, lineer ve lineer olmayan beklenti arasında gerçekten farklı olmayan tek bir çözüm yapmanıza yardımcı olacağını düşünüyorum. Doğrusal izleme, daha yüksek bir güven düzeyiyle (daha küçük hedefleme kutusu) beklenirken, rasgele izleme düşük seviyeli güven izlemedir (daha büyük izleme kutusu).

Tabii ki hedef hala durursa bu zorlaşır, çünkü herhangi bir yönde hareket etme potansiyeline sahiptir. Ancak tabii ki hala çok uzun oturursa, en yavaş izci için bile kolay bir hedeftir.

Hedef Psikoloji

Aniden solunuza inen atışlar olsaydı ne yapacağınızı düşünün. Onlara kaçar mısın? HAYIR! Sağa doğru koştun. Ya da belki kapak için koşardın. Ama belki de hedefleyici özellikle kapak yerine ateş eder, o zaman bunun için koşmazsınız.

Öğrenme Kapasitesi

Potansiyel olarak hedefleyiciniz deneyimden öğrenebilir. İlk başta aracın potansiyel hareketi hakkında hiçbir fikirleri olmadığını varsayalım. Ne kadar hızlı gidebileceğini veya ne kadar hızlı dönebileceğini bilmiyorlar. Ancak eylemde gözlemlemek onlara bunun ne olduğunu öğretecektir. Yani bir tanesini ilk kez denemeye çalıştıklarında çok iyi sonuç alamayabilirler. Ancak hareket davranışını öğrenir ve sonraki denemelerde daha iyisini yaparlar.

Daha fazla okuma

Bu led'i yazdıktan sonra biraz googling, tüfek nişancılık için bu kılavuza ulaştı ...

http://www.globalsecurity.org/military/library/policy/army/fm/3-22-9/c07.htm

Burada gerçek bir insanın nasıl nişan alacağı / izleyebileceği / izleyebileceği hakkında bazı fikirler olabilir.


Vay canına - bu bana düşünce için çok fazla yiyecek verdi - teşekkürler!
e100

Evet, senin için gerçekten kesin bir cevabım varsa, sadece düşünecek bazı şeyler bilmiyorum. İzlemede matematik olduğu kadar bence psikoloji de var.
Tim Holt

Gerçekten de - ne tür bir hedef olduğunu ve dolayısıyla muhtemel davranış biçimini belirleme kavramı, geçmişe bakıldığında barizdir. Modunun / durumunun da ne olduğunu anlamak için genişletilebilir (örn. Statik / habersiz / savaşta / kaçınma vb.)
e100
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.