Phaser의 아케이드, P2 및 닌자 물리의 차이점


33

나는 초보자이며 다음을 사용하여 게임 개발을 배우려고합니다. Phaser를 . 현재 Phaser는 Arcade, P2 및 Ninja의 3 가지 물리 시스템을 제공하고 있습니다. 그러나 나는 그들 사이의 차이점을 알지 못하며 특정 물리 시스템을 사용해야하는 시나리오에서 알고 싶습니다.

이 물리 시스템에 대한 통찰력을주세요.


1
Phaser는 Arcade Physics 시스템, Ninja Physics 및 P2.JS (전신 물리 시스템)와 함께 제공됩니다. Arcade Physics는 고속 AABB 충돌 전용입니다. 닌자 물리 (Ninja Physics)는 복잡한 타일과 슬로프를 허용하고 레벨 풍경에 적합하며 P2.JS는 구속 조건, 스프링, 다각형 지원 등을 갖춘 전신 물리 시스템입니다.
— congusbongus

그리고 이제 P2.JS와 비슷하지만 더 나은 유료 Box2D 백엔드도 있습니다.
— Ciro Santilli 新疆 改造 中心 法轮功 六四 事件

답변:


39

의견에서 언급했듯이, 그들의 사이트는 이미 세 가지 시스템이 무엇이며 어떤 시스템을 사용할 수 있는지 설명합니다.

Arcade Physics는 고속 AABB 충돌 전용입니다.

AABB는 축 정렬 경계 사각형을 의미합니다. 회전하지 않는 객체가 있고 이미지 (직사각형)가 다른 이미지와 겹치는 지 확인하므로 충돌 가능성이 있습니다. 이것은 계산하기에 싸고 빠르기 때문에 고속 충돌에 권장하는 이유 일 것입니다.

AABB의 한 가지 문제는 실제로 충돌이 있다는 것을 보증하지는 않는다는 것입니다. 완전히 투명한 영역이 겹칠 수 있습니다.

닌자 물리학은 복잡한 타일과 슬로프를 허용하며 레벨 풍경에 적합합니다 ...]

AABB가 어떻게 회전하지 않는지 기억하십니까? Ninja Physics는 회전을 처리합니다 (따라서 경사 및 복잡한 타일을 수행 할 수 있음). 이것은 더 유연하고 아마도 더 정확한 물리학 모델입니다. 아마 더 느릴 것입니다.

[...] P2.JS는 구속, 스프링, 다각형 지원 등을 갖춘 전신 물리 시스템입니다.

스프링 (예 : 진자처럼 진동하는 것), 힘에 대한 구속 조건 및 임의의 다각형 모양 (예 : 사면체)을 모델링해야하는 경우 원하는대로 들립니다. 참조 프레임을 원한다면 Angry Birds와 같은 것을 생각해보십시오.

게임에 따라 필요에 가장 적합한 것을 선택할 수 있습니다. 속도 대 정확성 / 복잡성의 스펙트럼처럼 들립니다 (아케이드 물리는 가장 빠르지 만 가장 단순합니다).


보다 정확한 모델이 한 번만 발생하면 성능이 저하됩니까?
— 만료 된 닌자

물론 @expiredninja입니다. AABB는 빠르고 저렴합니다. 다른 두 개는 더 복잡하고 기능이 풍부하여 (예 : 경사, 회전) 성능 비용이 발생합니다.
— ashes999

나는 임계 값이 일반적으로 객체의 수 및 / 또는 복잡성 측면에서 궁금해하고 있다고 생각합니다.
— 만료 된 닌자

2
@expiredninja 하드웨어와 게임 로직에 크게 의존합니다. 다른 질문을 열거 나 더 나은 방법으로 질문을 시도하여 자신에게 가장 적합한 것이 무엇인지 확인해보십시오.
— ashes999
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.