Will Timmins' Procedural Shaders

1235

Comments

  • nonesuch00nonesuch00 Posts: 18,131

    Subsurface Scattering. Some skins have special SSS color maps. When translated to Iray, the map may work in translucency color.

    OK, That's something to do with 3DL. I will keep in mind Translencency iRay = SSS 3DL. I don't know 3DL at all. Thanks.

  • Oso3DOso3D Posts: 15,011

    Well, it's complicated. 3dl has translucency and sss in several forms. Iray SSS is limited and trying to put a map into transmitted color just fails. Instead translucency settings interact with SSS settings so you can sort of do the same thing with translucency color.

  • 3Diva3Diva Posts: 11,527

    Ah, great! Thank you! :D That helped a lot!

    I'm really enjoying the shader, Will! Here's Frida "out of the box":

    Which already looks great. But I do think she looks a bit more life like, in my opinion, with your shader:

    (I did make two changes to it though. I thought the skin looked a little dry so I increased the Glossy Reflectivity and decreased the Glossy Roughness.)

    But where I've seen your shader shine even brighter is with Genesis 2. Here I have a "out of the box" Brodie 6 with the Iray Uber shader added (that figure is the one on the left), and then the one on the right is Brodie 6 with your shader (with the two minor adjustments to Glossy Reflectivity and Glossy Roughness):

     

    I REALL like your shader and, to me, definitely looks better and more life like! :)

    Thank you for sharing it with us! If you make any more changes or improvements to it, please do share! I'm excited to see if there is a way to replicate the ultra realism look. :) 

     

  • Oso3DOso3D Posts: 15,011

    Oh wow. I like what you've done with it!

    And yeah, the glossy/dry factor is sort of open for playing with, depending on what you want.

    That's one area where using Specular maps can be handy.

    If you want less realism, have you tried the complete skin shaders?

     

  • Oso3DOso3D Posts: 15,011

    Oh wait, you said ultra realism.

  • nonesuch00nonesuch00 Posts: 18,131

    Those look really great but if you used the default iRay render settings and DAZ Studio default HRDI then they also point out the importance of the PA or DAZ 3D telling the customers the lighting enviroment the 'default skin textures' were created in. For the new iRay textures I mean, I'm not complaining about water already under the bridge. For example Brodie 6 without Will's shaders looks to be rendered at sunrise, sunset, or with very bright indoor candescent light, while the Brodie 6 with Will's shaders looks like he was render on a very cloudy day, typical of England or Washington state, for example, or indoors with no artificial lighting.

    For all the standard of PBR shading and rendering it still looks like a standard neutral well-lit even lighting in which to create textures hasn't been standardized yet. Or I have yet to read of any such standard and how to achieve them, what equipment to use, and so on. Of course with 3DL & characters like Brodie 6 it is typical to create their textures so that they look like they are indoors in bright incandescent light or at sunrise or sunset. 

  • Oso3DOso3D Posts: 15,011
    edited December 2016

    Theoretically a _proper_ PBR skin should look fine in any lighting. But yeah.

    In my view, a good skin product isn't going to be one click, but provide you with quick and easy tools to get what you want. For my skins, the breakdown is:

    General skin tone

    Adjust translucency (via Transmitted Distance: less distance, more 'opaque' looking)

    Adjust glossiness to taste. (If you want very wet-looking skin, drop roughness and increase reflectivity)

    Possibly adjust base colors (for surface skin color), or translucency color/transmitted color (carefully, and with very small steps!)

     

    Ok, new experiment/demonstration:

    Alfred figure with Pale Light skin applied. The ONLY texture maps are for the eyelashes. Nails Light (with Thin Shell switched off, not sure why it was 'on'). This is very close to 'one click.'

    Second image, I adjusted the skin a little; I found it a little too translucent, so I reduced Transmitted Distance a little until it looked right

    I then made the lips Pale pink skin and made them a little more glossy, and then added a lot of morphs to bring out skin details. Again, for close-ups, HD skin morphs can REALLY drive a good image. I used Vascularity, Fitness details, Aging (body/hands/neck), and Michael 6 HD Details (at .7)

    I then added a freckles layer: create Geometry shell. Hide all surfaces that aren't regular skin (eyes, nails, etc). Then I applied, in the same directory as the other skins, Dark Freckled Varied to the geometry shell.

    If you wanted to recover the pink color from the first image without making it more translucent, you could adjust base skin colors.

    WTP Step1.png
    1080 x 1080 - 1M
    WTP Step2.png
    1080 x 1080 - 1M
    Post edited by Oso3D on
  • Oso3DOso3D Posts: 15,011

    Yeah, double checked. If I made the base colors slightly more saturated and change the SSS reflectance color to pure white, the result looks more healthy pink.

    So, tweak elements:

    Base colors. You want two fairly similar colors (it's basically being 'dappled' between the two colors), not too saturated.

    Transmitted distance affects opacity (generally, how 'deep' before the color reverts to the transmitted color)

    SSS reflectance (nudges the overall color of the skin)

    Roughness/reflectivity (for highlights/wet look. The presets are set to be on the dry side, but it's easy to tweak. You can also add a top coat to generate a wet layer, but I don't think it's necessary for this approach)

     

  • nonesuch00nonesuch00 Posts: 18,131

    Those are your most impressive procedural skins yet.

  • Your fabric shaders are amazing.

     

  • Oso3DOso3D Posts: 15,011

    Thank you!

    Those are great examples.

    Yeah, again, I keep hitting situations where I'm using old content and the models look great but then the textures... they would look great but I can see the pixel jaggies and think 'ugh, I need to replace this.'

    I have a few fabric solutions (Parrotdolphin, Fisty and Darc, Mech4d's procedural fabrics in PBS vol 2), and they are great, but the ones I have are pretty easy to apply without much fuss. And, again, reduce texture load.

     

  • Will,

    How do I control the freckles on your skin shader?

  • Oso3DOso3D Posts: 15,011

    You can change tiling parameters (lower values, larger spots), threshold (this can make each spot take up more or less space, the greater the difference of values, the gentler the edges shade in).

    you can also change the primary and secondary cutout values; if the low end is higher, the entire skin is shaded a little. Lowering the high end means the spots blend in with the skin more.

  • Oso3DOso3D Posts: 15,011

    You could also layer two geo shells and create multiple freckles. Like one layer is many faint reddish freckles, and then a layer of sparser, darker large spots.

  • You can change tiling parameters (lower values, larger spots), threshold (this can make each spot take up more or less space, the greater the difference of values, the gentler the edges shade in).

    you can also change the primary and secondary cutout values; if the low end is higher, the entire skin is shaded a little. Lowering the high end means the spots blend in with the skin more.

    This is great!!  It gives us good, flexible tweaking ablitity.

  • Oso3DOso3D Posts: 15,011

    Yep! And if you want the freckles to glow, or be metal, or ... whatever, you can go do that.

     

  • Yep! And if you want the freckles to glow, or be metal, or ... whatever, you can go do that.

     

    Metallic freckles may be useful for hair.  I will experiment.

  • Oso3DOso3D Posts: 15,011

    Working on 3DL version of the noise shaders. Here's one of the first results.

    Now, given I can only (easily) work with Daz standard shaders, these are going to miss a few things. Like, for example, no translucency or SSS. Still, when layered and similar, it should be useful.

    In this example, there's a second diffuse color that can be mixed in. (WT3P Color shader)

    With stuff where you really want SSS, the best approach will probably be regular shader + geo shell with WT3P Opacity (particularly various forms of dirt/grunge)

     

    WT3P Color test Splotchy Guy.png
    1080 x 1080 - 1M
  • Oso3DOso3D Posts: 15,011

    Two grunge layers on geoshells. The first is just an opacity map, 'dirty.' The second is opacity + bump, 'lumpy dirty.'

    When I wrap up the pack, these will be presets you can play with (make them more opaque, change scale, color, whatever)

    Weirdly, I found I had to put the geoshell offset at -.08 or it hovered visibly above the skin. Not sure why, but it's something to keep an eye on when using them.

     

    WT3P Opacity test Dirty.png
    1080 x 1080 - 1M
    WT3P Opacity test Lumpy Dirty.png
    1080 x 1080 - 1M
  • hphoenixhphoenix Posts: 1,335

    Will,

    In another thread, it was brought up the idea of providing a 'null' shader....something that would turn a surface effectively 'gone' (i.e., it would simply transmit 100%, no layers, no specular, no roughness, etc.) which would simplify Iray processing instead of the mess of trying to use cutout opacity (which doesn't automatically do that, as it still has other layers, specularity, and other things present in the Daz Iray Uber Shader.)

    It would be best in pure MDL, but it would be possible to do it in mixer with bricks as well.

    Any ideas on such a shader?

     

  • mjc1016mjc1016 Posts: 15,001
    hphoenix said:

    Will,

    In another thread, it was brought up the idea of providing a 'null' shader....something that would turn a surface effectively 'gone' (i.e., it would simply transmit 100%, no layers, no specular, no roughness, etc.) which would simplify Iray processing instead of the mess of trying to use cutout opacity (which doesn't automatically do that, as it still has other layers, specularity, and other things present in the Daz Iray Uber Shader.)

    It would be best in pure MDL, but it would be possible to do it in mixer with bricks as well.

    Any ideas on such a shader?

     

    Will's probably more familiar with SM and Iray bricks, than I am, right now...but I think it would be 'cleaner'/easier in MDL.  There doesn't seem to be  the right bricks to make it efficiently.  In SM you are pretty much tied to whats in the bricks and even if you don't expose controls, all the code is still there.

  • Oso3DOso3D Posts: 15,011

    I don't have the faintest idea. Heh

     

    Doing this stuff is very much stumbling around in the dark and trying to figure out what you hit

  • donovancolbertdonovancolbert Posts: 1,421
    edited January 2017

    Will, I see your shaders are "free for personal and commercial use." 

    Is there a way to use your shaders on an object, then turn that result into a texture, and if so would your permissions extend to redistributing that object, with the texture created from your shaders, as an independent package? 

    I'm probably way head of myself here - but I've made an "Art horse" easel, drawing board, clips and sheet of paper in Carrara, and I'm playing around with importing it into DAZ Studio. So far it is working pretty well, but I don't have any textures for the object so I've used your procedural wood shaders for the bench. It looks great. I suppose if it can't be done even if you would grant permission, the question is moot. I should probably just learn how to create my own textures before I start thinking about pubslihing any unique content I've created as a freebie. :) 

    I suppose I could just as easily distribute the object without any textures with a promo shot using your shaders and recommend and link to them. I'm really just interested in learning how to create textures for original content I create.

     

    Post edited by donovancolbert on
  • Oso3DOso3D Posts: 15,011

    I am fine with redistribution so long as you include some note about what the shader is and where people can freely get it.

     

  • Thanks. I'll be sure to give credit and a link if I actually figure out how to package and distribute it! Love your shaders - one of my new favorite tools. 

  • SyndarylSyndaryl Posts: 521

    Will, I'm getting a Missing Files error with Grung\Worn Edges, it's missing "runtime/textures/catharina_textures/pbs-vol-2-iray/organic/paint heavy machine_specular.jpg" apparently?

  • Oso3DOso3D Posts: 15,011

    Oh jeez. Yeah, ignore that, sorry.

    Just some random stuff I had added to make the surfaces look nice when I was playing with them. The worn edges should work without it.

     

  • Oso3DOso3D Posts: 15,011

    Also, I highly recommend downloading my new WTP3 and using 'WTP Base ColorBump Top Corners' instead; works way better for edges.

     

  • Conceptually I understand the difference between base, difusse, specular and sss... 

    But putting them all together, and fidgeting with the particular settings under each to get great results like your micropore example on the previous page of this thread still overwhelms me. 

    I feel like I just passed some threshhold of undertanding with this where I went from just figuring out the basics of DAZ to getting into some of the more complex possibilities. Did I just get really good at the basics of creating a decent render, or really bad at the intermediate level of creating a good one?

    I thought I posted this question somewhere... 

    To add something like rust to an item, what I would want to do is apply one of your base shaders to the object, say a sign post or metal bench... then add a geoshell, then add the rust shader to the geoshell? Is that right? Or is there a way to apply both shaders directly to the base object? When I apply rust, even if I ctrl-click and select "ignore surfaces," when I apply it, then the base layers disappear and I just get the cutouts. 

    I feel like I am missing understanding something there when it comes to applying multiple shaders to one object. 

  • Oso3DOso3D Posts: 15,011

    Heh.

    Base color/diffuse is basically the same thing, the painted 'color' of the object. Specular/glossy is how light reacts to the surface, glossiness and highlights. In a Glossy/specular shader, glossiness is (roughly speaking) how 'tight' the highlights are on the surface. Or, conversely, roughness (opposite of glossiness) is how much the renderer pretends there are lots of microscopic bumps on the surface so it's not a perfect mirror.

    Glossy color is a tint on reflected light. Most normal stuff 'shouldn't' have glossy color, because most objects don't change reflected light except through actually being a different color. (Weird surfaces, like felt, and metals may practically speaking use glossy color)

    Specular color affects how intense the highlights are. Sorta (I'm not 100% on all of this, either) Generally, metals have bright specular colors and everything else has very dark specular color.

     

    As for rust, it's specifically a shader that makes blobs of opaque bits around transparent bits. The reason I did it that way is that you can more easily apply it to a wide variety of weird surfaces without having to try to recreate the original thing.

    So if you have some sort of big warbot with different surfaces with striations or bolts or whatever... you can, most of the time, just add a geoshell and apply rust to the shell.

    It's not multiple shaders on one object, it's making a very slightly larger shell around the object, painting THAT, and letting bits of the underlying object show through.

     

Sign In or Register to comment.