0

我在 Bullet3D 中使用 FallingCubes 演示,并注意到立方体在碰撞时会旋转。但是,当我将程序更改为使用球体 (btSphereShape) 时,它们不会旋转。请注意,我为此使用了 iphone sdk。有人对如何让这些球体旋转有任何建议吗?以下是一些相关代码:

btTransform bodyTransform;
bodyTransform.setIdentity();
bodyTransform.setOrigin(btVector3(0,10+i*3,0));
//btCollisionShape* boxShape = new btBoxShape(btVector3(1,1,1));
btCollisionShape* boxShape = new btSphereShape(0.5f);
btScalar mass(1.);//positive mass means dynamic/moving  object
bool isDynamic = (mass != 0.f);
btVector3 localInertia(0,0,0);
if (isDynamic)
   boxShape->calculateLocalInertia(mass,localInertia);

btDefaultMotionState* myMotionState = new btDefaultMotionState(bodyTransform);
btRigidBody::btRigidBodyConstructionInfo rbInfo(mass,myMotionState,
                                               boxShape,localInertia);
btRigidBody* boxBody=new btRigidBody(rbInfo);
boxBody->setFriction(.3f);
sBoxBodies.push_back(boxBody);

boxBody->setActivationState(DISABLE_DEACTIVATION);
//add the body to the dynamics world
sDynamicsWorld->addRigidBody(boxBody);      
4

1 回答 1

1

您可以添加一个联系人事件处理程序并在那里设置一个轮换。

于 2009-07-12T20:12:21.527 回答