
21.02.2011, 18:33
|
|
Регистрация: Jul 2009
Адрес: Донецк
Сообщений: 25
|
Пролетание тел друг через друга, как побочный эффект RevoluteJoint
Добрый день. Задача такая: есть снаряд, который на некоторой скорости врезается в стену. В момент врезания - снаряд должен привязаться к этой стене с помощью revoluteJoint-a и при этом остаться на месте столкновения. Задача - достаточно простая, но при реализации - возникает проблема. Если часто выстреливать этот снаряд в стену, то он начинает сквозь неё пролетать. При этом, если снаряд не привязывать джоинтом, то пролёта сквозь стену - не наблюдается.
По документации, при обьединении тел джоинтом эти тела перестают сталкиваться. И действительно, если я ставлю джоинту collideConnected = true, пролёта - нет.
Но я ведь удаляю джоинт! Следовательно ожидаю, что и тела должны снова сталкиваться правильно. Никак не могу обойти этот глюк. Подскажите пожалуйста, почему такое поведение может возникать?
Набросал тестовую сцену, чтобы можно было воспроизвести глюк. Исходник - во вложении. Для повтора бага нужно клатсать мышью где-то 3-5 раз в секунду.
|