50. Пружинки Будды

50. Пружинки Будды

Мягкие ограничения (Soft Constraints)

Взяв адекватный интегратор и уравнения пружинки, можно уже делать крутые вещи. По типу таких:

Но очень быстро появляется несколько проблем, которые портят жизнь. Во-первых, если пружинка слишком жесткая, то симуляция развалится. Во-вторых, настройка параметров пружинки – это отдельное искусство. Поэтому в некоторых движках вместо вместо симуляции пружинки делают что-то что визуально похоже на нее, но математически пружинкой не является. Поэтому такие примитивы называют soft constraints. В этот раз я хочу рассказать о том как реализованы мягкие ограничения в Jolt, Box2D и ODE.

Для того чтобы упростить настройку пружинки нужно почти сразу переходить от настройки жесткости с дампингом на настройку частоты и доли критического дампинга.

Источники

Слайды от создателя Box2D Erin Catto : Soft Constraints