Что такое мягкое ограничение в box2d? - PullRequest
0 голосов
/ 13 октября 2018

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

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

1 Ответ

0 голосов
/ 13 октября 2018

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

b2DistanceJointDef DistJointDef;

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

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

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

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

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

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

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

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

...