Bir fareyi izlemek için 2B “piksel” bulut elde etme


10

Birbiriyle örtüşmeden fare imlecimi takip etmek için birkaç yüz küçük küp veya diskten oluşan bir "bulut" elde etmeye çalışan bir 2D oyun üzerinde çalışıyorum.

Bununla birlikte, fizik motorunun kullanılması, disk sayısı arttıkça ve çarpışma algılaması genellikle sakat olduğunda performansta durgunluk yaratır.

Motoru bu tür bir şey için optimize etmenin kolay bir yolu var mı? Değilse, sadece motoru kapatmak ve kendim bir şeyler yazmak daha iyi olur mu? (Burada payetlere tutarak, ama :) Bunun nasıl yapılacağı konusunda iyi kaynaklar veya örnekler var mı?

Yanıtlar:


13

Evet, bunun için bir fizik motoru kullanmak biraz fazla olabilir. Akın algoritması uygulamanızı öneririm. Temelleri:

  • Ayrılma: Yerel sürü arkadaşlarından uzak durmak için yönlendirin

  • Hizalama: Yerel sürü arkadaşlarının ortalama pozisyonuna yönel

  • Uyum: Yerel sürü arkadaşlarının ortalama konumuna doğru yönelmek

Burada çalışırken görebilir ve uygulaması hakkında bazı ayrıntılar alabilirsiniz . Fare işaretçisine doğru bir kuvvet uygulamak da dahil olmak üzere bazı küçük değişiklikler yapacaksınız.


1
Eğer saf olarak da işleyemediğiniz çok fazla teklifiniz varsa akının verimli olmasını sağlamak için sanal bir dinamik ızgara veya başka bir uzamsal bölümleme kullanırsınız. Optimize etmenin birçok yolu.
Sean Middleditch
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.