Extending Materials - preferred approach?
I've updated some geometry displacement plugins to now work on figures as well as the original basic props and primitives. The original added an Image property to the node, and used that as a grey-scale or tri-value to displace the geometry - much like a regular morph, but image-based. That works fine for single-material primitives and props, but for figures or multi-material props, that needs to provide additional maps for at least the defined materials.
Rather than duplicating all the Material names back to the node, bones or skeleton, it seems to make more sense to add the new image-based properties to the existing Materials. Basically beside the existing Displacement Map section in Materials. Using those existing displacement images as the default was even a decent test set, but they are micro-polygon images more useful for rendering than actual geometry manipulation, so I do need to extend that with a separate image property used for Geometry morphing.
So the big question then (finally) is whether to go extending DzDefaultMaterial (which unfortunately will get lost by any other extensions, or even people applying DzBrick Presets,) or to go straight to a DzBrick-based implementation (which unfortunately will not be "automatically" available to any legacy Materials.)
In fact, the big question is if the above big question is even the proper question? :)
There are of course a lot of ways to do this. I would prefer to pick the "preferred" way though, so as much as I'm sure I'm putting someone on the spot, :) if there is a preferred DAZ choice for "future" use between legacy materials or bricks, that would be real sweet. Bricks are more powerful and useful, but DefaultMaterial provides one-click of legacy content for new users - so hopefully the answer isn't "do both". :)
I'm guessing there is maybe a third way too though? Maybe more... Hence, I ask.
Comments
You couldn't make it a Surface, rather than a Material, property with its own pane allowing selection of UV set and map? It would seem likely that people will want to adjust it at a different point in the workflow from material settings, so having the rather unwieldy Surfaces pane open then may be unwelcome. That wold also allow people to create a single map for a figure, even if they were using Genesis and used different uv sets for different characters for the figure.