2009-07-12 49 views
0

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

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);  

回答

1

您可以添加联系人事件处理程序并在其中设置旋转。