Skip to main content
GameDev.net gamedev.net
🔒 Locked

NVidia PhysX question

Started by FXACE Jun 28, 2010 at 2:06 PM 1 replies 1.4k views
Original Post
FXACE
FXACE
Hi anybody! I want to create dynamic convex mesh.
When I created convex mesh using NVIDIA PhysX SDK with positive value of 'mass', in simulation I got some incorect result (objects moves but not rotates like kinematic).
When I created convex mesh with negative value of 'mass', it works correctly but PhysX SDK reports the error messages with "Actor.Mass should be positive";
Can anybody explain this ... and how to solve it.
PureBlackSin
PureBlackSin
Several things you'll need to look at.

1. turning force is too small. (moment too small)
2. Gravity too high
3. Friction between the surfaces too high.

Negative mass, should improve the above issues as there is less contact force, or a higher resultant force.

There could the force be acting in the wrong direction and as a result a negative mass, fixes issues (two negatives accidentally = a positive).

Otherwise, there is no way of knowing without some code.

Suggestion: Set up PhysX with +mass and fiddle with gravity, frictions and resistance to movement. Is mass value waaaaaay to high, this would cause extreme amounts of friction which (-)ve mass could/might change.

Unfortunately we don't have access to the inner workings of PhysX so it's hard to tell what/how negative values of masses are dealt with.

PureBlackSin
For Games, Articles and Custom High End Computers, come visit.Myndoko
lubby
lubby
Its prob exactly the combination of what was posted above. When you set an invalid parameter in PhysX it should default to something valid, or just fail its creation.

Please call pRigidBody->GetMass() on the body you created with the negative mass - once it has reported the negative mass error. This will give you a starting point to begin to tune values from.

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.