Synchronization Issue of Collision between Parent and Child Objects in OMNIVERSE

Hello,

I’m facing a specific collision synchronization issue within the OMNIVERSE platform. Here’s the situation:

  1. I have an object named CART, which has a complex structure. This object is composed of intricate Xform structures imported from CAD.

  1. Within the CART object, I’ve added another object named Cube. This Cube is designed to handle actual physical collisions and was separately created within OMNIVERSE. (I got this idea by referring to the “Different Collision and Rendering Representations” article. Rigid Body Collision — physx 5.1.0 documentation (nvidia-omniverse.github.io) )

스크린샷 2023-10-08 170147

  1. The problem arises when only the Cube detects a proper collision with a wall. The parent object, CART, remains unaffected by this and continues to move.
  2. As a result, while CART passes through the wall, only the Cube shows the correct collision response.

bandicam-2023-10-08-17-31-20-885

Despite multiple attempts, I haven’t been able to resolve this issue. Ideally, I’d like the CART to be influenced by the collisions detected by the Cube.

  1. I have activated the Cube’s “Visible” option for better visibility. I tried creating the Cube from both the “Mesh” and “Shape” options in “Create”. I also tried placing it under the top-level parent Xform, under “Geometry”, and moved its directory position around. However, all these attempts resulted in the same symptoms.
  2. The wall is only set with a Collision option, the Cube is set with both Collision and Rigid options, and the Cart responsible for the actual visual does not have any physical settings.
  3. In the scenario I need to implement, the object must continuously move in line with real-world motion, within a maximum delay of 1 second. And I am using USD Composer now

Below are my approaches and questions for solving the problem:

  1. Was the implementation of collision propagation incorrect? I am curious to know if propagation to the Xform is not possible.
  2. If the parent Xform does not officially support collision propagation in USD Composer, I’d like to attempt a programmatic solution using collision reports or similar methods. Even when Collision Report is activated, I want to know how to process it correctly.
  3. Even if I try to use a collision report or attempt to forcibly fix the position of the Cube, when it is placed under the Xform, the position coordinates are displayed differently than when it’s under the World, as shown in the pictures. Could I get information or a method to calculate these coordinates?

Do you have any solutions or recommendations regarding this problem?
Additionally, if you have any other ideas or suggestions that might help resolve the issue, I would greatly appreciate it.

Thank you.

Thanks for your PHYSICS inquiry. I have passed it on to the correct team for analysis.

Hi,
yes this should be possible.
So you should make sure that the rigid body is added to the xform that you are moving the NUC12_15 prim. Then the Collision should be on the Cube_01. Then that stuff will collide and if you move with the gizmo you should get a physics response if the physics gizmo is enabled (should be be default). What USD Composer are you using?

If you enable Window->Simulation-> Physics Authoring Toolbar, in the setting you should see RigidBody Manipulator enabled:

Then the xform movement should be restricted by the body movement - hence collider.

Regards,
Ales

Thank you, it works correctly

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