2009-07-12 80 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

您可以添加聯繫人事件處理程序並在其中設置旋轉。