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

連絡先イベントハンドラを追加してそこにローテーションを設定できます。