Black tattoos creating a mask in EZSkin nodes



  • Not really sure if that title made sense, but here goes.

    I've been playing around with EZSkin 3 after finding it when I wasn't able to use Ultimate Realism Kit in Poser11 and while I'm having lots of fun with it, I've stumbled upon a strange "bug" (for lack of a better word).

    One figure I am working on has black tattoos over the body. I find that when I render the image, the specular shader does not cross over from the skin to the black area of the tattoo, creating a hard stop where the tattoo begins. After some experimenting, I have determined that with using EZSkin 3's shaders, the black tattoos actually create a mask and block everything, be it specular, bump, etc.

    So, I decided to try another test. I reloaded the skin without tattoos and used D3D's overlay script to add the tattoos as an overlay and I still run into the same problem What am I missing here?

    If I have to, I can provide images, would just take me a bit to set them up.

    Also, does anyone have any idea how EZSkin's overlay works? It makes no sense to me.



  • @cujoe_da_man
    Have you read the EZSkin3 manual? Advanced use 3, on page 4?


  • Poser Ambassadors

    EZSkin has a feature that is very useful for most situations. It tries to automatically produce a specular map, using only your color map. It does this because so many texture sets either do not include a specular map, or the map they include follows no sensible standard and produces gibberish if used.

    The strategy it uses for the procedural specular is basically to look for skin vs. hair or makeup in the color map and only apply skin specular where it is skin. It does this by using the red channel of the color map. Almost always, this is a good proxy for skin - the makeup or hair has very low values of the red channel.

    However, a black tattoo ALSO has very low levels of the red channel, and if it's built into the skin color, well that looks like hair or makeup. (Realize that EZSkin can't "see" and analyze what a human sees and recognizes. It just works with one pixel at a time and all the knowledge it has is in that one pixel.)

    It sounds like the D3D overlay script added the tattoo into exactly where the color map goes, and so the combination looks exactly like the same.

    Now, if your texture set actually DOES have a specular map, you can and should tell EZSkin to use that instead of its procedural map.

    Click the "Edit skin" button.
    Find the Specular category (or use the Show category: Specular pulldown)
    There is a Type pulldown that says Procedural specular. Change that to "Prefer Specular Map" or "Specular Map or nothing" -- whichever makes sense for your situation.

    It will no longer think the tattoo is hair, but it will also no longer think hair is hair, so you better have a spec map ready.

    Alternatively, let EZSkin deal with the overlay as an overlay instead of having it pre-blended into the color map. That way it will know how to handle it.


  • Poser Ambassadors

    Here's a demo to show you how this feature works. I decreased the skin color to where it is almost black, so that almost all we see is the specular effect.

    The shader is detecting head hair, eyebrows (obvious features) and eye makeup (not obvious feature). It is only applying the skin specular to where those other things are not found. It is doing this by measuring the red level of the color map.

    0_1488119291613_EZSkin Specular.jpg



  • @cujoe_da_man said in Black tattoos creating a mask in EZSkin nodes:

    ...I wasn't able to use Ultimate Realism Kit in Poser11

    It still works for Firefly, but gamma correction will wash out some of its effects. (Specular, etc) At least, I was using it with no issues aside from that, but then again, I'm not a render-monkey, so I could have been looking at the equivalent of rendering a car crash, for all I know. :) (ie: V4 Realism Kit, fake SSS, pre-SSS shader setup)



  • @morkonan

    The script acts broken, I tried to load it, but it just throws out errors. I'm not too upset about it, though since EZSkin can do pretty much the same thing with much, much less nodes now that SSS is involved (I couldn't do that when I was still using Poser 7) :D

    I just wish EZSkin went much deeper into its descriptions of what things do. I understand a good portion of it, but it doesn't really explain how or why, even in the manual and the Poser manual (as usual) includes nothing either.



  • So now, how do I go about setting up an overlay, specular map and/or letting EZSkin take the reigns and do the work for me. I found the overlay option, but it doesn't really say what to do, I get this:

    0_1488129961363_overlay.jpg

    I don't get why I would want to overlay an already existing figure skin over the same figure, that isn't what I want to do.



  • @cujoe_da_man What version of Poser are you using? Ezskin3 is for Poser 11 only, if you are using a version before 11 then you need EZSkin2. Also, if you are using Poser 11 you have to tell EZSkin3 which render engine you are using (FireFly or Superfly)

    The manual is actually very good for a free piece of excellent software, but it is an add on so you won't find anything in the Poser Manual

    Amanda



  • @cujoe_da_man The overlay is for overlaying say the Lip material over the skin material.

    You set the specular options here 0_1488130993295_upload-ff03e2f3-81eb-4775-9edb-2fe0dfc94ba0
    Change Procedural specular to your prefered option in the drop down. This option is accessed by clicking the Edit Skin button on the first screen

    0_1488131094545_upload-effd2ca4-d67b-4f52-8795-e317a20b1d6d


  • Poser Ambassadors

    Hmmm. I never looked into the overlay feature. Now that I read about it, it's not for tattoo.

    In fact, Snarlygribbly (author) of EZSkin said in another thread 8 months ago

    "Further development of the API to make it easier for users to layer things using EZSkin has been halted for the moment, as D3D brought out a cool utility which does that."

    So now we've come full circle. Apparently you're supposed to use D3D's overlay script, as stated by OP in first post.

    If the D3D script is adding the overlay in a bad place, you should be able to rewire the specular map detector stuff to point back straight at the original, un-tattooe'd texture map. Although that's an extra step, it's not that hard. I'm assuming the tattoo is in just one material.



  • @bagginsbill Or it might be possible to use the tatoo overlay script after the material has been run through EZSkin


  • Poser Ambassadors

    I'm pretty sure the overlay script blends the skin texture with the tattoo (literally a Blend node) and then connects the blend to everywhere that the skin texture used to go.

    This would result in the tattoo being fed to the hair detector.

    There is little chance that the D3D script would notice that the texture is going to a hair detector and leave it alone.



  • Ok, so I get that EZSkin and D3D overlay are going to treat the tattoos as something they aren't, so what's the next step to make the tattoos something that they are? This is actually all new to me, so forgive me for not getting it right away, I've never actually used a specular map before or had an issue with black causing this kind of problem.

    I do find it interesting how EZSkin and UltimateRealismKit differ in trying to achieve the same results (and yes, I realize that EZSkin uses SSS and the other doesn't), it really shows that 1+2 doesn't always equal 3 :P



  • @bagginsbill said in Black tattoos creating a mask in EZSkin nodes:

    I'm pretty sure the overlay script blends the skin texture with the tattoo (literally a Blend node) and then connects the blend to everywhere that the skin texture used to go.

    This would result in the tattoo being fed to the hair detector.

    There is little chance that the D3D script would notice that the texture is going to a hair detector and leave it alone.

    Then surely you could just change what goes to the hair detector linking just the diffuse map and leaving everything else alone?


  • Poser Ambassadors

    As I said there are two approaches. First I need to know if the texture set you intend to use has a spec map or not.

    Load the basic texture set, however it came from the vendor.
    Run EZSkin 3.
    Open the advanced material and look at the bottom right.

    Do you have a specular map like this?

    0_1488136193487_upload-752731b3-7e6e-4ed3-b8f4-42e7985c221d


  • Poser Ambassadors

    Or does it look like this with no spec map?

    0_1488136452345_upload-1fc427d7-2d8f-4629-8a18-785af67c9984



  • Nope, no spec map at all, never knew such a thing every existed or was needed. I don't mind a little extra work on my spaghetti if it gets the tattoos to render correctly, I only have a couple characters that have tats like this :D

    I would like to know both ways with or without a spec map. I would also need to know how to set up the spec map so that EZSkin knows what to do with it.

    Also, should I upload some images showing what I'm working with?


  • Poser Ambassadors

    OK you just asked for both ways.

    The way to do this if you have a spec map was already given. Here it is again.

    @bagginsbill said in Black tattoos creating a mask in EZSkin nodes:

    Now, if your texture set actually DOES have a specular map, you can and should tell EZSkin to use that instead of its procedural map.
    Click the "Edit skin" button.
    Find the Specular category (or use the Show category: Specular pulldown)
    There is a Type pulldown that says Procedural specular. Change that to "Prefer Specular Map" or "Specular Map or nothing" -- whichever makes sense for your situation.


  • Poser Ambassadors

    Now as you do not have a spec map, you want to

    • Apply basic textures
    • Run EZSkin to fix them up
    • Run the D3D script to add the tattoo

    Then you will need to edit the resulting material to fix the small mistake this creates. I don't have the D3D tool so I can't tell you what to edit.

    Normally I'd tell somebody to put the wires for the specular stuff back to the original color map. In fact I said that above:

    "you should be able to rewire the specular map detector stuff to point back straight at the original, un-tattooe'd texture map. Although that's an extra step, it's not that hard. I'm assuming the tattoo is in just one material."

    But it seems this is not detailed enough.

    So you'll need to get up to that step and then do a screen shot showing me how the D3D script inserted the tattoo stuff. Then I'll be able to give specific instructions.


  • Poser Ambassadors

    Hi folks,
    just to clarify:
    EZSkin does not have a feature for overlaying tattoos/makeup/scars etc.

    I was planning to do it, but the D3D tool referred to elsewhere in this thread came out and made its functionality in EZSkin redundant. Please bear in mind that (a) EZSkin is free so does not warrant unnecessary effort on my part and (b) I want to see cool script makers like D3D prosper, so don't want to challenge their sales in any way. My aim has always been to make utilities for which there wasn't a commercial alternative.

    The 'overlay' feature that can be found hidden away in EZSkin's menu system was just a very specific request by a single user to facilitate blending a figure's face skin with its lips material to avoid a harsh dividing line between the two. It seems to work well for that purpose, but it may not be any use for any other kind of overlaying.

    I'm not planning to do any further work on EZSkin so it is unlikely that true overlays will ever be added now (at least, by me). If anybody thinks they can improve EZSkin then contact me privately to discuss sharing the source code etc. I'm not averse to helping somebody else to do what I can no longer find time or motivation to do. Only serious approaches, though, please.

    NB: I shall leave Bagginsbill to provide further advice here because he designed the shader and understands its nuances better than anyone else :)