Problem when enable the “PHYSX FORCEFIELDS” extension

Hi,
I want to apply additional force in the scene, so I enabled the “PHYSX FORCEFIELDS” extension, but I found a problem that when this extension is enabled: the “xformOp:translate” cannot be updated during the simulation.

Here is an example:
A cube with “Rigid Body with Colliders Preset” is added, and an initial linear velocity is applied. And an action graph is added to print the read translate value on the screen.

When the “PHYSX FORCEFIELDS” extension is not enabled, the correct translate of the Cube can be printed on screen, and the frame can move with the Cube.

But when the “PHYSX FORCEFIELDS” extension is enabled, the printed translate is always the initial value and won’t change when the Cube is moving. And the frame didn’t move with the Cube:

So is there any other settings I missed? How can I get the right position of the object when “PHYSX FORCEFIELDS” extension is enabled?

Thank you!

This is because omni.physx.forcefields extension automatically enabled omni.physx.fabric extension and the output from the simulation is not anymore stored into USD.
You would have to read in OG _worldPosition attribute (its a double3 attribute) or you could use USDRT API to read the _worldPosition attribute, but this attribute does not exist in USD itself, its just in fabric.
Regards,
Ales

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.