Ich bin ein Anfänger und versuche, die Spieleentwicklung mit Phaser zu lernen . Derzeit bietet Phaser drei physikalische Systeme an, nämlich Arcade, P2 und Ninja. Aber ich kenne die Unterschiede nicht und möchte auch wissen, in welchem Szenario wir ein bestimmtes Physiksystem verwenden sollten?
Bitte geben Sie mir einen Einblick in diese physikalischen Systeme.
Antworten:
Wie in den Kommentaren erwähnt, erklärt die Site bereits, was die drei Systeme sind und wofür sie verwendet werden können.
AABB bedeutet achsenausgerichtete begrenzte Rechtecke. Dies bedeutet, dass Sie Objekte ohne Drehung haben und nur prüfen, ob sich das Bild (das ein Rechteck ist) mit einem anderen Bild überlappt (es besteht also die Möglichkeit einer Kollision). Dies ist billig zu berechnen und schnell, was wahrscheinlich der Grund ist, warum sie es für Hochgeschwindigkeitskollisionen empfehlen.
Ein Problem mit AABB ist, dass es nicht garantiert, dass es wirklich eine Kollision gibt. Möglicherweise haben Sie einen vollständig transparenten Bereich, der sich überlappt.
Erinnern Sie sich, wie AABB nicht gedreht wird? Ninja Physics kann mit Rotationen umgehen (so dass auch Neigungen und komplexe Kacheln möglich sind). Dies ist ein flexibleres (und wahrscheinlich genaueres) Physikmodell. es ist wahrscheinlich langsamer.
Wenn Sie Federn (z. B. Pendelschwingungen), Zwangskräfte und beliebige Polygonformen (z. B. Tetraeder) modellieren müssen, klingt dies nach Ihren Wünschen. Wenn Sie einen Bezugsrahmen benötigen, denken Sie an etwas wie Angry Birds.
Abhängig von Ihrem Spiel können Sie auswählen, welches am besten zu Ihren Anforderungen passt. Es klingt wie ein Spektrum aus Geschwindigkeit und Genauigkeit / Komplexität (Arcade-Physik ist am schnellsten, aber am einfachsten).
quelle