Layering imported MaterialX materials

   2025   5   1
User Avatar
Member
11 posts
Joined: 4月 2017
Offline
I've downloaded a couple of MaterialX base materials from the AMD library.

Importing and assigning them in Solaris wasn't particularly intuitive, but a couple of online tutorials were really helpful.

I'm now trying to import two base MaterialX materials, and layer them using a material mask (nothing fancy, just a standard material layering workflow).

I assumed the following would work - referencing the imported MaterialX materials using a 'USD material' node within a MaterialLibrary LOP - but I keep getting an error that these aren't native MaterialX nodes, and nothing renders.



Does anyone know how to do this?

Attachments:
image (19).png (127.5 KB)

User Avatar
スタッフ
4159 posts
Joined: 9月 2007
Offline
Can you share a hip file? And which renderer are you using? Is the renderer providing the error message?
I'm o.d.d.
User Avatar
Member
11 posts
Joined: 4月 2017
Offline
I'm currently rendering with KarmaXPU, but the eventual end goal is to get a layered MaterialX file exported for UE5, so I'm indifferent about switching if that would help proceedings....

If I try to export the MaterialX subnet directly, I get a similar error:
Shader network contains non MtlX node /stage/materiallibrary1/mtlxsubnet/genericshader1
.hip file and error file are attached

The MaterialX source files are downloaded from AMD's library (complete with the spelling error of 'Ligth')
Edited by Scribbler - 2023年1月21日 19:59:22

Attachments:
MaterialX_v001.hip (614.5 KB)
Console_error.PNG (9.1 KB)

User Avatar
Member
7741 posts
Joined: 9月 2011
Offline
Scribbler
I'm currently rendering with KarmaXPU, but the eventual end goal is to get a layered MaterialX file exported for UE5, so I'm indifferent about switching if that would help proceedings....

I don't think that's going to happen. The material library makes valid USD, but isn't guaranteed to make valid MaterialX.
User Avatar
Member
11 posts
Joined: 4月 2017
Offline
I don't think that's going to happen. The material library makes valid USD, but isn't guaranteed to make valid MaterialX.

The Material Library, sure - but a 'MaterialX Subnet' should, shouldn't it?
(As long as you avoid the half dozen or so Houdini only nodes).
Seems a bit of a wasted opportunity if it doesn't... :S
User Avatar
Member
7741 posts
Joined: 9月 2011
Offline
Scribbler
I don't think that's going to happen. The material library makes valid USD, but isn't guaranteed to make valid MaterialX.

The Material Library, sure - but a 'MaterialX Subnet' should, shouldn't it?
(As long as you avoid the half dozen or so Houdini only nodes).
Seems a bit of a wasted opportunity if it doesn't... :S

I've not had success with the materialX subnet's output of mtlx files. In your case, there isn't a mtlx 'reference' node that would allow for indicating where an external file is referenced by the material. USD references don't translate back to materialX.
  • Quick Links