Спящие тела
Как физический движок перестаёт платить за объекты, которые просто лежат.
Ящик на полу каждый кадр притягивается гравитацией, и решатель контактов каждый кадр отталкивает его обратно ровно настолько же. Итоговое движение — ноль. Стоимость — полная. Поэтому почти любой физический движок позволяет твёрдому телу «заснуть», если его скорость какое-то время остаётся ниже порога — в Box2D по умолчанию полсекунды. Спящее тело интегратор и решатель пропускают, но в проверках столкновений оно по-прежнему участвует.
Просыпается оно от нового контакта, приложенной силы или когда сдвигается то, на чём оно лежит. Классическая ошибка — телепортировать тело, задав позицию и не разбудив его: стопка ящиков зависает в воздухе, безмятежно уверенная, что пол всё ещё на месте.