Что такое мягкое ограничение в box2d?
Я создаю мышиный сустав и сталкиваюсь с этим термином, что он на самом деле означает.
документация для мышиного сустава:-"мышиный сустав используется для создания точки на теле, отслеживающей указанную мировую точку. Это мягкое ограничение с максимальной силой. * Это позволяет растяжению ограничения без применения огромных сил".
1 ответ
Допустим, у нас есть дистанционное соединение;
b2DistanceJointDef DistJointDef;
Вы можете добиться эффекта пружины, настроив частоту и коэффициент демпфирования.
DistJointDef.frequencyHz = 0.5f;
DistJointDef.dampingRatio = 0.5f;
Частота Гц будет определять, насколько тело должно растягиваться / сокращаться с течением времени. тогда как коэффициент демпфирования будет определять, как долго будет длиться эффект пружины.
Эти принципы также применяются к мышиным суставам. Вы можете изменить их частоту и коэффициент демпфирования для достижения аналогичного эффекта.
Если я правильно помню, вы можете также применить мягкие ограничения к колесным шарнирам.
вот немного больше информации по этому вопросу от Box2dManual
Мягкость достигается настройкой двух констант в определении: частоты и коэффициента демпфирования. Думайте о частоте как о частоте гармонического осциллятора (как гитарная струна). Частота указана в герцах. Обычно частота должна быть меньше половины частоты временного шага. Так что, если вы используете шаг 60 Гц, частота стыка должна быть меньше 30 Гц. Причина связана с частотой Найквиста.
Коэффициент демпфирования не является размерным и обычно составляет от 0 до 1, но может быть больше. В 1 демпфирование является критическим (все колебания должны исчезнуть).