3Delight Surface and Lighting Thread

1679111252

Comments

  • evilded777evilded777 Posts: 2,437
    edited December 1969

    @wowie you've done some great work there. Cheers.

  • Mustakettu85Mustakettu85 Posts: 2,933
    edited December 1969

    If you read the 3Delight manual you can see there is 3 ways to get shadows. But that is rather coding than math in two case (see page 134)

    1. By using transmission(), usually from a light source shader.
    2. By calling shadow() and passing ‘raytrace’ as a shadow map name.

    Thank you Takeo! Do you happen to know _for_sure_ if this can be done within ShaderBuilder, through its built-in functions?

    And thanks, but you needn't have bothered with Shader_Mixer_ - I'm fairly fluent with it, so I'd made an area light with shadows in SMixer already (first thing I did actually), but it's noticeably slower than the UberArea one (in DS3 and on my 32 bit machine, at least).



    I may write the tutorial at some time but as I see it there are many prerequisite that I must explain in order to make it understandable.


    Yes there's a lot, and that's exactly why it would be valuable. Not just because of the SSS techniques or lights - there are no advanced shading tutorials for DS users as of now, and there aren't that many users who could theoretically write one.
    But of course I understand why you'd be afraid =)


    I'd take it the reason you're using 0.1 is based on 3delight's manual. I think that's mostly for non-skin surfaces though. You need more than 0.1 to get scatter effects on things with volume.

    Hi Wowie,
    Yes certainly, I'm going from the manual... I don't like purposefully fighting with what the devs intended =D There's enough to fight already!

    You see, I guess that you and Takeo are getting awesome results with (ultra-capricious) ultra-translucent scales because you're both using only the most recent generation of figures, starting with V4, right? Then it may be possible to find some reliable "sweet spot" at the higher scale spectrum because DAZ figures have been modeled in a more or less consistent manner V4 onwards.

    But - if you, like me, were fond of older generations or of non-DAZ figures (think The Dude, Antonia etc), you would notice that ultra-translucent scales are seriously dependent on the model geometry. You can feed the exact same settings at higher scales to The Girl3 and The Dude and have them look different in the same scene. You can Sub-D Antonia without changing anything else and get a completely different SSS effect.

    This is SO annoying, I gotta tell you...

    This is why I am going with the physically correct scale because it offers much, much more consistency between all the differently quirky models out there (not tiny figurines that the render engine sees but full-scale "people" - imagine if you were making a real-world tabletop figurine vs a lifesize statue, which one would need more polishing due to how small surface imperfections are perceived at its scale? A similar effect in play here)

    And I'm not sure what you mean about "things with volume" - the way I understand scientific images like the one here, the bulk of the scatter happens within a 3 mm depth in skin, am I not right?
    http://orion.bme.columbia.edu/~hillman/Skin_Imaging.html

    If you look at the renders attached, even the original UberSurface that has no backscatter boost is still capable of more or less convincing translucent ears at the 0.1 scale. UberSurface2 definitely fares better - since a ) it has backscatter boost; b ) it has better controls (those "strengths" of scatter and absorption should be in theory be actual depths).

    The specular effects in these renders of mine are definitely "meh" because these are literally quick tests - I'm at work right now... and good specular is at least as important as good SSS, IMO.
    BUT I literally didn't finetune the settings for the figure or texture - I just followed my own written guidelines established in experiments with older generation figures in DS3! So, I find I have a good basis for further enhancement.

    Just goes to show how many ways there are to arrive at a destination LOL


    If using a SSS strength map doesn't work, you could also use the same map as a diffuse strength map. The cumulative effect should really be quite dark. The SSS map should use 0 (pure black) for those parts you don't want to have SSS and white for everything else.

    Here's a sphere with two different maps, plugged everywhere (only diffuse and SSS active), multiplying 0 by 0 several times =) You can see that yeah, it's dark, but nothing really negates the scatter.
    So, I will be sticking with layered shaders for makeup - and geometry shells seem to be indeed the way to add more layers with the least hassle, but I need more tests.

    multiply.png
    1242 x 721 - 1M
    genesismale_jeremy_ubersurface2_quickSSS.png
    1852 x 789 - 1M
    genesismale_jeremy_ubersurface_quickSSS.png
    1744 x 793 - 1M
  • wowiewowie Posts: 2,029
    edited December 1969


    Hi Wowie,
    Yes certainly, I'm going from the manual... I don't like purposefully fighting with what the devs intended =D There's enough to fight already!

    You see, I guess that you and Takeo are getting awesome results with (ultra-capricious) ultra-translucent scales because you're both using only the most recent generation of figures, starting with V4, right? Then it may be possible to find some reliable "sweet spot" at the higher scale spectrum because DAZ figures have been modeled in a more or less consistent manner V4 onwards.

    But - if you, like me, were fond of older generations or of non-DAZ figures (think The Dude, Antonia etc), you would notice that ultra-translucent scales are seriously dependent on the model geometry. You can feed the exact same settings at higher scales to The Girl3 and The Dude and have them look different in the same scene. You can Sub-D Antonia without changing anything else and get a completely different SSS effect.


    Actually, that same problem still exists (somewhat) even with newer models. If i used the same preset on M6/G2M with V6/G2F without some adjustments, the ears look downright wrong - too much scatter, not enough absorption. So, you do have to manually adjust the subscatter scale for each model. Strangely enough, I notice it is more 'pronounced' with Genesis/Genesis2 texture sets compared to Gen4 sets.


    So, I will be sticking with layered shaders for makeup - and geometry shells seem to be indeed the way to add more layers with the least hassle, but I need more tests.

    That would work too. You can enable the second diffuse channel with US2. Just split the strength percentage between the two (if you use the additive blend mode). I've found that you can enable very strong translucence values and still maintain most of the diffuse texture details this way. Plus, you can have different diffuse roughness for each layer.

    Oh yeah about geometry shells. Does it always be on the outside of the mesh (envelopes it) or can it be made inside the model/figure? If it can be done, I wonder if it all possible to use it to block scatter just like in real life. That would be cool.

  • wowiewowie Posts: 2,029
    edited December 1969


    And I'm not sure what you mean about "things with volume" - the way I understand scientific images like the one here, the bulk of the scatter happens within a 3 mm depth in skin, am I not right?

    Have you taken the curvature of the shapes into account? A good place to see this effect is the nose, viewed from the side.
    I've attached renders with SSS scale set to 1, 2, 4 and 8 with the default backscatter value (2) so it will more pronounced.

    As you can see, you'll notice translucence at about 4. 8 which is what I used before overdoes it.

    8.jpg
    800 x 1040 - 148K
    4.jpg
    800 x 1040 - 147K
    2.jpg
    800 x 1040 - 147K
    1.jpg
    800 x 1040 - 148K
  • Mustakettu85Mustakettu85 Posts: 2,933
    edited December 1969

    wowie said:

    Actually, that same problem still exists (somewhat) even with newer models.

    So you can imagine what a hassle it might become...

    wowie said:
    You can enable the second diffuse channel with US2. Just split the strength percentage between the two (if you use the additive blend mode).

    I generally use the additive model for layering specular channels, and for makeup or eyebrows I use masked multiply. Too bad there is no way to make different parts of the top layer use different models.



    Oh yeah about geometry shells. Does it always be on the outside of the mesh (envelopes it) or can it be made inside the model/figure? If it can be done, I wonder if it all possible to use it to block scatter just like in real life. That would be cool....
    ...
    A good place to see this effect is the nose, viewed from the side.
    ...

    Right now I'm on my mother's computer that has no DS, so I can't test, but I'd say it might well be possible to set the shell to be inside, just from the look of its controls (making the offset negative).

    The thing is, I can't personally see much use for that apart from maybe a hands-over-light-source type of situation - when the backlight is sufficiently strong for bones to actually matter.

    Again, may I humbly refer you to the link found in one of my previous posts? http://orion.bme.columbia.edu/~hillman/Skin_Imaging.html
    The way I understand this, scatter is generally not too much influenced by structures underlying the skin because they're too deep for that.
    If there are any doctors or any other similar professionals lurking here, would they be so kind as to please speak up and confirm or correct this?

    On the other hand... given that the higher-scale renders you posted seem to look kinda a bit too translucent in the nose region, maybe you do need some artificial "scatter block" at those scales. Hard to say; as I wrote, I gave up on trying to get anything useful out of them long ago.

    I'm looking at my mother's profile right now who is sitting across the table from me, against a pretty bright lamp in a darkish room here (it's night here in Moscow, Russia), and any backlight-generated scatter is confined to the first few millimeters of the outline of her profile; it doesn't really seem to spread that much into the nose wings as in the renders you posted... Same with my hands when I put them against this lamp. My phone can't capture good photos in dim light, so you'll have to take my word for that that it all looks quite similar to that backlit render I posted here a few months ago... here it is: http://www.daz3d.com/forums/discussion/21611/P30/#318738 - it's the 0.1 scale. If you look at the hands and nose in that render, this is basically what I'm seeing right now IRL.

    So I think, for "my" scale, there isn't really a reason to try and insert a "skeleton" inside the figure, but unfortunately I can't say if it might work for you. You should probably just give it a try =)

    And here's what I forgot to reply to from one of your previous posts...

    I also see there's a max ray depth for reflections, but haven't figured out what settings will avoid picking up nearby surfaces. I hate using mapped reflections.

    Unfortunately max raytrace depth won't help you with controlling what surfaces get reflected, it's just to control the number of bounces (reflections of reflections, when you put two mirrors against each other). What you would need is raytrace distance, but I don't think Omnifreaker's shaders have it (can't recall if AoA's shaders have it either). If you look at ShaderMixer, there is a "Trace" brick which provides raytraced reflections, and it does have the distance parameter. It can't be attached to omnifreaker's shaders, though.

  • Jim_1831252Jim_1831252 Posts: 728
    edited December 1969

    Always great stuff going on in here. Thanks to Mustakettu85, your SSS method was a lot of fun to try out. I'd seen work done with desaturated diffuse textures before but having your shader configuration there made it too good to pass up. I had to tweak the diffuse and specular a little but it was a great starting point. Full size image is here http://www.daz3d.com/gallery/#images/14948/

    Dan_final_small.jpg
    960 x 800 - 48K
  • Mustakettu85Mustakettu85 Posts: 2,933
    edited December 1969

    jimzombie said:
    Thanks to Mustakettu85, your SSS method was a lot of fun to try out. I'd seen work done with desaturated diffuse textures before but having your shader configuration there made it too good to pass up. I had to tweak the diffuse and specular a little but it was a great starting point. Full size image is here http://www.daz3d.com/gallery/#images/14948/

    Thank Jim! I'm glad you found the technique useful, that's an awesome render! And yeah, diffuse and specular are that devil that is in the details, these are what needs the most tweaking from texture to texture, in my experience.

  • wowiewowie Posts: 2,029
    edited December 1969

    Speaking of diffuse and specular, I found these little bits of goodies.

    http://filmicgames.com/archives/233 - How To Split Specular And Diffuse In Real Images
    http://filmicgames.com/archives/547 - Everything is Shiny
    http://filmicgames.com/archives/557 - Everything has Fresnel

    Should help all of us understand physical materials better.

  • Mustakettu85Mustakettu85 Posts: 2,933
    edited December 2013

    wowie said:
    Speaking of diffuse and specular, I found these little bits of goodies.

    http://filmicgames.com/archives/233 - How To Split Specular And Diffuse In Real Images
    http://filmicgames.com/archives/547 - Everything is Shiny
    http://filmicgames.com/archives/557 - Everything has Fresnel

    Thanks a lot for bringing these up! These articles are brilliant. Especially the Fresnel one. Revolutionarised my understanding of things when I first came across it.

    There's a quote I keep seeing around which goes, "The brain of the shader is fresnel , but the heart is the artist himself" by Goran Vinterhalter.

    PS And then there's this which is also fairly valuable, concept-wise: http://gl.ict.usc.edu/Research/DigitalEmily/

    Post edited by Mustakettu85 on
  • wowiewowie Posts: 2,029
    edited December 1969


    Thanks a lot for bringing these up! These articles are brilliant. Especially the Fresnel one. Revolutionarised my understanding of things when I first came across it.

    There's a quote I keep seeing around which goes, "The brain of the shader is fresnel , but the heart is the artist himself" by Goran Vinterhalter.

    PS And then there's this which is also fairly valuable, concept-wise: http://gl.ict.usc.edu/Research/DigitalEmily/

    You're welcome.

    Been experimenting a bit with a very soft lighting setup. Tweaked the skin setup a lot these past few days, primarily trying to get somewhere close to what a typical photo session would look like.

    I once thought getting skin right or believable is tough. Hair is definitely tougher.

    1.jpg
    800 x 1040 - 418K
  • Mustakettu85Mustakettu85 Posts: 2,933
    edited December 2013

    wowie said:

    I once thought getting skin right or believable is tough. Hair is definitely tougher.

    Yeah, transmapped hair is tricky.
    Are you using anisotropic specular? I found it helps a lot with transmapped hair.

    Then, take a look at the omnifreaker's wiki page for UberSurface - http://omnifreaker.com/index.php?title=UberSurface - scroll down for "Tips and tricks".

    Here's a render with this hair - http://www.daz3d.com/leah-hair - the texture is mine and needs more work, though. Unfortunately I don't have the scene handy, but the parameters should be somewhere in the region of glossiness 70% for the first specular (I make it the coloured one) and roughness 90% for the second one (the white one).

    leah_hair_Mk85_only.png
    684 x 900 - 353K
    Post edited by Mustakettu85 on
  • wowiewowie Posts: 2,029
    edited December 2013


    Yeah, transmapped hair is tricky.
    Are you using anisotropic specular? I found it helps a lot with transmapped hair.

    Then, take a look at the omnifreaker's wiki page for UberSurface - http://omnifreaker.com/index.php?title=UberSurface - scroll down for "Tips and tricks".

    Here's a render with this hair - http://www.daz3d.com/leah-hair - the texture is mine and needs more work, though. Unfortunately I don't have the scene handy, but the parameters should be somewhere in the region of glossiness 70% for the first specular (I make it the coloured one) and roughness 90% for the second one (the white one).

    Btw, here's something I've discovered recently - http://disney-animation.s3.amazonaws.com/library/s2012_pbs_disney_brdf_slides_v2.pdf
    Interesting read - shows just how each model we generally know don't even come close to true measurements.

    Well, it's not the specular I'm most concerned about. Most of the available hair models generally comes with baked in specular :(

    It's getting translucence and volume so it doesn't look (too) fake. What I've done so far is fiddle with opacity color, transluency and velvet. I did try using the diffuse on the second layer of US2, but it doesn't seem to honor opacity maps so no go there. Haven't tried SSS yet, but I want to avoid using that if possible.

    I did scale back on the opacity color levels. Going below 160 makes the hair too transparent and you can see all the way through. I left occlusion enabled, since it gives a darker shade near the skull/head.

    Below is my current hair setup. Second render is with both specular enabled with anisotropy.

    Oh yeah. Do anyone notice that when using lower SSS scale you need to bump up SSS shading rate when the object is further? For instance, I got some noise when rendering G2M/G2F head to toe with SSS scale 0.5 and SSS shading rate of 4. I need to bump it up to 2 or 1 at that distance.

    Hair2.png
    800 x 1040 - 988K
    Hair1.png
    800 x 1040 - 971K
    Post edited by wowie on
  • Mustakettu85Mustakettu85 Posts: 2,933
    edited December 1969

    wowie said:

    Btw, here's something I've discovered recently - http://disney-animation.s3.amazonaws.com/library/s2012_pbs_disney_brdf_slides_v2.pdf
    Interesting read - shows just how each model we generally know don't even come close to true measurements.

    Yeah, cool stuff there, thanks =) It's interesting how they have that "intuitive rather than physical" parameter principle. I'm not really sure how I feel about it because it makes me think of, say, omnifreaker's Fresnel falloff parameter - on the one hand, it's fairly easy to eyeball (=intuitive, I guess); on the other hand, sometimes you do want something less subjective...


    wowie said:
    Most of the available hair models generally comes with baked in specular :(

    Way too many, that's true. But if their UV mapping works well with omnifreaker's anisotropy and the bump map is good, it's often possible to ditch those painted diffuse maps whatsoever, by using the bump map as the diffuse colour map and multiplying it with a desired shade (won't do the "ombre" look, though, but then it's possible to pre-multiply the bump map with a gradient fill in an image editor).

    I mean, "works well" if the strands are mapped up consistently vertically or horisontally, since anisotropy is dependent on the UV (so it should be set to "U" when the strands are vertical on the texture and the other way around). There are some models which have some parts UV mapped at an angle, and then anisotropic highlights tend to look wrong either way. Grrr.

    wowie said:
    It's getting translucence and volume so it doesn't look (too) fake.

    It's the most difficult thing to achieve with transmapped hair, indeed. Have you tried using a spotlight to specifically backlight the hair? I know it works fairly well with "strand"-based hair (like fibermesh etc) when you get the actual translucency parameter right; but with transmapped geometry, I'm not so sure... still worth a try, probably.

    And how do you use velvet for hair?


    I did try using the diffuse on the second layer of US2, but it doesn't seem to honor opacity maps so no go there.

    Not even if you use the "mask" layer blending mode with the opacity map as the mask?

    Haven't tried SSS yet, but I want to avoid using that if possible.

    Yeah, that would probably be too time-consuming during rendering. But maybe, just maybe, at some super-translucent scale and super high shading rate... I'm just not sure it would work well on a non-closed geometry? After all, hair models are made out of planes...


    I left occlusion enabled, since it gives a darker shade near the skull/head.

    Have you seen these threads about "phantom shielding" hair? Gotta be faster than just leaving AO on:

    http://forumarchive.daz3d.com/viewtopic.php?t=179165&highlight;=
    http://www.daz3d.com/forums/discussion/4949/

  • wowiewowie Posts: 2,029
    edited December 1969


    It's the most difficult thing to achieve with transmapped hair, indeed. Have you tried using a spotlight to specifically backlight the hair? I know it works fairly well with "strand"-based hair (like fibermesh etc) when you get the actual translucency parameter right; but with transmapped geometry, I'm not so sure... still worth a try, probably.

    And how do you use velvet for hair?

    I rather not use another light just for the hair. What I want is to replicate the phenomenon as much as I can with the shader and have it behave like everything else in the scene. Basically, I'm balancing the opacity color settings, making the hair that's 'outside' of the hair mass more transparent and then adding some of diffuse back for those particular areas with velvet.


    Not even if you use the "mask" layer blending mode with the opacity map as the mask?

    Haven' t tried that. I completely forget about using the opacity map as a blend mask. It'll probably work.


    Yeah, that would probably be too time-consuming during rendering. But maybe, just maybe, at some super-translucent scale and super high shading rate... I'm just not sure it would work well on a non-closed geometry? After all, hair models are made out of planes...

    Well, given enough time and effort, you will find a setting that works well with 3delight. But you'd probably can get it done much faster with other render engines.


    Have you seen these threads about "phantom shielding" hair? Gotta be faster than just leaving AO on:

    Ah yes, the geometry shell thing. But the thing is, I actually want to use AO on the hair, since there is no other way to have the skull cap or part of the strands near the skull cap darker than the outer 'edges' of the hair mass. If you turn off AO, then you'll lose that and the hair looks uniformly bright.

  • Mustakettu85Mustakettu85 Posts: 2,933
    edited December 1969

    wowie said:

    Oh yeah. Do anyone notice that when using lower SSS scale you need to bump up (quality-wise - Mk85) SSS shading rate when the object is further?

    Yes, you're totally right. That's the way it's supposed to work, and not just with SSS.

    Shading rate is defined as follows:
    "A value of one will shade once per pixel, a value of 10 will shade every 10th pixel and a value less than one will shade that one pixel more than once (and it will break the micropolygons down even smaller than a pixel -which can be useful when displacement mapping).
    As shading rate is done in raster space (screen space) the larger your object is in the scene the more it will be sampled, the further away it goes the less “hits” it will get and thus it will be sampled less.
    "
    Source: http://renderman.pixar.com/view/overview-of-the-render-settings

    The way I usually put it, think of shading rate as your paintbrush diameter. When you paint objects that look small in your scene, you will want to use a finer brush.

    This is why for better shading of either faraway objects or very small details, you would use higher-quality shading rate, set up within individual shaders or in your general render settings.


    wowie said:
    Basically, I'm balancing the opacity color settings, making the hair that's 'outside' of the hair mass more transparent and then adding some of diffuse back for those particular areas with velvet.

    Aha, I see, thanks for explaining. So what you are doing is somewhat akin to what hairdressers do when the client has fine hair, and not a lot of it, but wants more "depth" to their style. They usually add lowlights (darker colours) to the bottommost layers and closer to the roots, and highlights (lighter colours) to the ends of the hair and top layers.

    You could also do the same to the diffuse maps of your model, painting the roots darker and the ends in more varied shades of blonde (especially if the model has surface groups for different layers, then you can make different maps for each).

    I think that you might also employ the ambient channel. Yes it's a non-physical trick, but transmapped hair models are anything but physically realistic. The way I see it - if the actual UV mapping is conducive to this, of course - you could apply the diffuse map as the ambient colour and roll a gradient ambient strength map in an image editor, so that only the very ends of the hair will receive additional brightness, as if they were catching light. Ambient is the go-to way for rough simulation of scatter, so it might work in this case, too.



    Well, given enough time and effort, you will find a setting that works well with 3delight. But you'd probably can get it done much faster with other render engines.

    I'm not sure it's a render-engine dependent problem. I'd say the root of the issue is that transmapped hair models are, by definition, a very rough approximation of real hair. The limits are set by actual model geometry and the texture maps applied; both are equally important IMO.


    I actually want to use AO on the hair, since there is no other way to have the skull cap or part of the strands near the skull cap darker than the outer 'edges' of the hair mass. If you turn off AO, then you'll lose that and the hair looks uniformly bright.

    Well, you should probably read the topics I linked to more carefully - this is exactly the effect the author of the technique is after, but the innovative side to the technique is that it allows for significant speed gain. Why? Because you are only occluding the clone of your hairstyle, and the clone does not have opacity maps applied (= faster AO calculations). The clone is set to "phantom" mode - so that it is invisible in render, but the shadows and AO it receives are visible. Give it a try, I'm sure you are going to appreciate it =)


    ...and a happy upcoming New Year everyone! =)

  • wowiewowie Posts: 2,029
    edited December 2013


    Well, you should probably read the topics I linked to more carefully - this is exactly the effect the author of the technique is after, but the innovative side to the technique is that it allows for significant speed gain. Why? Because you are only occluding the clone of your hairstyle, and the clone does not have opacity maps applied (= faster AO calculations). The clone is set to "phantom" mode - so that it is invisible in render, but the shadows and AO it receives are visible. Give it a try, I'm sure you are going to appreciate it =)

    I understand the technique, but the resulting look is not what I wanted. As I said before, it produces uniform brightness and I want darker areas between the strands/clumps of hair from AO. Just look at wiseavatar's first image at the topic you linked.

    I have tried doing a mix blend with opacity maps as a blend mask. It does produce the look I want - translucence on the rim areas of the hair mass and a better blend the hair mass and the translucent strands. The blend strength needs to be something like 50 % and I can go as low as 1/4 of the opacity color so translucence appears stronger. The downside is render times goes way up.

    Here's a comparison render between using AO but shading rate to 128 (second image) and another with the geometry shell trick (first image). Render times with a Core i7 4770 for the geometry shell trick is about 1 minutes and for the shading rate override is about 4 minutes. There are some differences like color, opacity problems.

    Hair2_2.jpg
    800 x 1040 - 104K
    Hair1_1.jpg
    800 x 1040 - 109K
    Post edited by wowie on
  • mjc1016mjc1016 Posts: 15,001
    edited December 1969

    And basically, the hit on render times is why trans mapped hair is not the best way of approaching things. You can get AO on transmapped hair without using the 'fantom' setting of UE2, but you are then off into the land of incredibly long render times (even longer than Luxrender times...), and that is even with the various speed increases in the last several versions of 3Delight.

    A couple of the other problems with transmapped hair are what you really are dealing with are a bunch of flat planes, bent, twisted and otherwise arrayed on a basically spherical item. This makes it difficult to actually shade them, because there UV maps may indicate one direction, the geometry another and what it looks like a third, with transparency map cutting it all into little pieces, so that even a custom shader that will do AO, have the diffuse, transparency and translucency is nearly impossible to achieve.

    And that's why curve based hair (LAMH/Garibaldi for D/S) and other 'hair systems' for other apps are the current 'state of the art' . They have none of the drawbacks of transmapping hair and don't have the 'weight' of geometry based strand hair. They are incredibly fast to render and rather easy to shade...realistically, too.

  • wowiewowie Posts: 2,029
    edited December 2013

    This is an example of the look I'm trying to get. I did this with US2 blend mask and the second layer diffuse. The effect is exaggerated and isn't quite right. I probably need to balance the blend mask strength and opacity color so it's darker where the light is blocked. Render time with this setting is 10 minutes 25 seconds (about 2.5 times the shading override render).

    Hair4_1.jpg
    800 x 1040 - 73K
    Hair3_1.jpg
    800 x 1040 - 85K
    Post edited by wowie on
  • wowiewowie Posts: 2,029
    edited December 1969

    I've played around a bit with the mask settings. Multiply with an adjusted opacity color seems to work best. Renders faster too (about 8 minutes) compared to blend mask mode. So, I'll think I'll stick with this one. Adding a geometry shell generally throws off translucence and opacity settings, though it is faster.

    Multiply_1.jpg
    800 x 1040 - 79K
    Blend_1.jpg
    800 x 1040 - 77K
  • Mustakettu85Mustakettu85 Posts: 2,933
    edited December 1969

    wowie said:

    Here's a comparison render between using AO but shading rate to 128 (second image) and another with the geometry shell trick (first image). Render times with a Core i7 4770 for the geometry shell trick is about 1 minutes and for the shading rate override is about 4 minutes. There are some differences like color, opacity problems.

    Alright, I'm sorry, I see now. So you want that sort of definition...
    I'm thinking now about whether it would be possible to bake an AO map in something like xNormal... an AO map you could bake once and then just multiply within the shader. Probably not, if the hair model is mapped like they are usually mapped.

    Have you ever given the plugins mjc1016 mentions a chance? I know neither LAMH or Garibaldi work in DS3, but they can export .OBJ files. Those .OBJ files are generally quite large, but they next to always render faster than transmapped stuff. The trick is, though, to first actually make the hairstyle and then find the best options for exporting the .OBJ...
    Maybe that's just me, but I find that for shorter styles, even the most "crude" geometry-based strand models look more "natural" (and are infinitely easier to shade). When it's not a closeup, they look even better than transmapped ones, IMO.
    Here's one of my favourite models on the market - http://www.most-digital-creations.com/short_hair_v4_poser_daz_studio.htm
    And a render of mine: http://mustakettu85.deviantart.com/art/Turning-tables-318537126

    However, I won't know if this model is going to look good blonde because I don't really do blonde =D

  • wowiewowie Posts: 2,029
    edited December 2013


    Alright, I'm sorry, I see now. So you want that sort of definition...
    I'm thinking now about whether it would be possible to bake an AO map in something like xNormal... an AO map you could bake once and then just multiply within the shader. Probably not, if the hair model is mapped like they are usually mapped.

    No need to apologize. Baking can be done with DS. You don't need xNormal to do that.


    Have you ever given the plugins mjc1016 mentions a chance? I know neither LAMH or Garibaldi work in DS3, but they can export .OBJ files. Those .OBJ files are generally quite large, but they next to always render faster than transmapped stuff. The trick is, though, to first actually make the hairstyle and then find the best options for exporting the .OBJ...
    Maybe that's just me, but I find that for shorter styles, even the most "crude" geometry-based strand models look more "natural" (and are infinitely easier to shade). When it's not a closeup, they look even better than transmapped ones, IMO.
    Here's one of my favourite models on the market - http://www.most-digital-creations.com/short_hair_v4_poser_daz_studio.htm
    And a render of mine: http://mustakettu85.deviantart.com/art/Turning-tables-318537126

    I've seen LAMH and Garibaldi. They can look good but unfortunately the hair is still static. It will work with short hair, but I don't think it will be as good as strand based, dynamic hair. That's one of the reason I got Carrara a while back. I still haven't wrapped my head around the way Carrara handles material though.

    Post edited by wowie on
  • mjc1016mjc1016 Posts: 15,001
    edited December 1969

    When DS gets a physics engine, Garibaldi and LAMH should be dynamic...the functionality is built into the curve system used, it's just that there is no way of actually using it. There should be ways of 'faking' it with deformers, but I haven't tried it....

  • wowiewowie Posts: 2,029
    edited December 1969

    mjc1016 said:
    When DS gets a physics engine, Garibaldi and LAMH should be dynamic...the functionality is built into the curve system used, it's just that there is no way of actually using it. There should be ways of 'faking' it with deformers, but I haven't tried it....

    Before DAZ introduce physics to DS, I'd like them to fix issues with IK and the timeline editor first. And make them work with each other. For example, where IK is honored when editing a key in Graphmate or timeline graph editor.

    I think deformers or morphs are not the right way to control hair. Deformers and morphs will, well, deform the geometry rather than control it. I did try rigging a hair model with bones once. Did it with a transmapped plane but the geometry can be replaced with strands from OBJ import. But it's nowhere near as flexible as full dynamic hair. I do love how I can tightly control the way the hair moves and flows though.

  • wowiewowie Posts: 2,029
    edited January 2014

    Some more test with another hair model - the End of Summer Hair.

    The render with shading rate override took about 3 minutes (third pic). If I use a geometry shell for the hair and turn off occlusion, cast shadows and accept shadows for the hair, render time is 2 minutes but the hair is uniformly lit (second pic - no shadows). Turning on accept shadows on the hair and cast shadows on the shell brought the render time back to something like 2 minutes 40 seconds (first pic).

    Hair5_1.jpg
    800 x 1040 - 88K
    Hair2_1.jpg
    800 x 1040 - 89K
    Hair1_1.jpg
    800 x 1040 - 89K
    Post edited by wowie on
  • wowiewowie Posts: 2,029
    edited December 1969

    Did some more experiments. I tried using geometry shell to block SSS but that didn't work. The SSS precomputation isn't aware of the geometry shell.

    Then I started playing with gamma correction. I think this is a big part of the puzzle. With gamma correction enabled in the render option, the best combination seems to be 0.8/2.0 (gain/gamma). Below are renders without SSS with three settings - 1/1.8, 0.8/2.0 and 0.6/2.2.

    2.2_0_.6_1_.jpg
    800 x 1040 - 79K
    2.0_0_.8_1_.jpg
    800 x 1040 - 86K
    1.8_1_1_.jpg
    800 x 1040 - 95K
  • Takeo.KenseiTakeo.Kensei Posts: 1,303
    edited December 1969

    @Wowie : I did some experiments with hair some time ago but wasn't satisfied

    getting transmapped hairs to be translucent is quite tricky as the calculations are on a surface instead of some small little tubes like with Garibaldi's or Lahm's plugin

    I remember I played with opacity and SSS but that is not quite convincing.
    I didn't play with the anisotropy parameter but that should be the way to go. However even with that you have to rely on very good maps especially having good baked in specular effect.

    As I rather play with Blender theses days I can tell you it is easier to get something good with curve/ribbon hairs
    In blender you have a lot of options to shape your hairs. I don't think the Garibaldi and Lahm are as much advanced but you should have some control over the shape as you can comb them. So you can simulate some dynamic effect by shaping the hairs in the position you would like them to be. No need for dynamics for that

    If you want to give it a try, you can get Lahm player which is free and get some static hair presets. you can't do a lot with them except render and a bit of shader tweaking. But it can give you an idea of what you can get

  • wowiewowie Posts: 2,029
    edited January 2014


    I remember I played with opacity and SSS but that is not quite convincing.
    I didn't play with the anisotropy parameter but that should be the way to go. However even with that you have to rely on very good maps especially having good baked in specular effect.

    As I rather play with Blender theses days I can tell you it is easier to get something good with curve/ribbon hairs
    In blender you have a lot of options to shape your hairs. I don't think the Garibaldi and Lahm are as much advanced but you should have some control over the shape as you can comb them. So you can simulate some dynamic effect by shaping the hairs in the position you would like them to be. No need for dynamics for that

    If you want to give it a try, you can get Lahm player which is free and get some static hair presets. you can't do a lot with them except render and a bit of shader tweaking. But it can give you an idea of what you can get

    For stills maybe. I'm generally interested in a solution that works on both stills and animation. It's not possible with DS (yet) but it's something that can be achieved with Carrara.

    Something like this - http://www.youtube.com/watch?v=nLn1DQmsR6U&html5=1

    Post edited by wowie on
  • Mustakettu85Mustakettu85 Posts: 2,933
    edited December 1969


    However even with that you have to rely on very good maps especially having good baked in specular effect.


    Hi Takeo, hope you've had a nice New Year/Chrismas/whatever celebration! What do you mean about "good baked in specular"? Something like Valea used to do? (maybe she still does, I'm just not using anyone's default presets anymore LOL)
    I remember her older hair models like Melody had fairly impressive specular strength maps that managed to fake the anisotropy rather well even when using DS default shader.



    I don't think the Garibaldi and Lahm are as much advanced


    I have them both now, and they are flexible enough for creating most styles apart from complex braids IMO. But then, it helps to have working knowledge of how to cut and style actual hair, so I can't really speak for everyone...

    --------

    wowie said:

    Baking can be done with DS. You don't need xNormal to do that.


    Yeah, that's right. I keep forgetting DS is supposed to be able to do this because I never tried. In your experience, how good is it at it?



    I still haven't wrapped my head around the way Carrara handles material though.

    Just in case, the folks over there on the Carrara forums are super friendly, knowledgeable and helpful. And Carrara's engine is really capable as far as materials go. It has some badly documented issues, like the one I ran into, with rendering volumetrics (even fake volumetrics) in the presence of opacity maps, but some stuff is done very easily in Carrara compared to what we have in DS now.
    Take a look at the example of a sort of an impure crystal material I whipped up in about 15 mins: the "transparency" shader is very very neat.



    I did try rigging a hair model with bones once. Did it with a transmapped plane but the geometry can be replaced with strands from OBJ import.

    Interesting! Did you rig it the old way or through weightmapping?



    With gamma correction enabled in the render option, the best combination seems to be 0.8/2.0 (gain/gamma). Below are renders without SSS with three settings - 1/1.8, 0.8/2.0 and 0.6/2.2.

    Looks good! But would the gamma change affect all the other materials?


    --------

    And I did some SBuilder wrestling during the winter holidays, so here's how I put the shadows into dzAreaLights using transmission from the surface back to the light. Basically I did not find the way to refer to the point on the light-casting surface, so it's calculated here from the L light vector and the surface position, according to linear algebra. It seems to be faster than just putting a shadow construct there set to raytracing. I haven´t yet properly tested this against UberArea lights either, but it is definitely faster than SMixer area lights with shadows, and as the dzArea lights do have spec/diffuse only modifiers (that UberArea ones don't have), I will be using them.
    I wonder if they would be legally redistributable in actual compiled form, though... Does anyone know?

    dzAreaLight+TransmissionShadow.png
    1027 x 729 - 117K
    carrara_transparency_shader.png
    994 x 582 - 243K
  • wowiewowie Posts: 2,029
    edited January 2014


    Yeah, that's right. I keep forgetting DS is supposed to be able to do this because I never tried. In your experience, how good is it at it?

    Ii always crashes the app in DS3. Haven't tried it in DS4 so I don't know. AoA mentioned it in SubSurface tutorial vid so I'm guessing it works the way it supposed to now.


    Interesting! Did you rig it the old way or through weightmapping?

    It was a legacy rig since I did that in DS3 with the Figure Setup Tool. Unfortunately the .CR2 Exporter in DS4 isn't able to export some of the ERC code I use to control the hair length (toggling a node's visibility rather than adjusting scale). I might just revisit that again after I'm done with something I'm cooking for G2M.


    Looks good! But would the gamma change affect all the other materials?

    Yup, but probably not that much. I started with my old preset and most of it transferred fine. Then I boosted the value for the lights since the results were very dark. I was using values of around 100 to 200 percent, but with the gamma change I have to go all the way to 800 to 1300 percent. So in effect, enabling gamma correction allows you to have much more range and precision in lighting. From the results, I'd say enabling gamma correction for the textures also allows you to better maintain texture saturation compared to just using gain/gamma alone.

    Edit: A full torso shot of M6 with Bjorn texture. No SSS yet. I removed some of the redness from earlier on and want to have it enabled with SSS (rather than tweaking the diffuse colors).


    SurferDude2_1.jpg
    800 x 1040 - 93K
    SurferDude1_1.jpg
    800 x 1040 - 96K
    Post edited by wowie on
  • Takeo.KenseiTakeo.Kensei Posts: 1,303
    edited January 2014


    However even with that you have to rely on very good maps especially having good baked in specular effect.


    Hi Takeo, hope you've had a nice New Year/Chrismas/whatever celebration! What do you mean about "good baked in specular"? Something like Valea used to do? (maybe she still does, I'm just not using anyone's default presets anymore LOL)
    I remember her older hair models like Melody had fairly impressive specular strength maps that managed to fake the anisotropy rather well even when using DS default shader.

    My bad, sorry I meant specular maps. But yes that seem to be what I was thinking. One thing to be aware is that you can't expect that to react realistic. I don't know if I should play again with that as it can be frustrating



    I don't think the Garibaldi and Lahm are as much advanced

    I have them both now, and they are flexible enough for creating most styles apart from complex braids IMO. But then, it helps to have working knowledge of how to cut and style actual hair, so I can't really speak for everyone...

    I watched a video of Lahm long time ago (last year or more) and the system is taken from Maya Shave and Haircuts if I'm not mistaken. Blender has the same. What you can do in Blender (and in Maya too I guess) and that is missing is everything related to physics. I also think the shaders are somewhat limited compared to what you can design in the two others but that already give great possibility to model whatever hair you could have in mind. I have fun making some hair but I often think it's like playing Barbie when I comb

    I didn't play a lot with DS lately but I'll give a try to your Arealight network. I find it strange just looking at it, but I think it is better to test it to know


    Post edited by Takeo.Kensei on
Sign In or Register to comment.