diff --git a/plugin/usd_decoder/usd_decoder.cc b/plugin/usd_decoder/usd_decoder.cc index ebf2bb5d..ca0e5bf8 100644 --- a/plugin/usd_decoder/usd_decoder.cc +++ b/plugin/usd_decoder/usd_decoder.cc @@ -1722,7 +1722,11 @@ void ParseUsdGeomGprim(mjSpec* spec, const pxr::UsdPrim& gprim, ParseDisplayColorAndOpacity(gprim, geom); SetLocalPoseFromPrim(gprim, body_prim, geom, caches.xform_cache); if (!MaybeParseGeomPrimitive(gprim, geom, caches.xform_cache)) { - ParseUsdMesh(spec, gprim, geom, caches.xform_cache); + mjsMesh* mesh = ParseUsdMesh(spec, gprim, geom, caches.xform_cache); + if (mesh != nullptr && gprim.HasAPI()) { + ParseMjcPhysicsMeshCollisionAPI(mesh, + pxr::MjcPhysicsMeshCollisionAPI(gprim)); + } } pxr::UsdShadeMaterial bound_material =