Perbedaan antara Arcade, P2, dan fisika Ninja di Phaser

33

Saya seorang pemula dan mencoba mempelajari pengembangan game menggunakan Phaser . Saat ini Phaser menyediakan tiga sistem fisika yaitu Arcade, P2 dan Ninja. Tetapi saya tidak tahu perbedaan antara mereka dan saya juga ingin tahu di skenario mana kita harus menggunakan sistem fisika tertentu?

Tolong beri saya wawasan untuk sistem fisika ini.

Vijay
sumber
1
Phaser mengirim dengan sistem Fisika Arcade kami, Fisika Ninja, dan P2.JS - sistem fisika seluruh tubuh. Arcade Physics hanya untuk tabrakan AABB berkecepatan tinggi. Fisika Ninja memungkinkan ubin dan lereng yang rumit, cocok untuk pemandangan level, dan P2.JS adalah sistem fisika seluruh tubuh, dengan kendala, pegas, dukungan poligon, dan banyak lagi.
congusbongus
Dan sekarang ada juga backend Box2D berbayar, yang harus mirip dengan P2.JS tetapi lebih baik.
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件

Jawaban:

39

Seperti disebutkan dalam komentar, situs mereka sudah menjelaskan apa ketiga sistem itu dan apa yang dapat mereka gunakan.

Arcade Physics hanya untuk tabrakan AABB berkecepatan tinggi.

AABB berarti persegi panjang dibatasi selaras sumbu; itu berarti Anda memiliki objek tanpa rotasi, dan Anda hanya memeriksa apakah gambar (yang merupakan persegi panjang) tumpang tindih dengan gambar lain (jadi ada potensi tabrakan). Ini murah untuk dihitung, dan cepat, yang mungkin mengapa mereka merekomendasikannya untuk tabrakan berkecepatan tinggi.

Satu masalah dengan AABB adalah tidak menjamin bahwa benar-benar ada tabrakan; Anda mungkin memiliki area yang sepenuhnya transparan yang tumpang tindih.

Fisika Ninja memungkinkan untuk ubin dan lereng yang rumit, cocok untuk pemandangan level, [...]

Ingat bagaimana AABB tidak diputar? Fisika Ninja akan menangani rotasi (sehingga dapat dilakukan kemiringan dan ubin kompleks). Ini adalah model fisika yang lebih fleksibel (dan mungkin lebih akurat); mungkin lebih lambat.

[...] P2.JS adalah sistem fisika seluruh tubuh, dengan kendala, pegas, dukungan poligon, dan lainnya.

Jika Anda perlu memodelkan pegas (mis. Sesuatu yang berayun seperti pendulum), kendala pada gaya, dan bentuk poligon yang berubah-ubah (mis. Tetrahedron), ini terdengar seperti apa yang Anda inginkan. Jika Anda ingin kerangka referensi, pikirkan sesuatu seperti Angry Birds.

Berdasarkan permainan Anda, Anda dapat memilih mana yang paling cocok dengan kebutuhan Anda. Kedengarannya seperti spektrum kecepatan versus akurasi / kompleksitas (Arcade Physics menjadi yang tercepat tetapi paling sederhana).

ashes999
sumber
apakah satu kejadian dari model yang lebih tepat menurunkan kinerja?
expiredninja
@ expiredninja ya, tentu saja. AABB cepat dan murah; dua lainnya lebih kompleks dan kaya fitur (mis. kemiringan, rotasi) sehingga dikenakan biaya kinerja.
ashes999
Saya kira saya bertanya-tanya tentang apa ambang umumnya dalam hal jumlah dan / atau kompleksitas objek.
expiredninja
2
@ expiredninja yang akan sangat bergantung pada perangkat keras dan logika permainan Anda. Saya sarankan Anda membuka pertanyaan lain, atau lebih baik lagi, coba saja dan lihat apa yang paling sesuai dengan kebutuhan Anda.
ashes999