SuperFly Nylon Shader





  • @amethystpendant Sorry about posting up that video. I had not read your plea to not go there.



  • @amethystpendant In this one I created a second layer on V4's leg zone and pasted the nylon material there. Needs some map work and should use the hip zone as well. Toes will look funky unless they are jammed into a shoe.
    0_1493131083313_Stockings second layer.jpg


  • Poser Ambassadors

    Straight Edge_Blend produces the wrong function of opacity vs. angle of incidence (AoI).

    First of all, when AoI is 0 (facing camera) Inner_Color should not be 0 (black) because that's impossible to have 0 opacity - there is always some thread in the way. There's a certain minimum opacity you want to plug in there.

    Second, the increase in opacity actually reaches 100% well before 90 degrees. Precisely where depends on the exact nature of the thread and the weave, but generally speaking it occurs at 80 degrees more or less. (Again, this highly depends on the thread thickness and the weave pattern and size.)

    Third the semi-transparency of the thread itself shifts the curve a bit.

    Here I've graphed an Edge_Blend with attenuation 1 in red, vs. a more realistic opacity curve in blue.

    X axis is angle of incidence divided by 90 degrees, i.e. x = 1 is 90 degrees.
    Y axis is opacity as a fraction (0 to 1).

    0_1493140267209_upload-93884817-6f2f-4d65-8346-e8e628f32a88


  • Poser Ambassadors

    I have an improved curve but before I publish that I've been investigating something altogether better. This makes the approximation to opacity look like crap (even if the math is right).

    Instead of simulating the effective opacity, which doesn't look right in a closeup at all, what about really using geometry for the threads. (Or at least the appearance of them)

    Check this closeup of the knee.
    0_1493140853855_Knee Closeup.jpg



  • @bagginsbill Wow that looks like a stocking!



  • @bagginsbill That is pretty darn good! Very real looking.


  • Poser Ambassadors

    Right so I'm pretty happy with my results, at least for a work-in-progress. I now have two ways to do this.

    The individual thread method is great for closeups, but it does take a little longer to render. Or put another way, at a given number of samples per pixel, the individual threads look like they need to cook a bit more, while the statistical opacity is looking nice.

    Have a look (individual threads on the left, statistical opacity on the right, rendered to 500 samples per pixel)

    0_1493144282880_Individual Threads vs. Statistical.jpg



  • @bagginsbill I see what you mean, and at that distance the individual fibres wouldn't be visible anyway, but for closeups they would.


  • Poser Ambassadors

    OK here's the first shader you can try. This is the statistical version, not the individual threads. That's why it's "SFNylon S" - the SF is SuperFly, and the extra S is for statistical.

    https://sites.google.com/site/bagginsbill/file-cabinet/BB SFNylon S 1-0.zip?attredirects=0&d=1

    0_1493148568867_BB SFNylon S 1-0.png

    It's a SuperFly only shader!! It is in a compound node so you don't have to look at the spaghetti. I had some trouble with Poser constantly scrolling the nodes off screen. I have no idea if they're really off screen or not. If you go inside, be aware of such weirdness and it's not for lack of trying to fix it.



  • @bagginsbill Many thanks for this, I will try it as soon as I can!



  • @ghostship Sorry, meant to say thank you for your contribution, and you are forgiven for the Marathon Man vid :)

    Amanda


  • Poser Ambassadors

    I think most of the parameters are fairly self evident, but wanted to talk about the Thread Count parameter.

    Although this isn't simulating individual threads, I do have a bit of weave bump in there. The thread count will affect how many weave iterations there are in a UV unit space.

    Here I decreased that to 100 and I changed the density to 1 with color black, so we can easily see the thread bumps. When you start using this shader on YOUR clothing props, check that your thread count is right. This value, 100, is clearly too few threads for my cloth's UV mapping.

    0_1493151002520_upload-2412d483-f3ec-44c2-86a1-c8abfd7c4dbd


  • Poser Ambassadors

    This is what the thread bump should look like. (Note this is from SVDL's office set for V4, in case you want to try the same clothing prop.)

    0_1493151097245_upload-6ae037b6-ce6b-4795-9751-854301cd8d80


  • Poser Ambassadors

    For those wishing to adapt the opacity calculation for use with their own shaders (such as @ghostship might) here is the calculation.

    0_1493151395391_upload-12afba5d-642a-4f1f-be1e-a5985a693b21

    The opacity is coming out of Math_Functions_7 and going into the MixClosure_2 Fac value to select between the nylon material and the TransparentBsdf.

    I derived this a year ago and I confess I lost the derivation and don't remember why it works this way.



  • The one with the low thread count looks like some old plastic bowls my mum had :)

    I have to admit your opacity calculation totally baffles me :) But I'm really pleased it works!

    Amanda


  • Poser Ambassadors

    I did a longer, bigger test render. It's not bad, but I feel like I don't have a good understanding of how to use the AnisotropicBsdf node here. Woven nylon doesn't quite make the same effect as uniform parallel grooves do, like brushed metal. The highlight could be better.

    0_1493168839568_Test 1.jpg


  • Poser Ambassadors

    Ok ... how about a version that can be applied to the figure rather than a clothing item. Showing the original skin through the nylon shader. Saves on poke throughs.



  • @bagginsbill I am truly fascinated about your progress on this material and I can't wait for the final shader!



  • @Boni said in SuperFly Nylon Shader:

    Ok ... how about a version that can be applied to the figure rather than a clothing item. Showing the original skin through the nylon shader. Saves on poke throughs.

    Add a material layer and put it on that. It works great that way.