Предотвратить вращение тела в Box2D
В настоящее время я использую Box2d, точнее порт Java jBox2d.
У меня есть круг, который сталкивается с другими кругами при падении (все эти круги образуют своего рода кривошип, см. Рисунок ниже).
Естественно, круг начинает вращаться при падении. Но я хотел бы предотвратить его вращение, чтобы трение было намного выше.
3 ответа
Чтобы предотвратить вращение тела, установите значение fixedRotation = true в BodyDef или вызовите setFixedRotation of Body (если вам необходимо изменить поведение во время выполнения).
Во время выполнения вы хотите установить setfixed затем
b2Body body;
body->SetFixedRotation(true);
Фиксированное вращение означает вращение по фиксированной оси в физике, поэтому isFixedRotation=true; может не решить эту проблему, но установка углового демпфирования на такое высокое значение может предотвратить вращение