Я занимаюсь разработкой импульсного физического движка, но у меня проблема с объектами с большой разницей в массах.
На каждом кадре двигатель прикладывает импульсы для обработки столкновений. Импульсы применяются в течение ряда итераций между каждой парой сталкивающихся объектов. Это хорошо работает, если объекты имеют примерно одинаковую массу.
Но проблема в том, что, помещая тяжелый объект поверх легкого объекта, тяжелый объект затем заставляет легкий объект упасть в землю.
Причина проблемы заключается в том, что импульсы, приложенные между двумя объектами, слишком малы, поэтому даже в течение ряда итераций этого будет недостаточно для противодействия гравитации на тяжелом объекте.
Я считаю, что есть способы точно рассчитать необходимые импульсы, но я боюсь, что это слишком сложно? Поэтому в основном я ищу некоторые хитрости, чтобы противостоять этой проблеме, но не меняю способ работы двигателя.
Спасибо за любые идеи!