Adding to Cart…

Licensing Agreement | Terms of Service | Privacy Policy | EULA
© 2025 Daz Productions Inc. All Rights Reserved.You currently have no notifications.
Licensing Agreement | Terms of Service | Privacy Policy | EULA
© 2025 Daz Productions Inc. All Rights Reserved.
Comments
How strange that the 1940 seemed a good number. I know it sounds weird but I lke numbers that add up to 13... so 9+4 is always a fav of mine....
I entered in that number and was quite happy with the results of the render (FINALLY) except for that weird block of extra light going on in the lower left of the render... still don't know what's causing that... Thanks for the link! 
Not sure but I suspect that little square is an example of the color light you have selected to use for that image.
Nope, set things to white and a light gray, same effect.
How about you do this for me. Remove that created mesh light and add a photometric light. Change the photometric light from spot/point to a rectangle and change the size of the rectangle to 30 by 30. Change the strength to 3000 and the color temperature to 5500 or 6000 and do a test render then.. Though the enviroment light your using may be so bright you don't really need an added light.
Actually I'm ahead of you. . I used this set ........... IDG Area Light Premade - Area Light Setup 02B L .... like it quite a bit but still would like to figure out what's causing that strange bit to happen in the homemade attempt. It's good to know how to overcome issues when they arrise like that. Hate being in the dark, so to speak!
I downloaded and installed the NVIDIA Iray vMaterials, and now have what looks like a big bunch of nice .mdl files in folders. I tried dragging some of the .mdl files into the Shader Mixer pane as described here, but nothing is happening. I'm very new to the Shader Mixer, so maybe I'm missing something obvious. Is there a step that I'm missing, or is there a more specific part of the Shader Mixer window I'm supposed to drag to?
Maybe mdl must be placed in a specific path?
Edit : well actually it was not a question. The mdl must be placed in a specific path.
I already made this a few times but I never drag and drop, I use "custom MDL" and I write the required text in the brick, the MDL being in one of the custom MDL libraries.
Go the Edit menu in the Shader Mixer pane (not the main Edit menu) and select MDL Directory Manager..., clikc Base Paths in the list, then Add... on the left and select the parent folder for your MDL files
Yes!! That's what I wanted to meant by custom MDL libraries!! I did not remember the exact name, thanks god Richard's got the right terms for that!
After reading through the thread (at least twice) and tweaking with Mec4's settings, I've discovered that A) the lighting really does matter, and 2) I still don't know how to balance the settings so I get appropriate SSS in strong light. Overall, using HDR lighting (and nothing else), I'm extremely pleased with how this skin set up is working (not that it probably can't be improved). However, like every other character whose overall look I get down, the ears look dead. I'm still using 4.8 and rendering these tests takes long enough (5–10 minutes) starting with a geoshell or other entirely new approach is daunting. But I'd like to solve the ears!
This render, and the ones unmarked in the attached collage, was done with the settings in the picture. The two with text over them involve a fix to better meet some of the guidelines here—only color in either transparency or transmitted color, and no Top Coat. Oddly, getting rid of the Top Coat didn't change the image at all (I did a Difference mode check in Photoshop and they're identical).
Any suggestions about how to get the SSS or translucency more involved? Tangentally related, is there a good tutorial on Iray-specific lighting for indoor scenes. With straight HDRs, I've gotten these results. With indoor scenes, even using an HDR (that's partially blocked by 2 or 3 walls), the same character looks much less photoreal. Although perhaps that's because there's a context. With a backplate, the yellow-hued renders didn't look as photoreal, despite using a professionally-produced HDR+backplate set.
Genesis 2 character. The translucency texture is a slightly desaturated version of the diffuse one, but not a true albedo map. I added some red to the ears. I made the Glossy Roughness map to make the ears much more glossy (to simulate the waxiness).
You'll probably need to up the translucency weight: 0.15 is pretty low, particularly for what appears to be a lighter toned skin. I think you might want to move up to 0.40 or more.
Another thing to try is to set your base color effect to scatter and transmit as (again) you're working with what appears to be a lighter toned skin - scatter only is going to really curtail the effects of SSS. If you do, set your translucency color to white (as you're using a map there which should provide most of the translucency color) and adjust the tone color to taste with the SSS Reflectance Tint.
You might also experiment with decreasing your transmitted measurement distantce to something closer to 1.00 (maybe try 0.80 and adjust to taste).
Been lurking on this thread for a while and working on a custom MDL skin shader... wanted to share a couple discoveries about MDL and the Iray Uber shader in case people find them useful. Buy-in results attached.
1) It's been mentioned a couple times, but I figure it's worth reiterating... the lack of layered subsurface scattering is actually a MDL limitation (there's currently literally no way to even define it). The requirement that the absorption and scattering coefficients be uniform, on the other hand, is just a limitation of the current implementation of Iray; it can be specified as varying in MDL, it just won't work currently. This is similarly true with whatever it is that makes putting a map in the roughness/glossiness parameter behave weirdly. It's a valid specification, but the implementation doesn't apply it correctly.
2) The Iray Uber shader actually covers a lot of the functionality of MDL. I think the biggest deal about using MDL is that you can have it do a lot of calculations for you; the attached images were specified using only five map inputs (base color, vascular color, specularity, bump, and normal), which were unaltered from what Skin Builder gave me (except for adding the tattoo).
3) "Scatter and Transmit" just puts the hue and saturation in the color and multiplies the alpha channel by the value (effectively). That's why black will always show up as fully transparent when you scatter/transmit, and why it seems to disproportionally affect dark colors. It also means that scatter/transmit on pure white has no effect.
4) Using the glossy layer is the same as using a top coat with a custom curve. The Uber shader literally calls add_top_coat to add the glossy layer (and apparently the metallic layer as well, fwiw).
If you're trying to understand in more detail how the Uber shader works, I'd highly recommend taking a look at irayubermaterial.mdl. It took me a bit to grok, but it's been extremely helpful in understanding the implementation details.
Thanks PlasmaPhoenix that's some interesting info with images.
@PlasmaPhoenix
3) "Scatter and Transmit" just puts the hue and saturation in the color and multiplies the alpha channel by the value (effectively). That's why black will always show up as fully transparent when you scatter/transmit, and why it seems to disproportionally affect dark colors. It also means that scatter/transmit on pure white has no effect.
i try to comprehend your conclusion... where in the mdl sourcecode did you see that?
absorption: there is also a log function involved.. (math) .... can we see somehwere the import math::*; library file ?.... normalize luminance and other calls are functions which i like to known more about how they are implemented in DAZ iray.
Thanks! Scatter + Transmit sent me to red monsterville, but the other suggestions were great. I'm afraid to upgrade to 4.9 now that I have several skins where I want or close to it. Is the difference between 4.9 and 4.8 skin as big as I fear? The database changes so you can't revert back unless you have a duplicate, IRC.
@AndyGrimm
It's in the transmit_color_calc function, which uses the color mixing described in http://www.migenius.com/doc/realityserver/latest/resources/general/iray/mdl/base_module/index.html. It's using color_layer_color to determine the tint, which according to the documentation takes the hue (and presumably saturation) of the top layer (the color) with the intensity of the bottom layer (white). It then uses a passed in weight (which is the opacity value specified by the user) multiplied by the color converted to grayscale (a.k.a. it's intensity) as the mono value, which is eventually used as the final opacity weight.
Fwiw, the Uber shader's scatter/transmit appears to be completely unrelated to MDL's scatter_transmit or scatter_reflect_transmit, both of which only appear to be used for the refraction layer.
The absorbtion/scattering math is in the following two lines in add_uber_volume (edge-case handling code snipped for clarity):
absorption_coefficient: ... math::log(transmitted_color) / -transmitted_distance_of_measurement ...
scattering_coefficient: ... sub_surface_scattering_amount / scattering_distance_of_measurement ...
When I was working with MDL directly I had to multiply each of them by a factor of 100 to convert from Daz's cm units to Iray's m units, which I don't see in the Uber MDL... maybe it's done by Daz internally?
In terms of luminance, Iray has a built-in luminance function, which is color/implemetation specific, though according to the documentation the default assumes the sRGB color-space values of 0.212671*r + 0.715160*g + 0.072169*b.
@PlasmaPhoenix
"Fwiw, the Uber shader's scatter/transmit appears to be completely unrelated to MDL's scatter_transmit or scatter_reflect_transmit, both of which only appear to be used for the refraction layer."
... thought my conclusion must be complete wrong ( i did not expect Daz using 2 different methods (native for refraction - custom function for base..)... hmmm... now i am wondering myself why they toke this solution.
that helped me now a lot
Yeah, that confused the heck out of me for the longest time too. If I were to guess, I think it might be because MDL kindof fakes layering. The surface is really only one layer, which is a weighted mix of various scattering functions. Their "layering" is really just a way to think about the weighting. But their non-native scatter/transmit gives an impression of having a translucent layer "on top of" another layer.
Could be wrong but I think the folders with the mdl files have to be in the right place for Studio to deal with them.
Keeep in mind that all the characters are going to be brought in line with the changes made to 4.9 so everything going forward should be set up for it. Staying with the old version will mean adjusting every new product.
That makes sense, since there was a significant bug, but what a pain for those of us who create art with recurring characters. One of the most vital things in a production pipeline is knowing that the elements will look the same from render-to-render. This character is new, so I won't mind too much if the 4.9 version looks a bit different than the 4.8 version. But I have characters that are more established and have a lot of custimzation to their texture maps. I locked in their appearance and don't want new renders to look different than old ones :(
@PlasmaPhoenix
Well.. it confusing me now even more....
The only parameter which iray handles for vdf scatter and transmission.... is a coefficient .... the type is color(), aka rgb (0.5, 0. 5, 0.5)
scattering-coefficient in the uber shader just dosent make any sense... ?
scattering_coefficient: ... sub_surface_scattering_amount / scattering_distance_of_measurement ...
amount/distance.... well that means 1/1 = 1.(max).. 0.2/0.2 = 1 (max)... and so on... ? or do i still overlook something ?
@AndyGrimm
I need to try to be more specific when using overloaded terms... in case it was the source of confusion, that comment was referring to surface scattering (BSDFs) rather than subsurface scattering (VDFs).
But in terms of the scattering coefficient, you're exactly right. Check out the attached image - scattering_distance_of_measurement is varying from .1 to 10 horizontally and sub_surface_scattering_amount is varying from .01 to 1.0 vertically, and the diagonals (which share the same ratio) behave identically.
Technically, you can have scattering coefficients greater than 1.0... using that ratio just means that after a distance of scattering_distance_of_measurement, the light will be attenuated by a factor of e^(-sub_surface_scattering_amount), with the rest scattered. I agree that it would probably have been better for them to use a log like the absorbtion coefficient... saying "this % of the light will be unscattered" is a lot more intuitive than exponents...
your posting was not the case of confusion
the point is.... there is NO distance.. there is NO (real) amount...the results of this strange setup is actually well.. a confusing bluff... there is also no other end of "thickness" in transmission.... there is just a density of the the two effects ( in simple procents of 1m or 1 cm (scale daz?)...that's all.
i think it works up to coefficient 10.(i could see differences till 10 (.. so i was wrong with 1 is the maximum - color seems to have no limits in type..(array of floats) ...
0.2 scatter distance with 0.8 scatter amount is the same as 0.1 scatter distance with 0.4 scatter amount.... but the maximum effect of SSS is about 0.1 scatter distance with amount 1 (coefficient 10)..
Or in other words.. everybody which thought we can use real material "thicknesses" or as i did (i expected to set the "sample" point for transmission color)... expected way to much ..that's how it should be.. but it is not.
the "scatter bluff" is brandnew to me.. but explains why i could not do what i wanted with iray.
It makes sense that a coefficient of 10 (assuming Daz units of 1/cm) would be hard to notice... that means around 63% of the light is scattered after 1 *mm*, and nearly 99.995% after 1 cm, so it'd look pretty much solid at that point. Most of the formulas I've seen using the coefficients still work, they just involve more back-solving to get the effect you want.
Transmission color, on the other hand, works about like you'd expect. The exp and log cancel each other out, so after a distance of transmitted_distance_of_measurement white light will be attenuated to a value of transmitted_color. It's an interesting balance to consider... would you want a shader to be more science-friendly, in which case you want to be able to specify the coefficients directly, or more art-friendly, in which case you probably want to think more in the resulting colors and similar effects? I feel absorbtion/transmission falls clearly in the latter camp, while scattering falls unfortunately somewhere in-between.
yes..now knowing that amount/distance = coefficient.. we can actually use in vivo skin sample values as input..
) i understand the transmittance-coefficient in the scatter-transmit function in iray (not daz) is the density over the whole 1 unit/scale volume (meter/cm)...
if my collected values for skin are right.. most samples have a coefficient of 5 - 20...... does this make some sense? :-)...
and a scatter phase close to isotropic ...0.05 - 0.1
(transmittance i still try to understand it - but cant see the distance/thickness yet
Unfortunately, determining layer thicknesses in mm or cm isn't possible in either Iray or MDL. And most likely they'll never will be. The needed calculations would (quote) "be impractical for being part of everyday rendering" (end quote). So it can only be determined by the measurements of the mesh of an object or a figure in combination with the Transmitted Measurement Distance value.
Absorption coefficients of between 5 to 20 seem a bit high. You might check the scale the coefficients are given in, some research papers use a mm scale on their tables and graphs rather than the commonly used cm scale.
For example, an absorption coefficent of 0.6931472 and a Transmitted Measurement Distance of 1.0 (cm) will result in a value of 0.5 (50%) for one of the Transmitted Color RGB color channels. The formula for the absorption coefficient is an assumption: If your volume (your mesh) has a thickness of 1 cm (thickness equal to Transmitted Measurement Distance value), 50% of the light of that color will be transmitted through, the remaining 50% (the difference to 100%) will be considered absorbed. If your mesh's thickness is now larger than the value for, let's say 2 cm, than only 25% will be transmitted through, if its thickness is 4 cm, only 6.25%, and so on. If its less, let's say 0.5 cm, than it`s 70.71%, if its 0.25 cm, than 84%, and so on...
If you use a specific set of measured values for the absorption coefficents (preferable "whole skin", "in vivo" and in cm), and a 1.0 for Transmitted Measurement Distance, then the RGB value for Transmitted Color you'll get out of the equation will be a skin tone. If your measurements are in mm scale, use a 0.1 for Transmitted Measurement Distance and you're in the green. If you want your transmission to be of exactly the color you did put in your Transmitted Color, the Translucency Color needs to be of a 1.0, 1.0, 1.0. anything else changes/darkens it.
That makes now perfectly sense... as soon as i saw that in the source myself.. i tried to experiment using real measured sample values....knowing that we CAN "back calculate) both coefficients and use them directly as Iray input opens new questions...
1. Datas... as you allready posted they differ extrem (between in vitro/vivo) between wavelenghts, skin parts (forehead, arms, legs and so on..) . i checked and the datas are in cm-1... i am not sure for what the -1 stands on skin sample values..(optic?)...
i select values which are measured in red 633nm (red laser, 255, 67, 0) ) or close to rgb 255,0.0 red.
2. out of all this different values... what seems to be a good avarage for each of the 6 main face-skin types? black, asian, caucasian, man, women)..
A new skinshader.. well one of the options would be to just eliminate the 2 daz "calculations" and set the input to coefficients in the shader GUI and mdl..as to me it is way lesser confusing knowing that when i set a 0.5 i get 50% absorption trough my whole mesh then a pseudo "trial an error" input using fields with names which dont exist in the iray shader calculation....
We could use procedural noise to generate a 4 or 8k bump (blended with original) and come that way closer to simulate the skins microsurface reflectivity (or what i called "grid" earlier in this thread)
"Absorption coefficients of between 5 to 20 seem a bit high. You might check the scale the coefficients are given in, some research papers use a mm scale on their tables and graphs rather than the commonly used cm scale."
i talked about scatter coefficients between 5 - 20 in cm-1... absorption coefficients are way lower...yes.
1. That -1 has confused me ever since, and still. I'd guess it is some kind of mathematical expression. It's actually used as ^-1. That would be 1 cm ^-1 results in 1.0, 2 cm ^-1 results in 0.5, 4cm ^-1 results in 0.25 and so on. Maybe if V3Digitimes has some sparetime at hand she'd most likely could explain what that is for.
633 nm wavelength is more in the upper range of "orange" (585 - 650 nm). The picture below shows on the left, what we would need to have to get a more accurate transmission/absorption solution: at least six color channels for each (circa-) color tone. On the left it's shown what we are given to work with: three color channels, due to our RGB input fields. I would recommend to pick a coefficient for the Blue RGB color channel from a wavelength range of 420 - 490 nm, for Green from 490 - 575 and for Red from 650 - 750 nm.
2. A certain Dr. Who companion with the preference for very short skirts would say: "This is where it gets complicated!"
Most of the published results from the 30+ years research for human skin optical properties are not what we can use for our coefficient calculations. We need the wavelength ranges of visible light between 420 - 750 nm. Most research papers lack either one or even two of them, cover only the "Red" range and then mostly ultraviolet and/or infrared. The latter isn't something we can work with, since they're out of the range of visible light. Really useful (and freely available) research papers for our cause are really hard to find. During my months of combing through the WWW I found only one good source that covers the ranges we need. Named "Optical properties of human skin, subcutaneous and mucous tissues in the wavelength range from 400 to 2000nm" by A. N. Bashkatov, E. A. Genina, V. I. Kochubey and V. V.Tuchin from the Institute of Optics and Biophotonics at the Saratov State University in Russia. Elina Genina has been so kind to include that in her publications on researchgate.net, to be read- and downloadable for free. But it does only cover caucasian skin properties. Those of african and asian descent are even harder to get your hands on. Though I've got one covering caucasian, asian and african skin types alltogether, but unfortunately it only covers the range from 650 nm and above and so it's "not really the research we're looking for". 
So, honestly? The easiest way to get a more accurate, and matching your skin textures' skin tone and so it's actual absorption properties, would be to use the method MEC4D recommended months ago: pick the color depending on the luminance for that skin type from your diffuse texture, put that into your Transmited Color and use either a pure white (with or without diffuse texture) on Translucency Color or use a light orangeish/brownish color. The latter will darken your skin tone a bit, like the use of the diffuse texture in the Translucency Color texture slot will, too.
Transmission effects are already "built-in" into most, if not any, of the photorealistic textures we're given, so the trick is to repeat the original skin tone the best it gets to implement translucency (shine through the thinner parts) without drastically altering what's already in. At a Translucency Weight of between 0.4 to 0.5 for caucasian/asian and 0.25 for african the transmission is faint enough to not add a that huge amount of additional transmission effects.
Scattering will be just an "emergency soluiton", because normally we would need to have the SSS Amount in full color like our Transmitted Color, too. The people at NVIDIA thought that a monochrome and uniform scattering coefficient would be sufficient enough for the most materials. Like absorption, scattering is much stronger in the blue and green ranges than at the red (circa-) color tone wavelength. In every way you'll get either a stronger scattering for red if you use a coefficent for blue or green, and a weaker for blue and green if you go by a red one. I simply calculate the coefficient from the red RGB channel, multiply it with 34 or 35 and put that into my SSS Amount. At the current state of implementation you won't get near accurate results anyways.
If you use measured absorption and scattering coefficents, the scattering coefficient you can simply type in, since the calculation for it doesn't include a logarithmic conversion. The appropriate Scattering Measurement Distance will be at 1.0 then.
Where do you put those values: "255, 67, 0" or "255,0.0"? I would recommend not to use any values that includes a 0.0 or close to that in any Translucency or Transmitted Color channel, for it will result in a complete loss of absorption property for that color channel(s) and will produce some odd results.
Actually, they're more NVIDIA's "calculations" than DAZ's ones. The method DAZ uses was originally made up by the people who built the Iray Material Plugin for 3DS Max a few years ago. And judging by the colors DAZ uses for Translucency and Transmission on Gen7 they seem to not entirely understand how these things really work. They seem to simply just have borrowed that.
I (now) don't see any usefulness into developing a completely new shader with the ability to put in those coefficients directly. That would require to have a library of accurate values and the need to hunt those down. Which is at the long hand very unsatisfiying. And... last but not least you'd need a volunteer to write that monster.
NVIDIA's solution to put a (known) color into is, although very simplified, a more user-friendly one. And a hardware-friendly, too. You want to have your transmission resolving in a skin tone? Use a skin tone. The translucent thing you want to have in your render is of a green color? Than... maybe you should use a green one.
Yes, you could waste your time (like me
) to track and hunt them down, those precious values needed. Which wasn't that of a waste, though, as it had a valuable side effect of learning what that crazy stuff is all about and what it is for, and what the things are that you should avoid to type blindly in.
Ah, I see. I read what you wrote like that it would cover the same topic. Yep, that looks something in the range for human skin scattering coefficients, although the 5 looks like to be more in the infrared ranges than. My source pictures average scattering coefficients for the Red (16.70 /cm^-1), Green (38.38 /cm^-1) and Blue (46.05 /cm^-1) wavelength ranges for caucasians.