I have a mesh prim that contains multiple GeomSubset prims. Each GeomSubset prim has a different optical material assigned to it, resulting in the coloration you can see in the screenshot below.
Now, I want to apply physics to the mesh prim by defining it as an SDF collider and applying a physics material to it.
Everything seems fine until I start the simulation, at which point I encounter the following error message:
[omni.physx.plugin] Triangle mesh SDF collision does not support multiple materials, default material will be used - prim: /World/Arbeitstisch/NistBoard/Gear_assembly/main_body/main_body_body!
One way to resolve this error would be to delete all the GeomSubsets, but then the body would only have one color.
Is there a way to retain the GeomSubsets (each with its own optical material) and only use the physics material of the mesh prim for the physics calculations?
Please note that the materials on the GeomSubsets are already set to “weaker than descendants,” while the physics material on the mesh prim is set to “stronger than descendants.”
Hi,
Hmm I think I know what the problem is, I will have to play with this and try to resolve this. Its certainly a bug and we need to fix it.
However as a workaround the only way I see is to create an xform and put two same meshes below it.
One for rendering with the subgeometries and one without them. Then the one without them set its purpose to guide and collide against this one (guide will make sure its not rendered).
So this way you can have different graphics and collision representation while if the rigid body is on the xform all move together.
Sorry about the trouble, will try to fix the issue for next release.
Trying to repro this issue, just to be clear this issue is there only if the materials applied to the UsdGeomSubset does have physics APIs right? So those materials do have physics properties. If I create a subset with just rendering material, it seems to work right.
For my case, the materials on the USDGeomSubsets don’t seem to have a physics API.
The materials were automatically created when I converted a STEP file from a CAD program to USD.