Różnica między arkadą, P2 i fizyką Ninja w Phaserze

33

Jestem początkującym i staram się uczyć tworzenia gier za pomocą Phasera . Obecnie Phaser dostarcza trzy systemy fizyki, a mianowicie Arcade, P2 i Ninja. Ale nie znam różnic między nimi i chciałbym również wiedzieć, w którym scenariuszu powinniśmy zastosować konkretny system fizyki?

Proszę dać mi wgląd w te systemy fizyki.

Vijay
źródło
1
Phaser jest dostarczany z naszym systemem Arcade Physics, Ninja Physics i P2.JS - systemem fizyki całego ciała. Arcade Physics służy wyłącznie do kolizji szybkich AABB. Ninja Physics pozwala na tworzenie złożonych kafelków i stoków, idealnych do poziomych scenerii, a P2.JS to system fizyki całego ciała z ograniczeniami, sprężynami, wsparciem dla wielokątów i nie tylko.
congusbongus
A teraz jest też płatny backend Box2D, który powinien być podobny do P2.JS, ale lepszy.
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件

Odpowiedzi:

39

Jak wspomniano w komentarzach, ich strona już wyjaśnia, jakie są te trzy systemy i do czego można je wykorzystać.

Arcade Physics służy wyłącznie do kolizji szybkich AABB.

AABB oznacza wyrównane do osi prostokąty ograniczone; oznacza to, że masz obiekty bez obrotu i sprawdzasz tylko, czy obraz (który jest prostokątem) pokrywa się z innym obrazem (więc istnieje możliwość kolizji). Jest to tani i szybki do obliczenia, dlatego prawdopodobnie zaleca się go w przypadku kolizji z dużą prędkością.

Jednym z problemów związanych z AABB jest to, że nie gwarantuje, że naprawdę nastąpi kolizja; możesz mieć całkowicie przezroczysty obszar nakładający się.

Ninja Physics pozwala na złożone kafelki i stoki, idealne do scenerii na poziomie, [...]

Pamiętasz, jak AABB nie jest obracany? Ninja Physics zajmie się rotacją (dzięki czemu może wykonywać stoki i skomplikowane płytki). Jest to bardziej elastyczny (i prawdopodobnie bardziej dokładny) model fizyki; prawdopodobnie wolniej.

[...] P2.JS to system fizyki całego ciała z ograniczeniami, sprężynami, wsparciem dla wielokątów i nie tylko.

Jeśli potrzebujesz modelować sprężyny (np. Coś kołyszącego się jak wahadło), ograniczenia sił i dowolne kształty wielokątów (np. Czworościan), brzmi to tak, jak chcesz. Jeśli chcesz uzyskać odniesienie, pomyśl o Angry Birds.

W zależności od gry możesz wybrać, który najlepiej pasuje do twoich potrzeb. Brzmi jak spektrum prędkości w porównaniu do dokładności / złożoności (fizyka zręcznościowa jest najszybsza, ale najprostsza).

ashes999
źródło
czy jedno wystąpienie bardziej precyzyjnego modelu zmniejsza wydajność?
expiredninja
@expiredninja tak, oczywiście. AABB jest szybki i tani; pozostałe dwa są bardziej złożone i bogate w funkcje (np. zbocza, obroty), dlatego ich koszt jest ograniczony.
ashes999
myślę, że zastanawiałem się, jakie są ogólnie progi pod względem liczby i / lub złożoności obiektów.
expiredninja
2
@expiredninja, które będą zależeć w dużej mierze od sprzętu i logiki gry. Sugeruję, abyś otworzył kolejne pytanie lub jeszcze lepiej, po prostu spróbuj je i sprawdź, co najlepiej pasuje do twoich potrzeb.
ashes999