Fail to payloaded Nvidia Assets when exporting USD

Hello,
I am making an application where I design a scene/stage in omniverse Compose and then I simulate it in Isaac Sim.
I have an Isaac Sim extension to which I may upload USD scenes over a communication interface. I simply send a string representing the scene by calling

stage.Flatten().ExportToString().encode('utf-8'),

but this results in

enodo@cb218d2bfdce:/workspaces/enodo_motion$  cd /workspaces/enodo_motion ; /usr/bin/env /bin/python3.10 /home/enodo/.vscode-server/extensions/ms-python.debugpy-2024.10.0-linux-x64/bundled/libs/debugpy/adapter/../../debugpy/launcher 48227 -- -m scripts.grasp_lab.simulated_grasp_candidate_search 
Warning: in _ReportErrors at line 3157 of /usd-setup/OpenUSD-23.11/pxr/usd/usd/stage.cpp -- In </SpeakNoEvil_Skull>: Could not open asset @http:/omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/ArchVis/Residential/Decor/Sculptures/SpeakNoEvil_Skull.usd@ for reference introduced by @/home/enodo/OmniverseAssets/gp7_grasp_candidate_search/main.usda@</SpeakNoEvil_Skull>. (instantiating stage on stage @/home/enodo/OmniverseAssets/gp7_grasp_candidate_search/main.usda@ <0x55587a4dbe00>)
Warning: in _ReportErrors at line 3157 of /usd-setup/OpenUSD-23.11/pxr/usd/usd/stage.cpp -- In </AbstractElephant>: Could not open asset @http:/omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/ArchVis/Residential/Decor/Sculptures/AbstractElephant.usd@ for reference introduced by @/home/enodo/OmniverseAssets/gp7_grasp_candidate_search/main.usda@</AbstractElephant>. (instantiating stage on stage @/home/enodo/OmniverseAssets/gp7_grasp_candidate_search/main.usda@ <0x55587a4dbe00>)
Warning: in _ReportErrors at line 3157 of /usd-setup/OpenUSD-23.11/pxr/usd/usd/stage.cpp -- In </CrabbyPenHolder>: Could not open asset @http:/omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/ArchVis/Residential/Decor/DeskDecor/CrabbyPenHolder.usd@ for reference introduced by @/home/enodo/OmniverseAssets/gp7_grasp_candidate_search/main.usda@</CrabbyPenHolder>. (instantiating stage on stage @/home/enodo/OmniverseAssets/gp7_grasp_candidate_search/main.usda@ <0x55587a4dbe00>)
Warning: in _ReportErrors at line 3157 of /usd-setup/OpenUSD-23.11/pxr/usd/usd/stage.cpp -- In </Kiwi>: Could not open asset @http:/omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/ArchVis/Residential/Decor/Sculptures/Kiwi.usd@ for reference introduced by @/home/enodo/OmniverseAssets/gp7_grasp_candidate_search/main.usda@</Kiwi>. (instantiating stage on stage @/home/enodo/OmniverseAssets/gp7_grasp_candidate_search/main.usda@ <0x55587a4dbe00>)
Warning: in _ReportErrors at line 3157 of /usd-setup/OpenUSD-23.11/pxr/usd/usd/stage.cpp -- In </BuddhaStatue>: Could not open asset @http:/omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/ArchVis/Residential/Decor/Statues/BuddhaStatue.usd@ for reference introduced by @/home/enodo/OmniverseAssets/gp7_grasp_candidate_search/main.usda@</BuddhaStatue>. (instantiating stage on stage @/home/enodo/OmniverseAssets/gp7_grasp_candidate_search/main.usda@ <0x55587a4dbe00>)
Warning: in _CopyMetadata at line 5305 of /usd-setup/OpenUSD-23.11/pxr/usd/usd/stage.cpp -- Failed copying metadata: Cannot set value for unknown field 'hide_in_stage_window'

Is it possible to consolidate nvidia assets?

Cheers,
Enodo-Oscar

My initial guess would be that I would either need some access token on my client computer so that I download the assets during the Flatten() operation.
If not that, then I would have to make it so that it keeps all references that it was unable to resolve, and just hope that the host computer is able to resolve these composition arcs, which it will since omniverse does have an access token to download AWS assets. But I don’t know how I would do this?

When you are in USD composer, and you want to save a USD as a flattened file, just use the command, “save as” with the flattened option. This should produce one larger USD file with all the USD assets in there. However, remember, it will not include the textures. Those are still in a separate folder. You also have the “collect” command which does collect everything needed into one place.

Having said this I do not see your reason for having to flatten your file in the first place. You can make a file in composer and open it in Issac Sim without needing to flatten anything.

Also you can just skip usd composer altogether and just make the scene directly in Isaac Sim.

If you are moving the file from one Omniverse set up to another, make sure that both of them are fully logged in and on the internet.

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