I am using
omni.isaac.synthetic_utils.OmniKitHelper to run simulation from Python code.
First, the stage is initialized from the .usd file:
... stage = omniverse_kit.get_stage() backPrim = stage.DefinePrim("/World/background", "Xform") backPrim.GetReferences().AddReference(asset_path + '/Kitchen/kitchen.usd') ...
omniverse_kit.play() I get the following errors:
[Warning] [rtx.mdltranslator.plugin] Unable to resolve ../Materials/Isaac/Staging/AluminumRough.mdl [Error] [rtx.neuraylib.plugin] [MDLC:COMPILER] 1.0 MDLC comp error: could not find module ::MANGLED::__2E0_2E0::Materials::Isaac::Staging::AluminumRough' in module path [Error] [rtx.mdltranslator.plugin] Failed to create module ../Materials/Isaac/Staging/AluminumRough.mdl. [Error] [rtx.materialdb.plugin] Failed to create MDL module for '../Materials/Isaac/Staging/AluminumRough.mdl'. Segmentation fault (core dumped)
Full paths to the files at the Nucleus server are as follows:
/Isaac/Materials/Isaac/Staging/* (AluminumRough.mdl is also resides here)
So omnikit tells that it cannot find the file that actually exists.
What is the problem here?
Am I right that all dependencies (materials, etc.) of a .usd file are referenced in this file via relative paths?
What a smart way of figuring out what files should I put at which locations? (I read through this file using usdcat and didn’t get any insights…)
P.S. if you need any additional information about the problem please feel free to ask in the thread