Phys X Error - Set Global Pose Not Valid

I have a Physics Scene with 4,000 spheres and a bunch of little bars pushing back and forth and a cage to lift the balls up to the higher rectangle.

If I don’t turn on Flat Cache, I get about 1.32 frames per second. If I turn it on, everything works and 30 FPS or so, but you show me this error.

If I didn’t see this error, I would think it works. Can this error be surpressed? Or tell me what to do to fix it please.

Thank you

Hello @DataJuggler. I’ve asked the PhysX team for clarification on what this error means. Someone should post back shortly!

Some spheres most likely end up in infinity, could it be that some of those spheres might fall down out of the colliders? You can try to add a plane below?

To be clear, this error is present after the simulation start or during start? If thats during start, then some of the input transformation is not valid.

If you can share the asset I can check what is going on, you can also try to switch to CPU dynamic (on a PhysicsScene disable GPU dynamics and set broadphase to MBP), CPU dynamics is usually more forgiving.

If I start the project without enabliing the FlatCache extension, I do not get the get the error, but it only runs at 1.xx FPS.

If I turn on Flatcache the FPS is good enough, but the error pops up every few seconds continually. If I take a black cover Form I use to cover ads on websites, the simulation runs perfectly except the error is there.

Gravity.usd (3.7 MB)



Any official tutorials about this flatcache ?

I don’t know the answer to your question, but one thing I have learned using Flatcache it is setup your project the way you like it and save versions.

Once you turn Flatcache on, it is very difficult to move or resize objects (sometimes). They warn about it in the docs they are working on improving it. Even if you turn Flatcache off after turning it on I have found Omniverse unusable if you need to make changes so you have to restart OV.

1 Like

Thanks, I will take a look at the asset tomorrow.

Flatcache also known as Fabric is the runtime data representation that we would like to use. We are still not ready to enable it by default, because it needs pretty much all extensions to understand the Fabric data. Since if omni.physx.flatcache is enabled, we do not output the new transformations into USD but into Fabric and hydra understands these data and hence you get things rendered. But since the data are not in USD, you dont see for example change in the properties window or you python script reading USD data would not read the right data too.

But since this is the only way how to efficiently run large scale simulations we do release this extension to get perf. But unfortunately it does have still its flaws, so its not the default and there are known limitations atm.

Though if you need just to simulate a lot of rigid bodies and look see the simulation, then you can easily use omni.physx.flatcache.

But yeah once you start moving stuff with gizmo it changes USD, hence different data and then hydra is having two different data representations and its causing issues… But using Fabric is the future, its just not there yet, but we will fix this for sure, but it will take some time as it will require large changes across all extensions.

1 Like

Good news, I just tried latest version that should be out any time now and the issue is gone. So it looks like what ever that was it got fixed.

1 Like