Differenza tra fisica Arcade, P2 e Ninja in Phaser


33

Sono un principiante e sto cercando di imparare lo sviluppo del gioco usando Phaser . Attualmente Phaser fornisce tre sistemi fisici, ovvero Arcade, P2 e Ninja. Ma non conosco le differenze tra loro e vorrei anche sapere in quale scenario dovremmo usare un particolare sistema fisico?

Per favore, datemi un'idea di questi sistemi fisici.


1
Phaser viene fornito con il nostro sistema Arcade Physics, Ninja Physics e P2.JS - un sistema di fisica del corpo completo. Arcade Physics è solo per la collisione AABB ad alta velocità. Ninja Physics consente piastrelle e pendenze complesse, perfette per scenari di livello, e P2.JS è un sistema di fisica di tutto il corpo, con vincoli, molle, supporto poligonale e altro ancora.
congusbongus,

E ora c'è anche il backend Box2D a pagamento, che dovrebbe essere simile a P2.JS ma migliore.
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件 il

Risposte:


39

Come menzionato nei commenti, il loro sito spiega già quali sono i tre sistemi e per cosa possono essere utilizzati.

Arcade Physics è solo per la collisione AABB ad alta velocità.

AABB significa rettangoli delimitati allineati ad asse; significa che hai oggetti senza rotazione e stai solo verificando se l'immagine (che è un rettangolo) si sovrappone a un'altra immagine (quindi c'è una potenziale collisione). È economico da calcolare e veloce, motivo per cui lo consigliano per collisioni ad alta velocità.

Un problema con AABB è che non garantisce che ci sia davvero una collisione; potresti avere un'area completamente trasparente sovrapposta.

Ninja Physics consente piastrelle e pendenze complesse, perfette per scenari di livello, [...]

Ricordi come AABB non è ruotato? Ninja Physics gestirà le rotazioni (quindi può fare pendenze e piastrelle complesse). Questo è un modello fisico più flessibile (e probabilmente più accurato); è probabilmente più lento.

[...] P2.JS è un sistema di fisica di tutto il corpo, con vincoli, molle, supporto poligonale e altro.

Se hai bisogno di modellare molle (ad es. Qualcosa che oscilla come un pendolo), vincoli sulle forze e forme arbitrarie di poligoni (ad es. Tetraedro), questo suona come quello che vuoi. Se vuoi un quadro di riferimento, pensa a qualcosa come Angry Birds.

In base al tuo gioco, puoi scegliere quale si adatta meglio alle tue esigenze. Sembra uno spettro di velocità rispetto a precisione / complessità (Arcade Physics è la più veloce ma più semplice).


un'incidenza del modello più preciso riduce le prestazioni?
expiredninja,

@expiredninja sì, certo. AABB è veloce ed economico; gli altri due sono più complessi e ricchi di funzionalità (ad es. pendenze, rotazioni), quindi hanno un costo prestazionale.
ashes999,

immagino che mi stavo chiedendo quali siano le soglie in termini di numero e / o complessità degli oggetti.
expiredninja,

2
@expiredninja che dipenderà in gran parte dal tuo hardware e dalla logica di gioco. Ti suggerisco di aprire un'altra domanda, o meglio ancora, provale e vedi cosa funziona meglio per le tue esigenze.
ashes999,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.