Как мне установить положение мягкого тела в Bullet Physics? - PullRequest
2 голосов
/ 24 февраля 2012

Я пытаюсь зафиксировать движение мягкого тела по оси х.Я хочу иметь возможность перемещаться влево и вправо, но зафиксировать его в одном и том же положении по оси Z.

Даже когда я применяю скорость вдоль оси x, иногда это может заставить тело двигаться назад вЯ полагаю, что ось z обусловлена ​​сопротивлением воздуха и тем, как мягкое тело движется.

Чтобы решить эту проблему, я хочу использовать обратный вызов, чтобы убедиться, что позиция z мягкого тела всегда равна 0;

Это лучший способ это сделать, и если да, то как мне установить позицию.

Я пробовал .transform () и .translate (), но мне не удалось заставить его работать.

Спасибо.

1 Ответ

4 голосов
/ 23 ноября 2012

Попробуйте использовать код setLinearFactor().Это работает так:

body->setLinearFactor(btVector3(0.0, 1.0, 1.0));

Этот код блокирует любое движение по оси x.структура тела может быть жестким или мягким телом, а параметры btVector3: 1 для движения и 0 для блокировки любого типа движения.В вашем случае это выглядело бы так, как я делал раньше

...