Предотвратить вращение тела в Box2D

В настоящее время я использую Box2d, точнее порт Java jBox2d.

У меня есть круг, который сталкивается с другими кругами при падении (все эти круги образуют своего рода кривошип, см. Рисунок ниже).

иллюстрация

Естественно, круг начинает вращаться при падении. Но я хотел бы предотвратить его вращение, чтобы трение было намного выше.

3 ответа

Решение

Чтобы предотвратить вращение тела, установите значение fixedRotation = true в BodyDef или вызовите setFixedRotation of Body (если вам необходимо изменить поведение во время выполнения).

Во время выполнения вы хотите установить setfixed затем

b2Body body;  
body->SetFixedRotation(true);

Фиксированное вращение означает вращение по фиксированной оси в физике, поэтому isFixedRotation=true; может не решить эту проблему, но установка углового демпфирования на такое высокое значение может предотвратить вращение

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