• Create Account

# Tom123

Member Since 15 Jan 2013
Offline Last Active May 11 2013 11:45 PM

### In Topic: [physx3.2.2 question]collision problem related to triangle mesh object

16 January 2013 - 01:16 AM

From the documentation (Shapes and Geometries -> Triangle Meshes):

"Shapes with triangle mesh geometries may only be created for static and kinematic actors"

You can't have a dynamic (moving) object that uses a triangle mesh for collisions, it's not supported.

thank you!!   I add  " actor->setRigidDynamicFlag(PxRigidDynamicFlag::eKINEMATIC,true); " to change the triangle dynamic actor to  kinematic actor, I use boxgeometry create a set of cubes and those are the dynamic actors. Then use them to hit kinematic actor--triangle mesh cube. The kinematic actor cube can  intercept dynamic actor cubes, it seems that the collision detection happened, but now a new problem appeared, the kinematic actor cube can not fall down, it just hang on the air even though I have set the kinematic target and linear velocity. So what's the problem here?

### In Topic: [physx3.2.2 question]collision problem related to triangle mesh object

15 January 2013 - 11:28 PM

How do you create your plane?

TriangleMesh <--> TriangleMesh collision is very complex therefore usually not implemented or not enabled by default.

For cube you should use PxBoxGeometry or something similar.

here is code that create the plane:

//1) Create ground plane
PxReal d = 0.0f;
PxTransform pose = PxTransform(PxVec3(0.0f, 0.0f, 0.0f),PxQuat(PxHalfPi, PxVec3(0.0f, 0.0f, 1.0f)));

PxRigidStatic* plane = gPhysicsSDK->createRigidStatic(pose);
if (!plane)
cerr<<"create plane failed!"<<endl;
PxShape* shape = plane->createShape(PxPlaneGeometry(), *mMaterial);

if (!shape)
cerr<<"create shape failed!"<<endl;