2015-06-13 10 views
5

'da yuvarlanmıyor Görüntüde gördüğünüz gibi, Kutu dönmüyor ancak eğimde kayıyor. İşteKutu, Mermi Fiziği

enter image description here

ben sürtünme ve diğer parametrelerle çalıştı

config = new btDefaultCollisionConfiguration(); 
dispatcher = new btCollisionDispatcher(config); 
broadphase = new btDbvtBroadphase(); 
solver = new btSequentialImpulseConstraintSolver(); 
bWorld = new btDiscreteDynamicsWorld(dispatcher, broadphase, solver, config); 
bWorld->setGravity(btVector3(0, -9.8f, 0)); 

// ... 

btTransform t; 
t.setIdentity(); 
t.setOrigin(btVector3(position.x, position.y, position.z)); 

btBoxShape* box = new btBoxShape(btVector3(size.x, size.y, size.z)); 
btVector3 inertia(0, 0, 0); 
float mass = 10.f; 
box->calculateLocalInertia(mass, inertia); 

btMotionState* mState = new btDefaultMotionState(t); 
btRigidBody::btRigidBodyConstructionInfo cInfo(mass, mState, box); 
//cInfo.m_restitution = 0.4f; 
//cInfo.m_friction = 0.5f; 
btRigidBody* body = new btRigidBody(cInfo); 
//body->setLinearFactor(btVector3(1,1,0)); 
//body->setAngularFactor(btVector3(0,0,1)); 
m_impl->bWorld->addRigidBody(body); 

i kodunda kutusu oluşturmak nasıl ama sonuç aynıdır. Burada ne yapıyorum bilmeme izin ver.

cevap

1

inertia vektörünü btRigidBodyConstructionInfo'a iletmeniz gerekir. btRigidBodyConstructionInfo yapıcısında (varsayılan değer olanı) 4. parametreyi kontrol edin.

+0

oh .. teşekkürler. – shan