Fiddling with Iray skin settings...

1242527293091

Comments

  • AndyGrimmAndyGrimm Posts: 910
    edited December 2015

    Arnold C. Morning smiley

    i miss a formula how to calculate "reflectivity" amount in a PBR metalicity workflow with (metalicity on zero)... can you guide me on a ressource? 

    getting the specular color from IOR and opposite is clear...   but from where comes the reflectivity amount which me must set manualy in base? 

     

    Post edited by AndyGrimm on
  • Arnold CArnold C Posts: 740
    edited December 2015
    AndyGrimm said:

    Arnold C. Morning smiley

    i miss a formula how to calculate "reflectivity" amount in a PBR metalicity workflow with (metalicity on zero)... can you guide me on a ressource? 

    getting the specular color from IOR and opposite is clear...   but from where comes the reflectivity amount which me must set manualy in base? 

    Moin, Andy. smiley

    Yeah, me, too. laugh

    Currently digging (again) in the MDL documentation what DAZ's "Reflectivity" parameter stands for. In NVIDIA MDL, "reflectivity" is mentioned only in reference to the Top Coat Curve 0 and Top Coat Curve 90 parameters of the Custom Curve "Top Coat Layering Mode". And the DAZ Iray Uber documentation on that "Reflectivity" topic REALLY DOESN'T HELP! angry

    Wikipedia says this about Reflectivity.

    Post edited by Arnold C on
  • AndyGrimmAndyGrimm Posts: 910
    edited December 2015

    my best guess and how i understand it is:


    Reflectivity is the specular color multiplied with 10...   the paramter works only for non dialectric material.. which are mostly in the specular color range from 0.02 - 0.05.... only monochrom specular...  and the IOR is fix set to 1.5 aka specualr color is always 0.04...

    when you change to metalicity on this paramter does not work.. because the specular colors are then token form colors in the base color (gold, brass and so on)...and the paramter refecltivity is then set FIX to 1. (ignored)

    this is the reason why every convertion between specular and metalicity is never congruent.. the only one which can be closest to identical is a material with IOR 1.5....  aka reflectivity to 0.4.= IOR 1.5 or specualr color 0.04
    Other systems use 1.6 IOR fix which would be 0.5 reflectivity...     0.5  is clearly to much in IRAY.. and default is set to 1.5 - so 0.4 reflectivity  .. but  because the glossiness parameter is not linear. i can not replicate a 100% convertion .. untill this bug is fixed.

    Post edited by AndyGrimm on
  • AndyGrimmAndyGrimm Posts: 910
    edited December 2015

    here is my current state of the absolutly needed SIMPLE laughformula collection for IRAy materials : if somebody can add something or there is a mistake... tell me please smiley

     


    The 5 simple formulas you must know for mastering IRAY 


    We know a sRGB color and need the linear color
    linear color = (sRGB / 255) ^ 2.2
    example: sRGB = 128 (50% sRGB grey)
    (128/255)^ 2.2 = 0.22 (22% slider)
    (187/255)^ 2.2 = 0.50 (50% slider)

    We know a slider value (linear color grey) and need the sRGB grey color
    sRGB = (slider value ^ 0.4545) * 256 
    example: 0.5 slider (linear grey color)
    (0.5 ^ 0.4545) * 256 = 187 sRGB (50% slider)
    (0.1 ^ 0.4545) * 256 = 90 sRGB (10% slider)

    We know the IOR (index of refraction) and need the specular color
    Specular color linear = (sqrt(IOR-1))/(sqrt(IOR+1))
    example: IOR = 1.33 Water
    (sqrt(1.33-1))/(sqrt(1.33+1))
    0.1089/5.4289 = 0.02

    example: IOR = 1.5 Plastic
    0.25/6.25 = 0.04


    We know the specular color and need the IOR (Index of refraction):
    IOR = (sqrt(linear color)+1)/(1-sqrt(linear color))

    --------------------------------------------------------------------------------
    Still doing research for the last one

     

    We know a IOR and need to set the parameter reflectivity in the MR workflow for dielectric materials (monochrom specular, non- metal)

    Visual Approach to correct to much reflectivity in IRAY MR.
    ​reflectivity amount = specular color * 10
    reflectivity amount = (sqrt(IOR-1))/(sqrt(IOR+1)) * 10

    Physically correct formula or how it is calculated in the IrayUbershader is: 
    Reflectivity = square((sqrt(linear color)/(sqrt0.08))   

    where linear color is albdedo F(0) calculated from the IOR.. 


    Arnold is a smart guy smiley

    Post edited by AndyGrimm on
  • AndyGrimm said:

     

     

    We know the IOR (index of refraction) and need the specular color
    Specular color linear = (sqrt(IOR-1))/(sqrt(IOR+1))
    example: IOR = 1.33 Water
    (sqrt(1.33-1))/(sqrt(1.33+1))
    0.1089/5.4289 = 0.02

    example: IOR = 1.5 Plastic
    0.25/6.25 = 0.04



     

    This formula is a little off.  You don't want the square root of the values in the numerator and denominator. Instead, you need to square the values (raise to power of 2). The math in your example is correct, though.

    Specular color linear = ((IOR-1)^2)/((IOR+1)^2)

    Awesome information you and Arnold have provided!

  • Arnold CArnold C Posts: 740

    Thank you, KurzonDax. (Although your avatar seems to show Odo. smiley

    AndyGrimm said:

    Arnold C. Morning smiley

    i miss a formula how to calculate "reflectivity" amount in a PBR metalicity workflow with (metalicity on zero)... can you guide me on a ressource? 

    Found one. Did send you a PM. smiley

  • AndyGrimmAndyGrimm Posts: 910
    edited December 2015

    @KurzonDax thank you... yes when we are sure everything is correct .. i will bring all formulas in the same format,,

    @Arnold C. yes.. saw that....   will take me some hours to study - edited the collection above....the last formula is what we looking for...mine came from another forum... and was there maybe also more guessing then knowing.

    i need also formulas for colored specualarity and metalicity....   the ones i found are over my head.(i am a graphic/photo/architectural guy :-).  and i dont think i can simple average the resulting RGB colors from a 3 pass using the monochrome calculation... so if there is something easy around - add it please smiley...

    Post edited by AndyGrimm on
  • and there is still the open question why roughness and glossiness are NOT linear to each other devil.

    a sqrt(roughness) function in the shader could also mean that we work with 2 different "grids" matrixscale..

  • AndyGrimmAndyGrimm Posts: 910
    edited December 2015

    ok - i played a little bit with the shader mixer and swtched OFF and ON squared roughness....

    The fresnel reflections which are higher in MR then in SG are clearly coming from another microsurface aka "squared roughness"....

    This is one of the differences which i did not like on skin... (the pbr metalicity shader settings are absolut the same for this two renders (from left 1-2)
    to me it looks as this switch should just be ON when metalicity is > 0... but it is always on.

    Settings standard... roughness 0.5 reflectivity 0.5..... the specular color looks TO dark to me.. should be 0.04.... 0.04 looks brighter in PBR specular. marble 3

    0-MR-SG.jpg
    1440 x 480 - 273K
    Post edited by AndyGrimm on
  • KurzonDaxKurzonDax Posts: 228
    edited December 2015

    So to throw my own renders in to the conversation, here is Vicky 7 (without HD add-on) using the Spec/Gloss base mixing.  The diffuse and normal maps are the defaults that come with V7.  I slightly modified the face bump map to smooth the nose tip and nostrils (though I think the smoothing on the nostrils was too much and resulted in too much glossiness there).  

    I removed the translucency color map and glossiness weight map, except for the face.  I modified the face glossiness map slightly to add some glossiness to the forehead, nose, and chin and used it as a control map for the glossiness channel (as opposed to the Glossy Layered Weight channel where D|S put it when I converted from MR to SG mixing).

    For all surfaces, I used the diffuse map in the translucency color channel.  To my tired old eyes, the default diffuse map has some translucency baked in.  However, I could not get a result I was happy with by tweaking the map in PS to eliminate it.

    The only other diffuse maps that are not default are the eye-related maps.  V7's eye maps are horrible, in my opinion.

    I'm not thrilled with the bump or normal maps in general.  I may try to come up with something better by sculpting it in Zbrush later.

    The images were rendered to 32-bit EXR files with tone mapping turned off.  I did this because I wanted to capture the true output of the render engine and then play with exposure in photoshop to get what I felt was right.

    Criticisms and comments are welcomed.  I'm here to learn. I would be happy to post my settings a bit later today if anyone is interested.  

    Edit: No other postwork was done except for setting exposure, adding the blue background, and converting to 8-bit PNG.

    Edit 2: Rendered in D|S 4.9.0.44

     

    Victoria7-Front-38m24s-1.Canvas1.Beauty.png
    1488 x 1253 - 2M
    Victoria7-RightQuarter-36m13s-1.Canvas1.Beauty.png
    1488 x 1253 - 2M
    Post edited by KurzonDax on
  • If anyone is interested, I created a Google Sheets spreadsheet with the formulas @AndyGrimm posted above, and formulas for calculating transmitted color based on transmitted distance and desired absorbtion coefficient that @Arnold C. had posted in another thread.

    The spreadsheet isn't protected right now, so anyone can edit it.  If you want to use it regularly, you should either download a copy for yourself, or make a copy to your Google account.  However, feel free to add additional formulas if desired to the original.

    https://docs.google.com/spreadsheets/d/1vGVmodBMJ0q5GSL4-zs5TSBI4NycEwy_avtBGWhV224/edit?usp=sharing

     

  • RAMWolffRAMWolff Posts: 10,249

    I'd very much be interested in your skin settings KurzonDax unless the spread sheet you posted are those settings....

    Thanks!  I think your skin looks very very good. 

  • KurzonDax said:

    So to throw my own renders in to the conversation, here is Vicky 7 (without HD add-on) using the Spec/Gloss base mixing.  The diffuse and normal maps are the defaults that come with V7.  I slightly modified the face bump map to smooth the nose tip and nostrils (though I think the smoothing on the nostrils was too much and resulted in too much glossiness there).  

    I removed the translucency color map and glossiness weight map, except for the face.  I modified the face glossiness map slightly to add some glossiness to the forehead, nose, and chin and used it as a control map for the glossiness channel (as opposed to the Glossy Layered Weight channel where D|S put it when I converted from MR to SG mixing).

    For all surfaces, I used the diffuse map in the translucency color channel.  To my tired old eyes, the default diffuse map has some translucency baked in.  However, I could not get a result I was happy with by tweaking the map in PS to eliminate it.

    The only other diffuse maps that are not default are the eye-related maps.  V7's eye maps are horrible, in my opinion.

    I'm not thrilled with the bump or normal maps in general.  I may try to come up with something better by sculpting it in Zbrush later.

    The images were rendered to 32-bit EXR files with tone mapping turned off.  I did this because I wanted to capture the true output of the render engine and then play with exposure in photoshop to get what I felt was right.

    Criticisms and comments are welcomed.  I'm here to learn. I would be happy to post my settings a bit later today if anyone is interested.  

    Edit: No other postwork was done except for setting exposure, adding the blue background, and converting to 8-bit PNG.

    Edit 2: Rendered in D|S 4.9.0.44

     

    yes looking good....    tha't about the maximum result i can get out of Iray too...   4.9 clearly improved the skintone... the glossiness amount is a question of "taste".. your settings looking like makeup powder... mine always showed way more glossiness because i try to replicate pure natural skin..before a makeup artist or post work....

    Good result - if you find the time.. render her also in HDRi with different scenes and lights (background, side, front)... because THERE (different lightsituations)is the problem of finding good skinsetting...


    Great that you jumped in with the formula collection....you saved me from doing the spreadsheet myself - thx....yes...

    Meanwhile Arnold and i do the technical and math digging, "guessing" and testing ..  via PM..... but please note that the last formula (Reflectivity from  IOR) is still not clear...the formula which i posted is NOT based on Physik.. it is based on Visual Compearing of Specular versus Metalicty in IRAY (because of differences in IOR and roughness).... So just add a note to your spreadsheet as i did to my formula collection above (edited),,,
     

  • AndyGrimmAndyGrimm Posts: 910
    edited December 2015

    here the last formula - Thanking goes to Arnold for the correct Formula.

    We know a IOR and need to set the parameter reflectivity in the MR workflow for dielectric materials (monochrom specular, non- metal)

    Visual approach to correct to much reflectivity in DAZ IRAY PBR MR.
    ​reflectivity amount = specular color * 10
    reflectivity amount = (sqrt(IOR-1))/(sqrt(IOR+1)) * 10

    The physically correct formula or how it is calculated in the IrayUbershader is: 
    Reflectivity = square((sqrt(linear color)/(sqrt0.08))   

    where linear color is albedo F(0) calculated from the IOR.. 

    example: IOR 1.5 = 0.04... result = 0.5 reflectivity DAZ (IRAY standard)


    Arnold is a smart guy smiley.

    clear is that DAZ IRay Ubershader is NOT fully PBR compatible.. because of messing up with two different glossiness roughness scales ... that's what i showed above with the 3 marbles.... where the middle one (pbr metalic) corrected the difference in the shader mixer ....

    I dont have a idea what to do with this knowledge - because if DAZ would correct the difference.. many products which got created since we have IRAY would be messed up cool...

    left and right marple - MR / SG should look close to be the same...

    the middle one is the corrected MR shader (squared roughness brick)... and just now they look close to be the same.

    0-MR-SG.jpg
    1440 x 480 - 273K
    Post edited by AndyGrimm on
  • RAMWolff said:

    I'd very much be interested in your skin settings KurzonDax unless the spread sheet you posted are those settings....

    Thanks!  I think your skin looks very very good. 

    I'll post some screenshots of them later this afternoon when I'm back in front of my PC. Thanks for your comments.

    @AndyGrimm Yes, I agree that it still looks too much like the skin has been powdered.  The default bump and normal maps just aren't very good, and lack any significant amount of detail.  Increasing the bump strength helps in some areas, but then blows out others.  Rather than spending time trying to fix a bad map, I'd rather start from scratch with a new one in Zbrush.  Will take some time though.

    I plan to render using some HDRIs as well.  I just ran out of time this morning before my family got up and I had to do the dad thing. Unfortunately, when rendering straight to EXR without tone mapping, the rendering process takes almost twice as long.  I'm not quite sure why.  I'll do the HDRI renders the normal way later today or tonight.  

  • AndyGrimm said:

    here the last formula - Thanking goes to Arnold for the correct Formula.

    We know a IOR and need to set the parameter reflectivity in the MR workflow for dielectric materials (monochrom specular, non- metal)

    Visual approach to correct to much reflectivity in DAZ IRAY PBR MR.
    ​reflectivity amount = specular color * 10
    reflectivity amount = (sqrt(IOR-1))/(sqrt(IOR+1)) * 10

    The physically correct formula or how it is calculated in the IrayUbershader is: 
    Reflectivity = square((sqrt(linear color)/(sqrt0.08))   

    where linear color is albdedo F(0) calculated from the IOR.. 

    example: IOR 1.5 = 0.04... result = 0.5 reflectivity DAZ (IRAY standard)


    Arnold is a smart guy smiley.

    clear is that DAZ IRay Ubershader is NOT fully PBR compatible.. because of messing up with two different glossiness roughness scales ... that's what i showed above with the 3 marbles.... where the middle one (pbr metalic) corrected the difference in the shader mixer ....

    I dont have a idea what to do with this knowledge - because if DAZ would correct the difference.. many products which got created since we have IRAY would be messed up cool...

    left and right marple - MR / SG should look close to be the same...

    the middle one is the corrected MR shader (squared roughness brick)... and just now they look close to be the same.

    Good catch.  I'll update the spreadsheet later, or feel free to yourself.  I left it unproteccted to allow anyone to fix or make changes as necessary.  You guys have taught me a ton in this thread and others.  Many thanks for the research time you have put in to this.

  • Here are the settings I used for the renders above.  Some things to note:

    • When you change the base mixing from Metallicity/Roughness to Specular/Glossy, D|S will put the specularity map into the Glossy Layered Weight channel. I removed it completely from all surfaces, except for the face and lips.  See next bullet
    • For the face and lips, I took the spec map that comes with V7 into Photoshop and first converted it to greyscale instead of RGB.  Then I change the color profile to the Gamma 2.2 preset,  Next, I added a new layer at the top, and with a soft brush and pure white as the foreground color, painted a wide swath across the forehead.  Then I painted over the tip of the nose, and around the chin area. Lastly, I change the brush opacity to about 80% and painted over the lips.  There was logic in my head at the time as to the opacity change, but I'm tired and don't remember what it was.  I think I just didn't want super glossy lips. After saving the image as a jpeg, I added it as a control map to the Glossines channel for the Face and Lips surfaces.
    • I removed the translucency color map that comes with V7, and replaced it with the diffuse map for each skin surface and the lips.  Also note that the translucency color and SSS reflectance tint need to be set to white.
    • The transmitted color is based off of work @Arnold C. did in another thread that I now cannot find.  If you use the spreadsheet I linked above, you can calculate what the linear value should be for each color.  I definitely recommend right-clicking on the liner values and not using the color picker and entering sRGB numbers. sRGB is just a little too inprecise (for me, anyway).  As a side note, I sort of feel there may still be a little too much red in the renders above, so I might tweak it after doing some more test renders under different lighting.  I think the absorption coeeficients I used were .35, 1.3, and 1.6.  The larger the number, the more of that color will be absorbed.
    • For the bump and normal map, you will need to disable or change the limits for those parameters.  I think they are set to a max of 2 and 1 respectively by default.

    The first two images below are the settings for the Torso, Legs, and Arms.  The third and fourth images are for the face, ears, and lips

     

     

    V7-Torso-1.png
    278 x 1156 - 84K
    V7-Torso-2.png
    284 x 552 - 44K
    V7-Face-1.png
    278 x 1156 - 91K
    V7-Face-2.png
    283 x 552 - 45K
  • Arnold CArnold C Posts: 740
    edited December 2015
    AndyGrimm said:

    Arnold is a smart guy smiley

    Nahh, just getting confused sometimes when looking at the dependencies of the Iray Uber Shader. And hate being confused. Then I get investigative... but thanks anyways. smiley

     

     

    KurzonDax said:
    • The transmitted color is based off of work @Arnold C. did in another thread that I now cannot find.  If you use the spreadsheet I linked above, you can calculate what the linear value should be for each color.  I definitely recommend right-clicking on the liner values and not using the color picker and entering sRGB numbers. sRGB is just a little too inprecise (for me, anyway).  As a side note, I sort of feel there may still be a little too much red in the renders above, so I might tweak it after doing some more test renders under different lighting.  I think the absorption coeeficients I used were .35, 1.3, and 1.6.  The larger the number, the more of that color will be absorbed.

    Nice work Kurzon. The thread you mention is over at the Nuts `N Bolts: https://www.daz3d.com/forums/discussion/comment/910708/#Comment_910708

    For the "Transmitted Measurement Distance" I'd recommend a value of 1.0, since the absorbtion coefficients (AC) are given in 1/cm. A set of average measured values for the AC of a caucasian skin type are: 

    450 nm : 1.856707317073164 1/cm [Blue RGB channel]

     550 nm : 1.262195121951215 1/cm [Green RGB channel]

     700 nm : 0.4847560975609738 1/cm [Red RGB channel]

    There's no "true" konstant values, since skins are different from individuum to individuum; age, gender, amount of water in the skin tissue, amount of blood/ccm tissue... all differs. The paper I picked my values from measured values from 21 different persons. The coefficients there range (standard deviation) from:

    STANDARD DEVIATON [SD]:

     450 nm : 1.655487804878043  to 2.057926829268285 1/cm [multiplier: 3.830188679245283]

     550 nm : 1.106707317073167 to 1.417682926829263 1/cm [multiplier: 2.603773584905661 ]

     700 nm : 0.3841463414634132 to 0.5853658536585344 1/cm

    Considering, that for each wavelength the absorption properties from one band to the next is of the same ratio for all measurements, you could calculate your estimated coefficients for each RGB channel using the given multipliers, which have been calculated from the average. Pick a value from the 700 nm range and then multiply it with the relevant multiplier to get the coefficient for 550 and 450 nm respective.

    F.e. for a 0.4 [for the Red RGB coefficient] picked from the 700 nm "pool", multiplied with 2.603773584905661 you'll get 1.041509433962264 for 550 nm (Green RGB coefficient), and 0.4 multiplied with 3.830188679245283 you'll get 1.532075471698113 for 450 nm (Blue RGB coefficient). Put these into your calculation spreadsheet and let it calculate your Transmitted Color (and use a 1.0 for Distance). Should one exceed the maximum of a given range, choose the maximum instead. Still a bit of guesswork, but at least a real-world measured value based one. smiley

    Post edited by Arnold C on
  • RAMWolffRAMWolff Posts: 10,249
    KurzonDax said:

    Here are the settings I used for the renders above.  Some things to note:

    • When you change the base mixing from Metallicity/Roughness to Specular/Glossy, D|S will put the specularity map into the Glossy Layered Weight channel. I removed it completely from all surfaces, except for the face and lips.  See next bullet
    • For the face and lips, I took the spec map that comes with V7 into Photoshop and first converted it to greyscale instead of RGB.  Then I change the color profile to the Gamma 2.2 preset,  Next, I added a new layer at the top, and with a soft brush and pure white as the foreground color, painted a wide swath across the forehead.  Then I painted over the tip of the nose, and around the chin area. Lastly, I change the brush opacity to about 80% and painted over the lips.  There was logic in my head at the time as to the opacity change, but I'm tired and don't remember what it was.  I think I just didn't want super glossy lips. After saving the image as a jpeg, I added it as a control map to the Glossines channel for the Face and Lips surfaces.
    • I removed the translucency color map that comes with V7, and replaced it with the diffuse map for each skin surface and the lips.  Also note that the translucency color and SSS reflectance tint need to be set to white.
    • The transmitted color is based off of work @Arnold C. did in another thread that I now cannot find.  If you use the spreadsheet I linked above, you can calculate what the linear value should be for each color.  I definitely recommend right-clicking on the liner values and not using the color picker and entering sRGB numbers. sRGB is just a little too inprecise (for me, anyway).  As a side note, I sort of feel there may still be a little too much red in the renders above, so I might tweak it after doing some more test renders under different lighting.  I think the absorption coeeficients I used were .35, 1.3, and 1.6.  The larger the number, the more of that color will be absorbed.
    • For the bump and normal map, you will need to disable or change the limits for those parameters.  I think they are set to a max of 2 and 1 respectively by default.

    The first two images below are the settings for the Torso, Legs, and Arms.  The third and fourth images are for the face, ears, and lips

     

     

    Thanks so very much!  laugh

  •  

     

    Arnold C. said:

    Nice work Kurzon. The thread you mention is over at the Nuts `N Bolts: https://www.daz3d.com/forums/discussion/comment/910708/#Comment_910708

    For the "Transmitted Measurement Distance" I'd recommend a value of 1.0, since the absorbtion coefficients (AC) are given in 1/cm. A set of average measured values for the AC of a caucasian skin type are: 

    450 nm : 1.856707317073164 1/cm [Blue RGB channel]

     550 nm : 1.262195121951215 1/cm [Green RGB channel]

     700 nm : 0.4847560975609738 1/cm [Red RGB channel]

    There's no "true" konstant values, since skins are different from individuum to individuum; age, gender, amount of water in the skin tissue, amount of blood/ccm tissue... all differs. The paper I picked my values from measured values from 21 different persons. The coefficients there range (standard deviation) from:

    STANDARD DEVIATON [SD]:

     450 nm : 1.655487804878043  to 2.057926829268285 1/cm [multiplier: 3.830188679245283]

     550 nm : 1.106707317073167 to 1.417682926829263 1/cm [multiplier: 2.603773584905661 ]

     700 nm : 0.3841463414634132 to 0.5853658536585344 1/cm

    Considering, that for each wavelength the absorption properties from one band to the next is of the same ratio for all measurements, you could calculate your estimated coefficients for each RGB channel using the given multipliers, which have been calculated from the average. Pick a value from the 700 nm range and then multiply it with the relevant multiplier to get the coefficient for 550 and 450 nm respective.

    F.e. for a 0.4 [for the Red RGB coefficient] picked from the 700 nm "pool", multiplied with 2.603773584905661 you'll get 1.041509433962264 for 550 nm (Green RGB coefficient), and 0.4 multiplied with 3.830188679245283 you'll get 1.532075471698113 for 450 nm (Blue RGB coefficient). Put these into your calculation spreadsheet and let it calculate your Transmitted Color (and use a 1.0 for Distance). Should one exceed the maximum of a given range, choose the maximum instead. Still a bit of guesswork, but at least a real-world measured value based one. smiley

    The trouble I was running in to with V7's textures was more of an "artistic" one.  I started out using .45 for the red coefficient, but to my untrained eye, this resulted in the skin color looking a bit greyish.  Going on the principle that .45 at .5cm was causing around 20% of the red light to be absorbed, I started manipulating the linear value for red until I acheived what I felt looked more like a healthy skin color.  I finally decided on  ~16% absorbtion which translated to a red coefficient of .35.  Not precisely scientific, I suppose, but at least I followed the scientific method smiley  I'm going to go back and change the transmitted distance to 1, however, and then adjust the transmitted color accordingly to observe the effects.  I had used .5cm based off of something I read in my own research, but I'll have to go back through my poorly written notes to figure out where it came from.  I think the paper you reference is likely more accurate though.

    Interesting idea of using the multipliers to obtain the coefficients.  I'll add that to the spreadsheet later this morning after the caffeine circulating in my blood stream has acheived an equilibrium.

     

  • KurzonDaxKurzonDax Posts: 228
    edited December 2015

    Here are some more test renders of Vicky using various HDRIs and one with the Iray sun only.

    The biggest problem to me in these renders is that surfaces where the normal is facing roughly 90º from the camera angle are overly dark (too much specular).  I'm assuming this is caused by something fresnel related, but I'm not confident enough in my understanding yet to be sure.    

    All of these were rendered straight to PNG with tone mapping on, except for the first one which uses the RuinsB map that comes with D|S.  That one I rendered to EXR without tone mapping since I didn't inted to render the dome.  From there I added the light grey background and adjusted the exposure in Photoshop to -13.5 stops.  The three other HDRI renderings use free images obtained from hdrmaps.com.  

     

    Victoria7-Front-RuinsHDR-18m8s-1.Canvas1.Beauty-1200px.png
    1200 x 1010 - 806K
    Victoria7-Front-HDRmaps053-7m12s-1200px.png
    1200 x 1010 - 1M
    Victoria7-Front-HDRmaps030-3m3s-1200px.png
    1200 x 1010 - 1M
    Victoria7-Front-HDRmaps040-24m12s-1200px.png
    1200 x 1010 - 1M
    Victoria7-Front-IraySun-8m24s-1200px.png
    1200 x 1010 - 884K
    Post edited by KurzonDax on
  • SzarkSzark Posts: 10,634

    man all this math is frying my brain, why can't this be easy for dummies like me. Kurzon the last render using the sun/sky is looking pretty darn good IMHO.

  • KurzonDax

    "The biggest problem to me in these renders is that surfaces where the normal is facing roughly 90º from the camera angle are overly dark (too much specular).  I'm assuming this is caused by something fresnel related, but I'm not confident enough in my understanding yet to be sure. "


    Absolulty correct - this is what i meant with F(90) is a limitiation in IRAY base....  What works well (automatic amount of F(90)) for Metal does not work on Skin (to much) . Other PBR's renders have a "Fuzziness or Peach fuzz layer".... this would help to eliminate the problem... But we dont have that in IRay.. yet...

    But your skin settings looking good to me, well done.

  • Szark said:

    man all this math is frying my brain, why can't this be easy for dummies like me. Kurzon the last render using the sun/sky is looking pretty darn good IMHO.

    I don't understand any of it, myself. I'm just waiting patiently for these giants to hit on the right thing, so I can stand upon their shoulders, albeit very thankfully, lol.

  •  

     

    Szark said:

    man all this math is frying my brain, why can't this be easy for dummies like me. Kurzon the last render using the sun/sky is looking pretty darn good IMHO.

    I think once we get to a common consensous (which seems to be close), a tutorial could be written in conjunction with the spreadsheet, or a website, that would make it easier for those not comfortable with the math.

    I was actually a little surprised at how the Sun/Sky render came out when compared with the others.  However, I was using a late afternoon time of 6pm which would (should?) result in what the eye interprets as more saturation when compared to a midday sun like from the HDRI in the second render. 6pm is in the golden hour range (depending on time of year and geographic location) that photographers like to shoot outdoors in because of the warmer colors and softer shadows.

     

    RAMWolff said:

    Thanks so very much!  laugh

    You are very welcome.  One thing I forgot to mention is that I did slightly blur the bump map on the tip of the nose.  There wasn't much detail there to start with though, so it probably wouldn't make much difference had I not done that.

     

    Arnold C. said:

    There's no "true" konstant values, since skins are different from individuum to individuum; age, gender, amount of water in the skin tissue, amount of blood/ccm tissue... all differs. The paper I picked my values from measured values from 21 different persons. The coefficients there range (standard deviation) from:

    STANDARD DEVIATON [SD]:

     450 nm : 1.655487804878043  to 2.057926829268285 1/cm [multiplier: 3.830188679245283]

     550 nm : 1.106707317073167 to 1.417682926829263 1/cm [multiplier: 2.603773584905661 ]

     700 nm : 0.3841463414634132 to 0.5853658536585344 1/cm

    Considering, that for each wavelength the absorption properties from one band to the next is of the same ratio for all measurements, you could calculate your estimated coefficients for each RGB channel using the given multipliers, which have been calculated from the average. Pick a value from the 700 nm range and then multiply it with the relevant multiplier to get the coefficient for 550 and 450 nm respective.

    F.e. for a 0.4 [for the Red RGB coefficient] picked from the 700 nm "pool", multiplied with 2.603773584905661 you'll get 1.041509433962264 for 550 nm (Green RGB coefficient), and 0.4 multiplied with 3.830188679245283 you'll get 1.532075471698113 for 450 nm (Blue RGB coefficient). Put these into your calculation spreadsheet and let it calculate your Transmitted Color (and use a 1.0 for Distance). Should one exceed the maximum of a given range, choose the maximum instead. Still a bit of guesswork, but at least a real-world measured value based one. smiley

    I mostly added this functionality to the spreadsheet.  Right now, it only validates what is put in for the Red coefficient, but does not check the resulting B and G coefficients to determine if they are in the ranges from the paper.  I'll add that in later today.  

  • AndyGrimmAndyGrimm Posts: 910
    edited December 2015

    @Szark and @Hanabi

    Well that's why we do the work now to put all needed formulas in ONE place....   in a spreadsheet first and if i find the time i will set up a webpage over christmass where you can just put in a number and get all the needed values as result whitout doing or knowing any math yourself  smiley.

    Post edited by AndyGrimm on
  • AndyGrimm said:

    KurzonDax

    "The biggest problem to me in these renders is that surfaces where the normal is facing roughly 90º from the camera angle are overly dark (too much specular).  I'm assuming this is caused by something fresnel related, but I'm not confident enough in my understanding yet to be sure. "


    Absolulty correct - this is what i meant with F(90) is a limitiation in IRAY base....  What works well (automatic amount of F(90)) for Metal does not work on Skin (to much) . Other PBR's renders have a "Fuzziness or Peach fuzz layer".... this would help to eliminate the problem... But we dont have that in IRay.. yet...

    But your skin settings looking good to me, well done.

    Thanks, Andy, I appreciate you saying that.  I'd like to start delving into the MDL and/or shader bricks further to see if there is a way to approximate that in some fashion.  In my casual browsing through the bricks, it appears there is more Iray functionality exposed that isn't utilized by the one-size-fits-all UberShader.

     

  • SzarkSzark Posts: 10,634
    KurzonDax said:

     

     

    Szark said:

    man all this math is frying my brain, why can't this be easy for dummies like me. Kurzon the last render using the sun/sky is looking pretty darn good IMHO.

    I think once we get to a common consensous (which seems to be close), a tutorial could be written in conjunction with the spreadsheet, or a website, that would make it easier for those not comfortable with the math.

    That would be a great thing to have but I did find your spreadsheet easier to understand, thank you for that. 

  • @AndyGrimm, I should have some time over the last couple of weeks of the year because I'll be burning unused vacation time from my day job.  I have experience in PHP and Javascript, so if I can be of any help with a web page, let me know.

  • SzarkSzark Posts: 10,634
    AndyGrimm said:

    @Szark and @Hanabi

    Well that's why we do the work now to put all needed formulas in ONE place....   in a spreadsheet first and if i find the time i will set up a webpage over christmass where you can just put in a number and get all the needed values as result whitout doing or knowing any math yourself  smiley.

    man that would be awesome, thank you. I am willing to learn the math I just don't know where to start.

Sign In or Register to comment.