Возникла проблема с Box2d,
нашел поиском что я не первый
http://www.gamedev.ru/community/box2d/forum/?id=128143
однако решения там не увидел
вот то, что начал делать
JungleTower-prototype
Когда в башне несколько объектов ставятся друг на друга, она начинает трястись, что иногда даже приводит к разрушению конструкции
Подскажите пожалуйста, как решить данную проблему
разрешено ли у тебя "засыпание" объектов? allow sleeping или как-то так было. если нет, то стоит включить.
если включено и объекты не засыпают, а играться с количеством итераций не вариант,
то попробуй потюнить упругость (чтобы колебания быстрее гасились).
ну и демпинг (см. b2BodyDef), куда же без него. если хорошо подобрать то в совокупности с остальным поможет.
Спасибо за ответ,
Из того что ты посоветовал ключевое значение сыграла упругость, при 0 значении как у меня было выставлено колебания не гасились,
теперь гасятся,
однако, полностью проблему решить пока не удалось,
хотя снижение не желательных колебаний более чем существенно
В моем посте на который ты дал ссылку выше я решил вопрос замораживанием объектов через некоторое время. Если через некоторое время ничего не произошло/взорвалось/сработало, то я морожу все на сцене. Кстати тогда это был флешевый порт бокса, в сишном такая же беда?
Основная проблема с замораживанием объектов - это их размораживание при малейшем воздействии, после чего конструкция попадает опять в резонанс. Я бы наверное еще попробовал с манипуляцией типа объектов, то есть сначало отрисовать все строения из статических объектов, и повесить на них слушатель на получения внешнего импульса, потом уже можно выстроить зависимость силы внешнего удара с активацией определенной области и изменением типа объекта на динамический. Или можно сделать еще дополнительную функцию реализации удара взрывной волны чтоб компенсировать возможные издержки с моментом переключения типа.
Тема в архиве.