NxOgre::Material setRestitution Problem

tobias88888

04-04-2014 18:07:11

When I set a bigger value to setRestitution than 0, the object are shaking:



Even I set 0.1f, the the result is the same.

Critter::BodyDescription bodyDescription;
bodyDescription.mMass = settings[value].mass;
bodyDescription.mLinearDamping = 0.3f;
bodyDescription.mAngularDamping = 0.3f;

if (!pMaterialActor){
RdS->getScene()->createMaterial();
pMaterialActor = RdS->getScene()->getMaterial(2);
pMaterialActor->setRestitution(0.3f);
pMaterialActor->setStaticFriction(0.1f);
pMaterialActor->setDynamicFriction(0.1f);
}

if (!pMaterialBall){
RdS->getScene()->createMaterial();
pMaterialBall = RdS->getScene()->getMaterial(3);
pMaterialBall->setRestitution(0.8f);
pMaterialBall->setStaticFriction(0.1f);
pMaterialBall->setDynamicFriction(0.1f);
}

if (value != TYPE_BALL )
{
meshObject = MsM->load("ogre://General/" + tulajdonsagok[value].name + ".nxs", tulajdonsagok[value].name + Ogre::String(segito));
bodyObject = static_cast<PhysxCritterBody*>(RdS->createBody(NxOgre::ConvexDescription(meshObject, pMaterialActor->getIdentifier()), defaultPos, tulajdonsagok[value].name + ".mesh", bodyDescription));
}
else
{
NxOgre::SphereDescription sphere;
sphere.mMaterial= pMaterialBall->getIdentifier();
sphere.mRadius= 6.5;
bodyObject = static_cast<PhysxCritterBody*>(RdS->createBody(sphere, defaultPos, tulajdonsagok[value].name + ".mesh", bodyDescription));
}
bodyObject->getNode()->getEntityAt(0)->setMaterialName(tulajdonsagok[value].name + segedName);