PHYSX NEWS PHYSX SDK
PROJECTS TABLE
GPU PHYSX
GAMES INFO
PHYSX
ARTICLES
PHYSX WIKI FORUM
РУССКИЙ ENGLISH


:: Back to news index ::

How to achieve quality simulation with PhysX plug-in for 3ds Max

with 5 comments

Those of you who are familiar with PhysX plug-in for 3ds Max (for example, recently released 2.40 version) may already notice that by default simulation is not going as smooth as you can expect – rigid body objects are often interpenetrating each other, jittering and jiggling (especially when stacked) , and so on – making it hardly suitable for some scenes.

UPDATE: Not valid for 2.60 PhysX plug-ins and above

So, we’ve contacted Gavin Kistner, Product Designer for PhysX Max and Maya plug-ins at NVIDIA, and he gave us several tips, using those you can deal with simulation stability problems in most of the cases:

TIP I – Increase Frame Rate

If rigid bodies are showing inaccurate behaviour, this is indicating that physics engine is just not performing enough simulation substeps between frames. To fix that (as separate substeps control is yet not availalbe in public versions of PhysX plug-in) you can simply increase Frame Rate before previewing or baking the simulation (and than revert it back to normal during composing, for example).

3ds Max PhysX plug-in framerate

To illustrate this tip, let’s set up a simple scene – several rigid body planks falling one at each other, trying to form a stack.

3ds Max PhysX plug-in low quality

With default Frame Rate – 30 fps (shown above), simulation is just messed up. At certain frame planks are stuck together, solver is trying to resolve inter-collisions and repels planks – stack collapses.

3ds Max PhysX plug-in high quality

But with Frame Rate increased up to 300 fps, simulation is showing much more stable and accurate results.

TIP II – Keep an eye system units.

If your scene consist of small objects (for example, 2cm dice bricks) and you haven’t adjusted Skin Width (which is 1cm by default),  you won’t recieve any good outcome as plug-in has been told that your rigid bodies are allowed to penetrate each other by half their width.

3ds Max PhysX plug-in skin width

Pay attention to unit setup and try to set all parameters accordingly.

Well, that is all for now. If you have something to add, use comments section below.

Written by Zogrim

October 1st, 2010 at 10:02 pm

Posted in PhysX Tools

Tagged with , ,

5 Responses to 'How to achieve quality simulation with PhysX plug-in for 3ds Max'

Subscribe to comments with RSS

  1. Hm, why increase the framerate, when you can increase the samples per frame?

    Also, checking out the Rayfire topic in CGTalk, and the forums at mirvadim.com would be useful for people getting into PhysX with Max ;)

      

    Hristo Velev

    2 Oct 10 at 11:31 am

  2. Hristo Velev
    why increase the framerate, when you can increase the samples per frame?
    If you are meaning substeps, there is no such control in PhysX plug-in (but there is one in RayFire).
    It was added as default feature since 2.5 version, but those are not available for public yet.

      

    Zogrim

    2 Oct 10 at 2:29 pm

  3. About substeps. I was editing script to achieve more substeps, but not sure if there wasnt some troubles that i miss, but simulations was much better. I was testing ball faling from height if he fall thru some box or not. Script is in “3ds max 10\Scripts\nvpx\px_globals.ms” and parameter was probably “global gPxSimulationStep = 5″ (i am not sure, its some time when i was trying it).

      

    Vojtech

    3 Oct 10 at 10:03 pm

  4. Vojtech
    Thanks, that’s interesting, but changing PxSimulationStep from 1 to 500 haven’t influenced on simulation stability in my test scene :/

      

    Zogrim

    4 Oct 10 at 10:44 pm

  5. Maybe differenet version of physx plugin? I dont know, but in my test scene with falling ball on box (not on the physx ground, this option was of) it was working. Ball dont fall thru with more substeps. Devil knows :-)

      

    Vojtech

    6 Oct 10 at 5:05 pm


Leave a Reply

*
Copyright © 2009-2014. PhysXInfo.com | About PhysXInfo.com project | Privacy Policy
PhysX is trademark of NVIDIA Corporation