I’ve been trying to create new materials, levels, etc in UE 4.27 inside the Omniverse Nucleus server (Path: Omniverse > localhost > Projects) and for some reason, they keep disappearing and can’t be saved.
This was my work process: I worked on my mesh, materials, levels, etc in another path outside of the Omniverse Nucleus server and used the “Export Level to USD” button to import the USD and MDL files to my Omniverse Nucleus server (Path: Omniverse > localhost > Projects). The USD and MDL files were all correctly imported into my Omniverse Nucleus server so so far, so good. But this is where the problem starts: I wanted to create a new material and apply the newly-made material to the formerly mentioned USD mesh. But as soon as I create a material inside the Nucleus server, it disappears, like it couldn’t be saved in the Nucleus server. Is this suppose to happen or is there something I’m doing wrong? I want to create and/or edit meshes, materials, levels, etc. inside the Omniverse Nucleus server using UE 4.27 but it seems like Omniverse Nucleus doesn’t support that and can only be used for importing USD and MDL.
Further explanation on this topic would be much appreciated.
Thank you in advance.
Hello artshim, I appreciate you pushing the Unreal Connector USD and MDL workflow around.
I recorded a quick video of how you can use exported Unreal materials as MDLs within both Unreal and Create.
- Open USD stage in both Create and Unreal
- Create is not required here, I just wanted to demonstrate that the material is actually in Omniverse and working
- Enable live in both Create and Unreal
- This is also not required, saving the stage from Unreal by right clicking and selecting Save to Omniverse will also push the material assignment changes to Omniverse
- From Create I created and assigned on OmniGlass material to a mesh in the open stage
- Notice that the glass material also shows up in Unreal
- From Unreal I exported an Unreal material as MDL to Omniverse
- From Unreal I found and applied that MDL from Omniverse to a mesh in the stage
- Notice that the material also shows up in Create
- From Create I tweaked some material parameters
- Notice that the material parameters replicate through the live connection to Unreal
If this isn’t what you’re trying to do, let me know and we can figure out what might be happening.
Thank you for the step-by-step explanation and video! I’m still a little confused tho…;) I already understood that it’s possible to use omniPBR materials in UE because they are MDL materials and MDL materials are compatible with Create and UE. In addition, I’ve tried exporting UE materials as MDL to Omniverse using the “export to Omniverse” button and know that it works well and can be edited. What I was wondering was if it’s possible to directly create a new UE material or level inside the Omniverse Nucleus server using UE. Judging by the video, I’m guessing it’s not because the Omniverse workflow uses MDL and USD stages? Would be awesome if you could confirm that I understood this correctly! Thank you :)
OK, I understand your question now. No, at the moment we have fairly streamlined “export” and “import” pathways when interacting with the server. In the future we intend on making all different forms of mixing and matching native Unreal asset workflow with USD and MDL work seamlessly, possibly converting in the background while you compose. For now, though, we’ve had to put specific workflow in place so that we have a robust, clean solution.
There are ways that one can mix Unreal levels with USD props and stages. You can drag a USD into an Unreal level and save the level for future use. There are limitations, for instance the actor data is resident on the Nucleus server, and if it’s not cached in the DDC when loading it will take time to load. Also, mesh actor names tend to be more dynamic and finding them, rather than directly referencing them, is necessary in Blueprints.