2014-11-29 5 views
2

Three.js와 Physijs를 사용하고 있습니다. 나는 경계로서 행동해야만하는 벽을 가지고 있지만, 힘이 충분하다면 물체 (특히 상자)가 그것을 지나치는 경우가 종종 있습니다. 충돌은 감지되지만 깔끔하게 처리되지는 않지만 일부 방향으로 회전하거나 튀어 나기 시작합니다. 벽이 충돌하는 물체에 작용할 수있는 최대 힘을 ​​증가시키는 방법이 있습니까?Physijs - ConvexMesh 벽 충돌 감지 문제

벽의 점 4 개가 모두 동일한 평면에 있고 직사각형을 형성합니다. 메쉬는 두 개의 큰 삼각형면으로 구성됩니다. 나는 ConvexMesh를 사용하고 있습니다.

두 개의 삼각형을 여러 개의 작은 삼각형으로 나누어도 문제가 완화되지 않습니다.

벽이 제대로 음영 처리되어 있으므로 법선이 잘 맞는지 확인할 수 있습니다.

어떻게 벽을 BoxMesh으로 변환하지 않고도 을 해결할 수 있습니까?

이 문제가 발생하는 이유에 대한 설명도 감사하겠습니다. 나는 엔진이 충돌이 적용될 수있는 최대 힘을 ​​제한한다고 생각합니다.

답변

1

가 나는 모션 클램핑에게 https://github.com/chandlerprall/Physijs/wiki/Collisions

목적은 높은 속도를 가지고

을 생각, 충돌 놓칠 수 수 있다면 를 통해 이동 및 시뮬레이션 단계 사이에 과거의 다른 개체. 을 수정하려면 CCD 모션 클램핑을 사용하십시오. 크기 1의 큐브의 경우 다음을 시도하십시오.

// 하나의 시뮬레이션에서 물체가 1 미터 이상 움직이는 경우 CCD 사용 frame mesh.setCcdMotionThreshold (1);

// 포함 된 구의 반경을 보다 작게 설정합니다. mesh.setCcdSweptSphereRadius (0.2);

희망 하시다 지금 시도해보십시오.