Что такое мягкое ограничение в box2d?

Я создаю мышиный сустав и сталкиваюсь с этим термином, что он на самом деле означает.

документация для мышиного сустава:-"мышиный сустав используется для создания точки на теле, отслеживающей указанную мировую точку. Это мягкое ограничение с максимальной силой. * Это позволяет растяжению ограничения без применения огромных сил".

1 ответ

Допустим, у нас есть дистанционное соединение;

b2DistanceJointDef DistJointDef;

Вы можете добиться эффекта пружины, настроив частоту и коэффициент демпфирования.

DistJointDef.frequencyHz = 0.5f;
DistJointDef.dampingRatio = 0.5f;

Частота Гц будет определять, насколько тело должно растягиваться / сокращаться с течением времени. тогда как коэффициент демпфирования будет определять, как долго будет длиться эффект пружины.

Эти принципы также применяются к мышиным суставам. Вы можете изменить их частоту и коэффициент демпфирования для достижения аналогичного эффекта.

Если я правильно помню, вы можете также применить мягкие ограничения к колесным шарнирам.

вот немного больше информации по этому вопросу от Box2dManual

Мягкость достигается настройкой двух констант в определении: частоты и коэффициента демпфирования. Думайте о частоте как о частоте гармонического осциллятора (как гитарная струна). Частота указана в герцах. Обычно частота должна быть меньше половины частоты временного шага. Так что, если вы используете шаг 60 Гц, частота стыка должна быть меньше 30 Гц. Причина связана с частотой Найквиста.

Коэффициент демпфирования не является размерным и обычно составляет от 0 до 1, но может быть больше. В 1 демпфирование является критическим (все колебания должны исчезнуть).

Другие вопросы по тегам