Skip to content

SamusAranX/USDConverter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

USDConverter

A USDZ-to-OBJ converter powered by Model I/O

NOTE: This tool was developed out of a need to use static USDZ models in Blender. (see below for a matching import addon)
Now that Blender directly supports importing USD* files, I'm stopping work on this.
The last update, v1.7, fixes a crash bug. Beyond that, barring some unforeseen changes to either Model I/O or the USD specs, this tool should keep working forever.

Usage

  1. Download the latest source code archive and compile the project.
  2. Move the usdconv binary somewhere into your PATH or into the same directory as the USDZ files you want to convert.
  3. Execute it from the terminal like this:
usdconv model1.usdz

You can also convert multiple files in one go by simply specifying more files:

usdconv model1.usdz model2.usdz model3.usdz

Options

-v, --version           Show the version number and exit.
--png                   Convert all texture formats to PNG.
--force                 Try to force conversion, even if the input format is unsupported.
--include-garbage       Keep initial files generated by Model I/O.
-h, --help              Show help information.

With no options specified, running usdconv model.usdz will output these files and directories:

  • model.obj
  • model.mtl
  • model/(a bunch of textures in various formats)

The --include-garbage and --force options are mainly for debugging:

  • Specifying --include-garbage will keep the unfiltered files generated by the Model I/O framework around. They usually aren't all that useful as they lack the extended PBR attributes this tool generates.
  • --force has no practical value outside of debugging. It'll attempt to force input files to load, with no guarantees of success. Rule of thumb is if a file can't be loaded normally, this won't work either.

Using Blender?

Check out my alternate OBJ importer with support for the additional PBR MTL directives added by this tool: io_scene_obj_modelio