2D 연체 물리 엔진?


9

안녕하세요. 저는 최근 SFML 그래픽 라이브러리를 배웠으며 비 강체 2D 물리 시스템을 사용하거나 사용하고 싶습니다. 세 가지 질문이 있습니다.

Box2d에서 강체 의 정의 는

청크상의 물질의 두 비트 사이의 거리가 완전히 일정 할 정도로 강한 물질 덩어리.

그리고 이것은 탄성, 변형, 파손 및 재 연결 몸체를 만들고 싶기 때문에 내가 원하지 않는 것입니다. 1. 간단한 2D 물리 엔진이 있지만 이런 종류의 특성이 있습니까? 가급적 무료 또는 오픈 소스?

2. box2d를 사용할 수 없다면 딱딱한 물체를 기반으로하더라도 box2d를 사용하여 만들 수 있습니까?

3. 마지막으로, 이와 같은 간단한 물리 엔진이 있다면, 경험과 물리 수학 지식을 향상시키기 위해 어쨌든 새로운 엔진을 만드는 과정을 거쳐야합니까? 기존 엔진의 코드를 수정하거나 정말 독특한 물리학으로 게임을 만들고 싶다면 도움이 될 것 같습니다.

감사!


1
JelloPhysics (C #)라는 엔진이 있었지만 사이트가 다운 된 것 같습니다. 비디오는 여기있다 : youtube.com/watch?v=SvqY_pgA6DU은
bummzack

답변:


6

강체 시스템을 사용하여 연체 및 유체 역학을 만들 수 있습니다. 그 뒤에 물리적 인 이유? 기본적으로 원자는 작은 강체입니다. 물론 이것은 사실이 아니지만 간단하게하기 위해 그대로 볼 수 있습니다. 그리고 연체는 분명히 원자로 만들어집니다.

Box2D와 같은 강체 엔진을 사용하여 어떻게 "소프트 바디"를 생성합니까?

필수 기술은 관절을 사용하여 신체의 점을 묶는 것입니다. 예를 들어, 거리 조인트를 사용하여 선리스트의 끝을 함께 연결하면 (두 조인트 사이의 거리가 일정해야 함을 의미), 마치 천처럼 작동합니다.

그러나 그것은 대략적인 설명 일뿐입니다. Box2D와 함께 많은 "초등 현장 작업"은 Box2D의 Java 포트 개발자 중 하나 인 ewjordan에 의해 수행되었습니다. 여기 좋은 출발점이 있습니다 : http://www.box2d.org/forum/viewtopic.php?f=8&t=1978


연체의 "모양"을 유지하고 전체를 유지하기위한 부피를 계산하기 위해 장력 / 압축 스프링의 혼합이 필요합니다.
Jonathan Connell

그렇습니다. 그러나 우리가 Box2D에 대해 이야기하고 있다면 실제로는 관절을 통해 이루어집니다. 물론 그는 수동으로 그들의 행동을 바꿔야하지만, 그가 시작해야하는 곳이다. 예를 들어 Gish와 같은 얼룩의 일정한 볼륨 효과를 위해 JBox2D에는 ConstantVolumeJoint가 있습니다.
TravisG

네, Box2D에 익숙하지 않습니다. 일부 동료가 PhysX를 사용하여 거품을 시뮬레이션 한 방법을 알고 있습니다. ^^
Jonathan Connell

1

당신이 찾고있는 용어는 연체 물리학입니다.

Wikipedia 에는 멋진 목록이 있습니다. 모두 3D AFAICS이지만 양호해야합니다.

또한 SO 질문을 확인하십시오 .

훌륭한 책 (강체이지만 모든 수학과 물리학이 있습니다. 또한 3D이지만 2D로 전환하는 것이 쉽지 않습니다)는 Game Physics Engine Development 입니다. 강체 위로 움직이고 충돌하기 전에 파티클 기반 시스템을 구현합니다.


1

연체를 시뮬레이트하는 간단한 방법 중 하나는 작은 강체를 탄성 조인트로 연결하는 것입니다. 그런 다음 어려운 부분은 모델의 매개 변수를 미세 조정하고 텍스처를 기본 모델에 매핑하는 것입니다.

다음 블로그 게시물은 cocos2d 엔진으로 변형 가능한 볼을 구현합니다. http://2sa-studio.blogspot.com/2014/05/soft-bodies-with-cocos2d-v3.html


cocos2d 디버그 추첨에 대한 크레딧 ;-)
sdabet
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.