Phaser'de Arcade, P2 ve Ninja Fiziği Arasındaki Fark


33

Ben bir acemiyim ve Phaser kullanarak oyun geliştirmeyi öğrenmeye çalışıyorum . Şu anda Phaser, Arcade, P2 ve Ninja olmak üzere üç fizik sistemi sağlıyor. Ancak aralarındaki farkları bilmiyorum ve ayrıca hangi senaryoda belirli bir fizik sistemini kullanmamız gerektiğini bilmek isterim?

Lütfen bu fizik sistemleri için bana biraz fikir verin.


1
Phaser, Arcade Physics sistemi, Ninja Physics ve P2.JS ile birlikte geliyor - tam bir vücut fiziği sistemi. Arcade Physics, yalnızca yüksek hızlı AABB çarpışması içindir. Ninja Physics, seviye sahneleri için mükemmel olan karmaşık döşemelere ve eğimlere izin verir ve P2.JS, kısıtlamaları, yayları, çokgen desteği ve daha fazlasıyla birlikte tam vücutlu bir fizik sistemidir.
congusbongus

Ve şimdi de P2.JS'ye benzer fakat daha iyi olması gereken ücretli Box2D arka ucu var.
Ciro Santilli,

Yanıtlar:


39

Yorumlarda belirtildiği gibi, siteleri zaten üç sistemin ne olduğunu ve ne için kullanılabileceğini açıklıyor.

Arcade Physics, yalnızca yüksek hızlı AABB çarpışması içindir.

AABB, eksen hizalı sınırlı dikdörtgenler anlamına gelir; Dönme hareketi olmayan nesnelere sahip olduğunuz anlamına gelir ve yalnızca görüntünün (bir dikdörtgen olan) başka bir görüntüyle çakışıp çakışmadığını kontrol eder (yani, olası bir çarpışma vardır). Bu, hesaplanması ucuz ve hızlı, bu yüzden muhtemelen yüksek hızlı çarpışmalar için tavsiye ediyorlar.

AABB ile ilgili bir sorun, gerçekten bir çarpışma olduğunu garanti etmemesidir; örtüşen tamamen saydam bir alana sahip olabilirsiniz.

Ninja Physics, sahne dekoru için mükemmel, karmaşık çini ve eğimler sağlar, [...]

AABB'nin nasıl döndürülmediğini hatırlıyor musunuz? Ninja Physics, rotasyonları idare eder (böylece yamaçlar ve karmaşık fayanslar yapabilir). Bu daha esnek (ve muhtemelen daha doğru) bir fizik modelidir; muhtemelen daha yavaş.

[...] P2.JS kısıtlamaları, yayları, çokgen desteği ve daha fazlasıyla birlikte tam vücut bir fizik sistemidir.

Yayları (örneğin, bir sarkaç gibi sallanan bir şey), kuvvetler üzerindeki kısıtlamaları ve isteğe bağlı çokgen şekilleri (örneğin, tetrahedron) modellemeniz gerekirse, bu istediğiniz gibi görünür. Bir referans çerçevesi istiyorsanız, Angry Birds gibi bir şey düşünün.

Oyununuza dayanarak, ihtiyaçlarınıza en uygun olanı seçebilirsiniz. Doğruluk / karmaşıklığa karşı hız spektrumuna benziyor (Arcade Physics, en hızlı ama en basit olanı).


Kesin modelin bir insidansı performansı düşürür mü?
55'te süresi dolmuş

Tabii ki @ expiredninja evet. AABB hızlı ve ucuz; diğer ikisi daha karmaşık ve zengin özelliklere sahiptir (ör. eğimler, rotasyonlar) bu nedenle performans maliyetine sahiptirler.
ashes999

Sanırım eşiklerin genellikle nesnelerin sayısı ve / veya karmaşıklığı açısından ne olduğunu merak ediyordum.
süresi

2
@expiredninja büyük ölçüde donanım ve oyun mantığınıza bağlı olacaktır. Başka bir soru açmanı öneririm, ya da daha iyisi, sadece onları dene ve ihtiyaçlarına en uygun olanı gör.
ashes999
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.