Are there any generic solutions converting USD and other formats without DCCs?

I understand that DCCs support multiple formats, and that users can then write scripts on top of them. But that does not seem like a standard solution to me. And automating complicated software to perform simple tasks can result in performance loss.

We are always looking for a pure Python/C++ solution to convert FBX, ABC and other formats to OpenUSD. All of these file formats have good interfaces, and there are no technical barriers. However, developing one from scratch would be too much work. I am therefore writing to ask if there are any known solutions in the USD community that we could use as a starting point.

Thanks!

If you build USD with the Alembic plugin, you can convert between .abc and .usd files using usdcat. For example:

usdcat hello.usda --out hello.abc

Adobe also provides file format plugins for formats such as FBX and OBJ. These plugins should also work with usdcat.

Beware that ABC is a subset of USD. The plugin easily coverts ABC into USD but the reverse can often fail. I am not sure if it fails because there just isn’t a ABC equivalent for some USD data or if the plugin doesn’t support the conversion, but this issue has recently come up for us.

Thanks, I think Adobe Fileformat Plugins is exactly what we’re looking for. :+1:

NVIDIA also provides a quite convenient package: