Convert OmniPBR to USD Preview Surface

Hey all

Is there anyway to convert OmniPBR materials to USD Preview Surface, I have a model that has about 20 OmniPBR materials but i’d like to export the usd and use elsewhere and the materials are coming out all wrong. The only way to get them looking correct is to use USD Preview Surface and adjust them.
I guess second question is should OmniPBR be compatible with USD outside Omniverse? I can understand complex shaders wouldnt be but i’m using basic PBR shaders.


Just to add some more questions. You have a scene in USD Composer using OmniPBR ? And it looks correct in Composer ? You are trying to get that scene OUT into what package ? Why are you looking at converting to “USD Preview Surface” specifically ? What package uses this ?

Yes so have a usd model in USD Composer that has assigned OmniPBR Materials, And the idea was that after tweaking the model in there wanted to use it in a usd viewer app (autodesk usd viewer for example) , and the only materials that were exporting from Composer that are working are USD Preview Surface/Texture. So am having to go one by one and converting the material on the model and then doing an export.
So wanted to see if there is anything that could convert materials on export or perhaps a plugin to fix this issue.


You want to use it in a “usd viewer app” ? We have USD Presenter for that. Does that not work well for your needs ? It is our state of the art super smooth USD file presenter, viewer, comment and markup system. Free to download and gauranteed to be indentical to composer for viewing.

Normally our importers import usd as OmniSurface, not OmniPBR. How did they get into OmniPBR materials ?

Thanks Richard, would love to use USD Presenter but its for a web app and would be calling usdz models from a cloud server (im not the dev, so not entirely sure) . Think it needs to be as USD standard as possible. Reason it got to OmniPBR is i had imported a 3d car model and spent some time assigning materials to various parts including engine. And then it was decided we need to use an external usd viewer which is when I realised that i’d have to go back converting all the materials to a USD Preview Surface, otherwise we end up with a pink car (default shader for unknown shader networks in the USD viewer).

@parance this may be a separate topic, but have you looked into Distill and Bake? MDL Distill and Bake — Omniverse Extensions latest documentation

p.s. full transparency, i haven’t used this extensively but thought it could be something worth looking into

Great thanks i will look into that.