Running simulation without modifying the opened USD

Isaac Sim Version

4.0.0

Operating System

Windows 10

GPU Information

  • Model: RTX 4090
  • Driver Version:

Hello, I am using Omniverse to scatter some objects and generate synthetic data. The scattering of the objects makes omniverse really slow. if I scatter 10 + objects, a step would be like 5 seconds. so I’ll get to the write() function once every ~5 seconds. This is supper slow. I was recently at an omniverse bootstrap at the Nvida offices. I understand that this is partially because the simulation is actually modifying the USD file and that there is a way (using Fabric) to make the simulation not write to the USD file.

Can any one help me understand/implement this?

Thank you

Could you please check if How can I raise the frame rate of physics simulations? - #2 by AlesBorovicka is useful?

Hi @VickNV

is there a way to not modify a USD if in play mode? for example, say i have a usd with a plane and an extention that on play scatters a prim on the plane. Is there a way to run this simulation without modifying the USD file with the plane?

Thank you

I see the documention here: https://docs.omniverse.nvidia.com/extensions/latest/ext_physics/simulation-control/physics-settings.html#physx-short-flatcache-also-known-as-fabric

which does talk about the ability to run the simulation without writing to the USD file.

a few issues with this documentation:

How can I get this window? I couldnt find it.

I cannot find this extention in Isaac Sim 4.0.0

I did find this:

But it seems that this only applies to physics components in the scene? Meaning that, rigidbodies and joints modifications wont be written to the USD data.
But is there a way to not write back to the USD any data? I dont have any physics in my stage, just
thousands of scattered meshes. I believe i’ll be able to speed up my simulation if i dont write back to the usd file every step.

Hi,
yes you can disable write back to USD from physics.
You should enable omni.physx.fabric extension or click on the “eye” icon → show by type → physics → simulation settings:

Disabling the Update to USD in the physics settings will prevent to write some initialization data to USD skipping USD writes completely.

Hope that helps, regards,
Ales

Hi @AlesBorovicka , Im my post I am asking if there is a a way to not write back any data to the USD file.

I dont have any physics in my scene. I simply scatter many (None rigidbody) prims.

Please, is there a way to not write back any data to the USD?

Yes, that is possible, you can use USDRT from python or Fabric directly from C++ and write to Fabric, our runtime data representation.
Note that if you need the data rendered you will need FSD (Fabric Scene Delegate) to be enabled (enable in settings → rendering).

Regards,
Ales