Не буду долго размусоливать. Приведу сразу код:
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));
}
Для чего требуется обнуление скоростей? Догадайтесь сами.