나는 플레이어가 손가락으로 보트를 드래그하는 게임을 만들고 있습니다. Box2D를 게임의 물리학 측면에 사용하고 있습니다. 특히 터치 이벤트가 보트를 드래그하도록 터치 이벤트를 보트에 첨부하려면 b2MouseJoint
을 사용하고 있습니다.Box2D의 방수 시뮬레이션
그러나 끌고있는 동안 보트가 움직이는 방식은 사실적이지 않습니다. 그것은 실제 세계에서 보트가 그 길이를 따라 움직일 수 있고 보트 운동의 방향을 바꾸기가 어려운 내수성이있는 모든 방향으로 간단히 끌 수 있습니다. 따라서 보트의 움직임을 현실적으로 만들기 위해 내수성을 시뮬레이션 할 수있는 방법이 필요합니다.
Box2D에서 시뮬레이션 할 수 있습니까? 선형 댐핑과 각도 댐핑은 단순히 보트를 움직이기 어렵게 만들지 만 보트를 한 방향으로 쉽게 움직이기를 원하며 방향 변경에 저항해야합니다.
P.S.이 질문에 대한 내 코드를 게시 할 필요는 없지만 코드 발췌 내용을보고 싶다면 알려주십시오.
[드래그 방정식] (http://en.wikipedia.org/wiki/Drag_equation)을 사용해 보았습니까? 단면적 항 * A *는 보트의 속도에 상대적인 방향에 따라 달라지며, 이는 원하는 것을 수행해야합니다. 그리고 당신은 언제나 * A *를 값싼 발견 적 방법으로 평가할 수 있습니다. – Rahul
@Rahul, 힌트를 주셔서 감사합니다. 나는 근사법을 사용하여 코드에 항력 방정식을 추가했다. (속도와 보트 각도를 참조 영역과 함께 사용하는 것과 같다.) 최신 코드에서 시뮬레이션 한 약간의 방수량을 볼 수 있지만 몇 가지 미친 움직임이있는 것 같다. 배는 세계 국경과 충돌합니다. 나는 여기서 더 이상의 도움을 요청하기 전에 잘못된 점을 이해하려고 노력하고있다. 다시 한번 힌트를 주셔서 감사합니다. – Lukman
건방진 해결 방법은 보트 주변의 공간을 채우기 위해 작은 질량의 매우 작은 원형 몸체를 많이 만드는 것입니다. 나는 물리학이나 처리 능력 (아직)의 측면에서이 생존력을 테스트하지 않았기 때문에 이것이 적절한 답으로 제출되지는 않습니다. – Andrey