• Welcome to the Community Forums at HiveWire 3D! Please note that the user name you choose for our forum will be displayed to the public. Our store was closed as January 4, 2021. You can find HiveWire 3D and Lisa's Botanicals products, as well as many of our Contributing Artists, at Renderosity. This thread lists where many are now selling their products. Renderosity is generously putting products which were purchased at HiveWire 3D and are now sold at their store into customer accounts by gifting them. This is not an overnight process so please be patient, if you have already emailed them about this. If you have NOT emailed them, please see the 2nd post in this thread for instructions on what you need to do

What do you wish was easier to do in the Material Room?

Gadget Girl

Extraordinary
Contributing Artist
So with a bunch of people getting Poser 11 with the sale, as well as some other people asking some Python questions, the scripting bug has bitten me again, and I'm wondering if I cleaned up a script I'd written people would be interested in it.

When Poser 11 first came out, and I was trying to figure out how to make my content work in Superfly, I began to put together a script to make 'fixing' materials for Superfly easier. Then EZSkin3 came out, and it's awesome and is way better than anything I could make for skin shaders. But. . . there are a lot of other things that can either look wrong or just not as good if you don't 'fix' them for Superfly.

For example. One of my favorite outfits of all time is Arki's Dragon Keeper, with a favorite texture set called Keep of Kings. Here's what it looks like in the preview window:


Now that is actually only four out of the nine figures that are part of the outfit (there is a lot of jewelry as well). And it's pretty complex. If I just hit render in Superfly, this is what I get:


Obviously not at all what you'd be expecting, because it's lots the red color along with a lot of the detail, the scales on the corset having become a shiny silver, and the rest of the jewelry has become duller than it should be.

Now this is a script I designed to work with the console/error log in Poser so you can see what Superfly doesn't like, and fix it. An example of one of the errors I'm getting over and over is this:

15:01:50 - SuperFly: Cannot connect output from node Clay to input Value 1 on node Color_Math.

I quick look in the Material Room, and it seems that the image maps plug into Clay, which plugs into Color_Math which plugs into Alternate_Diffuse.

So what my script allows you to do is type in the name of a node, and have it relink across all the materials on whatever figures I choose. Since all my figures have the same problem I just run the script once and re-link Clay to Alternate Diffuse on all the materials. Here's what I get:


That's way better. But I still have a bunch of errors in the logs, and it could still be better. At this point the main thing I'm getting is that Ambient_Occlusion is causing issues. I really just want to delete Ambient_Occlusion from all the materials. This might sound easy, but here's an example of the output my script gives me when I run it, and this only shows what it's done on the dress, it still has four more figures to run on:



Here is a close up render of just the broach. The version on the right is the one where I've gotten rid of Ambient_Occlusion.



At this point I've only got one set of error left on one material on the corset (which looks black in the above images) and it's easier just to fix by hand than run the script (although the script would do it). Here's the final version.



So after all that, my question is would people be interested in a script that can mass delete and re-link nodes across multiple figures (it does have a selection box so you can control what figures it runs on). And what other kind of mass actions do you wish you could preform on materials.

Also, I know it's totally possible there is another script out there that can already do these things. I'd be curious if there is. Basically this script works great for me, but it does have some bugs and idosyncracies that I'd want to fix if I was going to distribute it, and I'm trying to decide if it's worth my time, or if I should play around with some other ideas I have.

Thoughts?
 

Rae134

Renowned
CV-BEE
Contributing Artist
Sounds good GG (even if it all went over my head :p) hopefully someone with way more experience than me can help with your questions :)
 

Pendraia

Sage
Contributing Artist
That sounds awesome and for someone like myself who is new to Poser anything that makes it easier is welcome!
 

RAMWolff

Wolff Playing with Beez!
Contributing Artist
One of the biggest turn off's for me in the Material Room is the lack of being able to select multiple sufaces at once like the Legs and arms to apply the same material and tweaking on the fly. I hate having to select one surface at a time, it's really counter productive to a speedy work flow!
 

Gadget Girl

Extraordinary
Contributing Artist
One of the biggest turn off's for me in the Material Room is the lack of being able to select multiple sufaces at once like the Legs and arms to apply the same material and tweaking on the fly. I hate having to select one surface at a time, it's really counter productive to a speedy work flow!

Hmm. So the tricky thing there is that often you have different image map for those body parts, so you wouldn't totally want to apply the same material everywhere. I'd have to think about it, but there might be a clever way to write a script that doesn't change any image files. Some parts of that could be tricky, but I can also think of some work arounds. Some would require more user input than others, but they might be a little more reliable. I'd have to see.

Out of curiosity, because I can see where this would be especially useful on skin shaders where the image maps are different, but you want to make some other node changes that should apply the same everywhere else (expect you know eyes teeth etc) what sort of things are you most often tweeking? Or is it just sort of all over the place when working on skin textures?

I want a simple way to overlay something like stitches on a shader. Or gloss on lips/fingernails.

Hmm, the problem there is I don't know the complicated way to do it :x3: so I'm not sure what sort of script to write to simplify it. However, if you had an example of what the process looks like, I might be able to automate it.
 

Glitterati3D

Dances with Bees
Hmm, the problem there is I don't know the complicated way to do it :x3: so I'm not sure what sort of script to write to simplify it. However, if you had an example of what the process looks like, I might be able to automate it.

Other than Semideu's script, there is no complicated way to do it.

I believe you can now do it in P11 ONLY with the Layers node, but that limits your materials to P11 only.
 

Ken1171

Esteemed
Contributing Artist
@RAMWolff one way to select multiple parts at once is using the XS plugin from D3D. It allows us to do things in a similar way as DS, like selecting a material and pasting it over multiple others at once. The XO plugin can do the same for scene objects, like for example, deleting multiple objects at once, including all parented, or conformed children.

One thing I would like to have in the Material Room is a way to remove ALL nodes from a material, leaving only the texture maps. This is what I have to do when I want to render in Octane or Superfly.
 

Gadget Girl

Extraordinary
Contributing Artist
I believe you can now do it in P11 ONLY with the Layers node, but that limits your materials to P11 only.

Yes, you can do it there, I've played around with it, but not only is it Poser 11 only, it is Superfly only, so that is rather limited. I'm guessing there is another way to do layers (I could be wrong), that probably involves adding some sort of special transparency/opacity map but I don't know how you would do it.

One thing I would like to have in the Material Room is a way to remove ALL nodes from a material, leaving only the texture maps. This is what I have to do when I want to render in Octane or Superfly.

Hmm, that actually probably wouldn't be too hard. Actually, disconnecting everything is easy, you would just have to keep track of where the image maps were supposed to plug into, so you could hook them back up when you were done.
 

RAMWolff

Wolff Playing with Beez!
Contributing Artist
While the basic map set up would be different the settings like bump strength, specularity and other internal settings and colors like diffuse would be pretty much universal!
 

Ken1171

Esteemed
Contributing Artist
I can handle the parameters if I could have just the texture maps in place, and everything else deleted. Also, it would be helpful to reconnect the maps to diffuse instead of alternative diffuse. Only Firefly uses that.
 

Robynsveil

Admirable
So with a bunch of people getting Poser 11 with the sale, as well as some other people asking some Python questions, the scripting bug has bitten me again, and I'm wondering if I cleaned up a script I'd written people would be interested in it.
...
Thoughts?
Back in the day when I messed around a fair bit with matmatic by Bagginsbill, I tended to use the blender node to layer colours and textures. As it turned out, my scripts never sort-of achieved any sort of popularity, which was fine with me at the end of the day, as I was moving away from Poser for rendering as Cycles in Blender got more and more capable these last few years.
Saying that, I think there is still a huge call for time-saving scripts for Poser. Indeed, that was all the reason I went with Poser (and spent the extra money) and stopped using DS: customisability (is that even a word?). And there are so many scripts out there that I still use regularly.

Actually, I thought SnarlyGribbly had written something that cleaned off certain nodes from older shaders, ones like that AO node, for example. Couldn't be certain, though.
 
...
Actually, I thought SnarlyGribbly had written something that cleaned off certain nodes from older shaders, ones like that AO node, for example. Couldn't be certain, though.

EZMat does many of the things you're talking abut in this thread

It can layer any material in Firelfy
It can copy shaders from one material zone to any or all others, retaining the existing texture maps if desired.

Here is an example of the layering code in action (note that displacement settings are respected too)

1 - Base mannequin
2 - Foam layer added
3 - Dirt layer added
4 - Green cloth layer added

All done in Firefly using EZMat

1.jpg
2.jpg
3.jpg
4.jpg
:
 
If you're going to write a script to convert FF materials to SF, then I'd offer this advice:

  • Don't ask the user which node(s) to 'fix' - the problems are well known and it would be easier just to fix all of them without asking the user, who may well not know which is the offending node.
  • Don't delete nodes and then reconnect stuff: the deletion of nodes will change the shader in unpredictable ways. To make things work in SF it is usually enough to reorder nodes. The problem with MAP > CLAY > COLORMATH > ROOT is that COLORMATH cannot come after a lighting node (CLAY). Change it to MAP > COLORMATH > CLAY > ROOT and all will be fine and nothing is lost. As Poser's nodes multiply together, the order change will usually look right, because 2x3x4 gives the same result as 2x4x3
  • Modifying the FF shader tree is not good. The user may want to render in FF later using the original shader. P11 supports multiple roots, so make a new one and set it just for use with SF. NB: If an active SF root already exists then you can probably skip the material altogether as it already has a working SF shader.
  • Reflection nodes and specular nodes cause most of the problems when translating to SF, as SF usually has reflection built in so those nodes from the FF shader are superfluous and cause excessive reflection. They need to be handled carefully.
Just my thoughts :)
 

Gadget Girl

Extraordinary
Contributing Artist
EZMat does many of the things you're talking abut in this thread

So I kind of thought it did, but I have to be honest I've never been able to figure out the interface in EZMat. Some of it I think has more to do with Poser. I can't seem to keep it as a floating window, and every time I move it it docks itself in an unusable way, and Poser 11 doesn't seem to give me the option to just keep it as a floating window. But also, I've tried to go through the guide, and it seems like everything relies on plugins. If there are ways of just changing nodes/materials without adding a fancy plugin I haven't been able to figure it out.

If you're going to write a script to convert FF materials to SF, then I'd offer this advice:

  • Don't ask the user which node(s) to 'fix' - the problems are well known and it would be easier just to fix all of them without asking the user, who may well not know which is the offending node.
First off, greatly appreciate the feed back.

In theory I agree with you here. And there's a lot of stream lining I'd like to do. However when I tried to build a few actions to fix things, it would work on one set of materials, but another set (sometimes by the same texture artists) would not be fixed. I did spend some time trying to figure out if there was a way to feed the output of the console log into a script, but if there is, I haven't been able to find it.

Now I am playing around with just cleaning up where the image maps are to see what sort of results I get from that. If that works well I could have an 'easy' button that would be likely to fix things, and then some more complex options.

  • Don't delete nodes and then reconnect stuff: the deletion of nodes will change the shader in unpredictable ways. To make things work in SF it is usually enough to reorder nodes. The problem with MAP > CLAY > COLORMATH > ROOT is that COLORMATH cannot come after a lighting node (CLAY). Change it to MAP > COLORMATH > CLAY > ROOT and all will be fine and nothing is lost. As Poser's nodes multiply together, the order change will usually look right, because 2x3x4 gives the same result as 2x4x3
Hmm, that's a good point, and may feed into the problems I was seeing above. I've never found however a list of, these are the things Superfly doesn't like, I've just gone off of problems I've found in materials I own. However, that alone is very helpful.

  • Modifying the FF shader tree is not good. The user may want to render in FF later using the original shader. P11 supports multiple roots, so make a new one and set it just for use with SF. NB: If an active SF root already exists then you can probably skip the material altogether as it already has a working SF shader.
Okay, very good point. My initial thought is that the user is not going to save over the original mat, so they would end up with a Superfly one they could save if they wanted. However, it may be easier to create a Physical Surface Node, set it to Superfly, and the move down the original node without changing it, then to 'record' changes made to the original.

  • Reflection nodes and specular nodes cause most of the problems when translating to SF, as SF usually has reflection built in so those nodes from the FF shader are superfluous and cause excessive reflection. They need to be handled carefully.

I can only say Yes! to the last one. A lot of issues come up here. I actually noticed something interesting, as I was looking at these scripts again, and using what I've learned about the material room since I first built them. I now know that 'bad' node connections for Superfly will show up with the dashed lines. I had one that had a Blinn plugged into Specular that had the dashed line, but it didn't show up in the error log. I don't know if this meant that Superfly just ignored it, and if that means there is a difference between what is flagged in the material room, and what causes actual errors.
 
Top