2016-12-25 4 views
4

java 및 box2D (libgdx에서)를 사용하여 게임을 만들고 있습니다. 나는이 문제가 지금이 순간, 이미지 울부 짖는 소리의 붉은 몸이 떨어질 때, 때때로 (즉 동적 몸도)를 플랫폼에 충돌하지 않습니다에서Java 및 Box2D - 어떤 본문을 글 머리 기호로 처리해야합니까?

는 속도의 높은 양의 폭포 때문에 충돌 검출은 연속적이지 않다.

enter image description here

내 질문 때문에 두 개체가 동적이며 나는 있는지 확인하려면,라는 빨간색 몸은 내가 총알이 몸에 모두 몸을 설정해야 감지 플랫폼 사이의 충돌? 빨간 시체 만? 아니면 단지 플랫폼?

주 :이 붉은 몸이 플랫폼은 고속

에서 이동하지 않는 매우 빠른 속도

  • 에서 떨어질

    • 당신과 메리 크리스마스 감사 !

  • +0

    나는 (J) Box를 사용한 적이 없지만 매뉴얼에서 인용 한 내용 : * " 에서 일부 게임 시나리오에서는 CCD를 사용하기 위해 역동적 인 몸체가 필요합니다. 예를 들어, 동적 탄두 CCD가 없으면 총알이 벽돌을 터널링 할 수 있습니다. "* - 이것은 내게 맞는 사건과 똑같이 들린다. 그래서 ** ** 작동한다면 성능은 정상입니다. * 두 가지 모두를 '탄환'으로 설정하지 않는 이유가 있습니까? – Marco13

    답변

    0

    빨간색 바디에 글 머리 기호 모드를 사용하고 플랫폼 바디에 글 머리 기호 모드를 해제하십시오.

    Box2D 2.3.2 (b2World::SolveTOI 참조)의 C++ CCD 코드에서 주어진 시간 간격에 대한 모든 연락처는 CCD 처리가 수행되어야하는지 여부에 대해 검토됩니다. 기본적으로 bullet enabled body를 가지고 있거나 비 동적 인 몸체 (static 또는 kinematic body)를 가지고있는 contact는 CCD 과정에서 계속됩니다. 따라서 총알이 적을수록 시체가 가능해질수록 그 방법은 더 빨리 끝날 수 있습니다.

    이와 같이 붉은 몸체와 플랫폼 몸체 모두에서 글 머리 기호 모드를 사용하는 것이 덜 적합합니다 (알고리즘 적으로 말하면). 그러나 성능 차이가 3 개의 몸체에서만 눈에 띄지는 않습니다. 그리고 적색 몸체와 플랫폼 사이의 충돌에 대해서만 염려한다면, 총알이 활성화되어 있으면 CCD 처리를 계속할 수 있습니다.

    내가 왜 총알을 발사했는지에 관해서는 (플랫폼과는 대조적으로), 그것은 당신이 말한 것처럼, 가장 빠른 속도로 움직일 것이고 총알과 마음이 더 잘 어울리기 때문입니다. 개념.

    미래에 말한다면 더 많은 플랫폼이 필요하고 플랫폼 자체가 서로 터널링 할 필요가 없지만 느린 속도로도 터널링한다는 것을 알았다면주의하십시오. 플랫폼 (붉은 색 대신에)은 내가가는 길일 것입니다.