Farseer kullanarak Fizik Döşeme


9

Kiremitli bir ortamda, nesnem zaman zaman mükemmel hizalanmış olsalar bile, diğer nesnelerin köşeleriyle etkileşime girecek olan Farseer Fizik Motoru ile bir sorun yaşıyorum.

Farseer kullanarak Fizik Döşeme

Yürüyen Kareler veya benzeri bir şey kullanarak daha büyük bir nesne hesaplamanızı ve oluşturmanızı öneren insanları okudum. Bununla birlikte, bu seçenek bir seçenek değildir, çünkü her karonun farklı sürtünme ve restitüsyon gibi farklı fiziksel özelliklere sahip olmasını istiyorum.

Benim sorum, tam olarak buna neden olan şey, kayan hassasiyet sorunları mı yoksa başka bir şey mi? Ve tüm fizik motorunu kırmadan düzeltmenin bir yolu var mı?


Çarpışma kutularını bir piksel kadar genişletip genişletemeyeceğinizi merak ediyorum, bu yüzden biraz örtüşüyorlar. Yüzeyi belki daha bağlı olarak görebilir.
Doug.McFarlane

@ Köpek: Bunu test ettim ve hiçbir fark yaratmadı.
William Mariager

Yer karoları statik cisimler midir?
bummzack

@bummzack: Evet öyle.
William Mariager

Aynı problemi ben de yaşıyorum. Hareketli nesnem bir dikdörtgen veya daire olduğunda "sıçrayan" efekti alıyorum. Ayrıca, birden fazla kareyi tek bir büyük dikdörtgene dönüştüremiyorum çünkü oyuncunun belirli durumlarda tek tek döşemeleri "kaldırma" yeteneğine sahip olmasını istiyorum.

Yanıtlar:


5

Farseer yinelemeli bir çözücü kullanır, bu nedenle tekerleğiniz yüksek hızda başka bir dikdörtgenle çarpışmaya başladığında, zaman zaman çarpmalar görürsünüz, çünkü bu bir fizik simülasyonuna değil, bunun gibi şeylerle bizim için "mükemmel bir hizalama" asla "piksel mükemmel" olmaz.

Dikdörtgenleri Kenar / Döngü şekillerine dönüştürmeniz ve daha sonra yapay kiremit sınırları oluşturmak ve karakter sınırlayıcı bir kutuya girdiğinde özellikleri değiştirmek gibi farklı fiziksel nitelikleri modellemek zorunda kalacaksınız, ancak her fiziksel kalite bu şekilde taklit edilemez.

Er ya da geç Farseer yerine kendi kiremit tabanlı fiziğinizi yazacaksınız. Oyununuz çok sayıda karmaşık fizik bulmacasına sahip değilse, Farseer'ı tamamen terk etmek ve kendi çini tabanlı fiziğinizi yuvarlamak daha kolay olacaktır.


Aslında kendi fizik motorumu, özellikle de bu döşeme motoru için kodlamaya başladım, çünkü zarif bir çözüm yok gibi görünüyor.
William Mariager

Basit bir çözüm olmadığı için cevabı işaretlemeye karar verdim ve kendi çözümünüzü kodlamaktan daha iyi olacaksınız. Ya da farklı fiziğe sahip olamayacağınızı kabul edin ve daha büyük bedenler yapmak için Yürüyen Kareler kullanın.
William Mariager

0

çarpışma şekillerinizi optimize edebilirsiniz, bu sahne sadece dört dikdörtgen ile yapılabilir.

birini büyütmek için korelasyon kutularına katılabilirsiniz.

bu video gösteriliyor http://www.youtube.com/watch?v=eyhGckHgkkE

kutu eklerken, optimize edilmiş şekle sahip açık mavi bir dikdörtgen görebilirsiniz.


1
Üçüncü paragrafta söylediğim gibi, bir grup nesneyi daha büyük bir nesneye dönüştürmek bir seçenek değildir, çünkü bireysel özellikleri kaybederim.
William Mariager

bunları phisycal özelliklerine göre gruplayabilirsiniz. birlikte farklı fiziksel bloklara sahip olmanın pek olağan olmadığını düşünüyorum.
Blau

Arazi bir streçte çok değişiyorsa, onları fiziksel niteliklere göre gruplamak bana aynı sorunu verecektir. Bu olağandışı olabilir, ancak yine de ihtiyacım olan şey bu.
William Mariager

0

Hmm ... Bunun altındaki çini ile değil, çemberinizle bir ilgisi olabileceğinden şüpheleniyorum. Tek bir tekne kullanarak zemini oluşturmayı deneyin ve aynı sonuçları alıp almadığınızı görün. Değilse, şüphelendiğiniz karolar. Eğer öyleyse, çevreniz sandığınız kadar yuvarlak değildir.


Bunu test ettim. Tek bir büyük dikdörtgen kullanırken sorun yoktur.
William Mariager

k, Fayans sorunu o zaman
John McDonald
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.