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

연락처 이벤트 처리기를 추가하고 거기에 회전을 설정할 수 있습니다.