Я использую Bullet Physics Engine для загрузки модели OBJ в мир с помощью btGImpactMeshShape. Я новичок в использовании этого движка.
Вот мой код
//---------------------------------------//
// load from obj //
//---------------------------------------//
ConvexDecomposition::WavefrontObj wobj;
printf("load first try"); fflush( stdout );
std::string filename("bunny.obj");
int result = wobj.loadObj( "bunny.obj" );
if(!result)
{
printf("first try fail\n"); fflush( stdout );
printf("load second try"); fflush( stdout );
result = wobj.loadObj("../bunny.obj");
}
printf("--load status %d\n", result );
printf("--triangle: %d\n", wobj.mTriCount);
printf("--vertex: %d\n", wobj.mVertexCount);
btTriangleIndexVertexArray* colonVertexArrays = new btTriangleIndexVertexArray(
wobj.mTriCount,
wobj.mIndices,
3*sizeof(int),
wobj.mVertexCount,
wobj.mVertices,
3*sizeof(float)
);
btGImpactMeshShape* bunnymesh = new btGImpactMeshShape(colonVertexArrays);
bunnymesh ->setLocalScaling( btVector3(0.5f, 0.5f, 0.5f) );
bunnymesh ->updateBound();
startTransform.setOrigin( btVector3(0.0, 0.0, 0.0) );
startTransform.getBasis().setEulerZYX( 0, 0, 0 );
localCreateRigidBody( bunnymesh , startTransform, 0.0 );
printf("Load done...\n");
Вот в той модели которую я загрузил.............этот зайчик просматривался с помощью MeshLab на MAC
Я пытался изменить различные параметры шага, однако это результат моей программы.
У вас есть предложения, что не так с кодом?