2014-11-29 6 views
2

Я использую Three.js и Physijs. У меня есть стена, которая должна действовать как граница, но объекты (особенно коробки) часто проходят через нее, если силы достаточно. Обнаружено столкновение, поскольку они не делают это чисто, но они начинают вращаться или отскакивать в определенном направлении. Есть ли способ увеличить максимальную силу, с которой стена может воздействовать на сталкивающийся объект?Physijs - проблема обнаружения столкновений на выпуклой решетке

Все четыре точки стены находятся на одной плоскости, образуя прямоугольник. Сетка состоит из двух больших треугольных граней. Я использую ConvexMesh.

Нарушение двух треугольников во многие более мелкие не облегчает проблему.

Я могу подтвердить, что нормали прекрасны, так как стена затенена правильно.

Как это решить без преобразования стены в коробкуMesh?

Я также благодарю за объяснение, почему это происходит. Я предполагаю, что двигатель ограничивает максимальную силу, с которой могут столкнуться столкновения.

ответ

1

Я думаю, что это Motion зажимного

https://github.com/chandlerprall/Physijs/wiki/Collisions

Когда объект имеет высокую скорость, столкновения могут быть пропущены, если он проходит через и прошлые другие объекты между шагами моделирования. Чтобы исправить , включите зажим CCD. Для куба размера 1 попробуйте:

// Включить ПЗС-матрицу, если объект перемещается более чем на 1 метр в одном моделировании frame mesh.setCcdMotionThreshold (1);

// Задайте радиус вложенной сферы таким образом, чтобы она была меньше объекта mesh.setCcdSweptSphereRadius (0.2);

Надеюсь, что это работает ima попробовать сейчас