Modifying USDZ files in Omniverse painful (cannot save the result in a way that works)

I opened a USDZ file in Omniverse using File/Open, and it worked. I made changes, then tried to save the file. It came up with error messages and refused to save the file. It seems it can open USDZ, but only save USD[A/C] files.

So instead, I tried to do a USDZ export. But it appears the paths to texture files inside the original USDZ is getting it confused. The paths are /path/to/file.usdz[path/inside/usdz/texture.png]. These are not being handled well. For example, opening the path (clicking the folder icon) looks for a directory /path/to/file.usdz[path/inside/usdz/ which does not exist. Then it tries to save texture.png] (with the square brackets).

Doing export to USDZ fails to generate a working USDZ file as a result.

So next I tried to save as flattened. But again, the paths to USDZ PNG etc files got left inside the original UDSZ file. I could not export a new USDZ file with copies of all the PNG files from the original UDSZ file (it left references to the original PNG files from what I can see).

So I have not worked out a way to open a USDZ file in Omniverse, make changes, and either save the existing USDZ file or export to a new USDZ file where it includes all the PNG texture files in the new USDZ file.

Yes this is expected. We do not support any saving or exporting of USDZ files. We can open them and use them but we prefer you simply save them as normal USD files with the USDZ as a master reference.

So for example if you have a USDZ file of a car. You can import it into a new USD file, you can modify the color of the car and then save a new usd file as car.usd that references the master original usdz file you started with. This way you protect you original asset in the master state and the new usd file acts as a modification file.

The problem I am hitting is path names at times end up changing from “blah/blah/foo.jpg” to “blah/blah/foo.jpg]” - a close square brackets is in the file names. I have not spotted the patten yet, but it seems to work better if I explode the USDZ file outside of OV first.

In my case I don’t want to reference the original USDZ file - I am trying to remove such references due to problems like the above and get a clean, simple, portable file. I did a flatten for example, but got lots of square brackets as a result. I think the relative path code struggles with the “[” and “]” around the tail part of the path names - it gets confused.

Yes just rename the file to a “.zip” and then unzip it and just extract the textures. Then simply open the file and resave as a fresh usd file

1 Like