cobra,
I've added an CAPSULE like your demo.
If only addCapsuleSceneNode(), i can see that capsule.
But, if i add this capsule shape to world like "world->addRigidBody(shape);", then the capsule is disappear.
I dont know what's the problem.

"
IRigidBody* addCapsule(const vector3df &pos,
const vector3df &scale,
f32 mass,
stringc textureFile)
{
ISceneNode *capsule = smgr->addCapsuleSceneNode(1.0f, 3.0f, 8, 4);
//ISceneNode *capsule = smgr->addRagdollSceneNode();
capsule->setScale(scale);
capsule->setPosition(pos);
capsule->setMaterialFlag(EMF_LIGHTING, true);
capsule->setMaterialFlag(EMF_NORMALIZE_NORMALS, true);
capsule->setMaterialTexture(0, driver->getTexture(textureFile.c_str()));
//capsule->setMaterialFlag(EMF_WIREFRAME, drawWireFrame);
ICollisionShape *shape = new ICapsuleShape(capsule, mass, false);
//shape->setMargin(0.01);
IRigidBody *body;
//body = world->addRigidBody(shape);
return body;
}
"
"
void ICapsuleShape::createShape(bool overrideMargin)
{
node->updateAbsolutePosition();
const aabbox3df& box = node->getBoundingBox();
const f32 radius = box.MaxEdge.X+ f32((overrideMargin) ? 0.04:0.0);
const f32 height = box.MaxEdge.Y;
const f32 scale = f32(node->getScale().X);
//__android_log_print(ANDROID_LOG_INFO, "createShape", "%f,%f,%f", radius, height, scale);
if(node->getType() == ESNT_CAPSULE)
{
shape = new btCapsuleShape(scale*radius, scale*height);
}
setLocalScaling(node->getScale(), ESP_COLLISIONSHAPE);
calculateLocalInertia(getMass(), vector3df(0.0f,0.0f,0.0f));
}
"