Не буду долго размусоливать. Приведу сразу код:
void setTransform( btRigidBody * body, const btVector3 & position, const btQuaternion & rotation ) { // Матрица транформации btTransform transform; transform.setIdentity(); // Заполним матрицу transform.setOrigin(position); transform.setRotation(rotation); // Применим матрицу к телу body->setWorldTransform(transform); // Важный этап: обнулим линейную и угловую скорости body->setLinearVelocity(btVector3(0, 0, 0)); body->setAngularVelocity(btVector3(0, 0, 0)); } |
Для чего требуется обнуление скоростей? Догадайтесь сами.