検索 - User list
Full Version: re-editing material usd once made into a usd
Root » Solaris and Karma » re-editing material usd once made into a usd
Mark Wallman
Hi.

Is there any way to reedit the material of a premade usd file. If the mesh is usd and the material is usd, what I want to to be able to dive back inside the material to make further edits. Or am I thinking about this wrong. Should I think of a usd material as “compiled”. Best Mark
rafal
If you want to “dive back” into the material network, then indeed Edit Material LOP is probably the way to go. However, at the moment, this LOP handles only simple networks (eg, no NodeGraphs, etc).
Mark Wallman
Hi. Cool good to know. Is this something that might be expanded on in the future? Best mark
rafal
Yes. We definitely plan on improving the Material Edit LOP.
Sixjames1000
Is there a plan or even just a way right now to override a parameter value from a shader, but just for a single primitive? Im using the ‘variant’ node, but I feel this might not be a good workflow, and moreover it requires the user to know the name of whatever variable needs to be overriden.

Something that would just display all the ‘promoted’ parameters or a list of shader parameters and allow a primitive to receive whichever value is changed.
BabaJ
Is there a plan or even just a way right now to override a parameter value from a shader, but just for a single primitive?

You can either set shader parm values in a wrangle prior to importing the geo to Lops, or while in Lops use a Sop Modify node (setting on Unpack USD Primitives to Polygons - or use unpack USD Primitives to Polygon node inside Sop Modify node) - then use a wrangle there.
jsmack
Sixjames1000
Is there a plan or even just a way right now to override a parameter value from a shader, but just for a single primitive? Im using the ‘variant’ node, but I feel this might not be a good workflow, and moreover it requires the user to know the name of whatever variable needs to be overriden.

Something that would just display all the ‘promoted’ parameters or a list of shader parameters and allow a primitive to receive whichever value is changed.

The assign material and materialvariation lops allow modifying material parameters per target prim.

Assign material creates material instances with the parameter variations and varations are visible in HoudiniGL.

Material variation authors primvars on the target prims based on the available exposed parameters of the assigned materials. This method is not visible in HoudiniGL since primvars are not used other than displayColor. It should behave similarly to the SOP methods BabaJ recommended but without the unnecessary unpacking overhead.
Sixjames1000
I see,

Unfortunately none of this presents the artist with a clean UI with exposed parameters or ‘overrideable’ parameters. Is there any plan to improve the material override parameter workflow for solaris ?
BabaJ
Unfortunately none of this presents the artist with a clean UI with exposed parameters or ‘overrideable’ parameters. Is there any plan to improve the material override parameter workflow for solaris ?

Don't see what you mean by that - especially jsmacks suggestion - everything is laid out at the top level of the node - what is it you feel needs improving?
jsmack
Sixjames1000
I see,

Unfortunately none of this presents the artist with a clean UI with exposed parameters or ‘overrideable’ parameters. Is there any plan to improve the material override parameter workflow for solaris ?

You can use a reference lop to make a new material instance, and then an edit properties node to create overrides for all of the parameters if you like. Then manually assign the instance to the desired targets.
Sixjames1000
Edit material doesn't work on complex networks right?
rafal
That's correct. At the moment, it only works on simple networks.
Sixjames1000
bummer
vochsel
Hi all. Just wondering if there were any updates for this or planned for 18.5? The edit material node also seems to struggle on Shader Nodes created for other render delegates (In particular the HdCycles render delegate). Happy to provide some examples if needed.

Thanks for any insight,
- Ben
rafal
While there are few improvements to the material inheritance/specialization, which somewhat relate to Material editing, unfortunately there were not many direct improvements to the Edit Material LOP.
vochsel
Okay, thanks for the heads up rafal!
OdFotan
What do you guys mean with ‘complex networks’ btw?

When I import a material it just imports the network? i.e. All the shaders in the material with the connections are there still in tact. (My 3Delight material network)
What's the difference between this network and a ‘complex network’?
rafal
The USD material may have been translated from a Subnet VOP or maybe from a bunch of VOP nodes feeding into the Collect VOP directly inside the Material Library LOP. Both USD translations will look the same, so re-creating the exact VOP network is not possible.

Also, Subnet VOP may have nested Subnet VOPs, which yield NodeGraph prims, and Edit Material does not handle that yet, IIRC.

Even if it did handle NodeGraphs, it's possible a given NodeGraph may have been translated from an HDA VOP, but there is no way of knowing it at the moment, so Edit Material may create a regular Subnet VOP.

Also, the 3Delight material network may be packaged together in with Karma and RenderMan's materials, etc.

When USD shader is a VEX shader translated from a Material Builder, then it's not possible to re-create VEX building block VOPs inside it, unless we encode the VOP network topology in USD.

Anyway, these are the “complexities” that come to my mind off hand.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB