Skin with multilayered sss experiments

Hi there !
I’m new on this forum, though I often read some threads here… First, I want to apologize for the countless mistakes I’ll do when writing in english…:o My english needs to be improved (that’s one of the reasons which led me to post on this forum^^)Appart this, I’m 16 years-old, and still in the highschool. I’ve been interested in CG for a while, and Blending - Blendering ? :smiley: - for about 3 years. I also use Gimp of course, Inkscape sometimes, Indigo, etc, and I love programming, even though I’m not yet able to code a whole programm in C (still learning^^).
I did some experiments this week, trying to get a realistic skin shader. I was looking for a better way than pure sss, because IM(h)O, the sss renders make the objects look like wax rather than organic tissues - sss blurs the bumps on the meshes when applied too strongly :(. I was wondering how I could achieve a shader which wouldn’t look like rock or even worse, plastic, and neither like wax. The answer is, as you now, to use a kind of multilayered shader, which simulates both epidermis and dermis. Epidermis with a subtle sss effect in order to see the fine shapes on your model, and dermis with a quite strong sss effect which allows to have a soft orange shading which doesn’t look like plastic.
So I built my shader with nodes, combining 3 shaders for the diffusion : 1 : epidermis, 2 : dermis, 3 : back sss - veins/muscles etc for the back lighting, which makes appear red tints on the ears for example. For the specularity, I decided to use 2 layers of speculars : the speculars of the skin look soft and large (I applied them on the epidermis shader), and on another shader, I put quite bright and blueish speculars in order to simulate the reflections on the sweat (maybe it could be more realistic with the new feature of soft reflections in the 2.46 release… To be explored :))
Finally, I came up with quite satisfying results, to my sense. I believe that with some well done textures, it could achieve a great realism, which was what I was looking for :cool:
The textures are only procedurals I took from the shader of Carsten on the material repository. Here are some test renders on a simple sphere, Suzanne, and the legendary Stanford dragon, which offers to my sense more interesting and detailed shapes than the default Monkey (sorry Suzanne… :p) :

http://pix.nofrag.com/8/f/c/a3e39722d0c4df61d111a5e5cff86.jpg

I also rendered 2 videos, one with a rotating Suzanne with the same textures as above, and one with a hand I did in MakeHuman quickly, without any textures :
- Suzanne
- Hand

I do not deserve any congratulations, since the whole shading model was “inspired” by the fast skin shader of mental ray. In fact, if you take a look at how it is built, you’ll see that I almost copied it entirely :smiley: But I was judging that someone HAD to do it one time with Blender, since I hadn’t seen that kind of material with blender (except in a Blender magazine issue, if I well remember).
That’s all folks ! Any comments ? I would be pleased if you could help me to improve this shader. :smiley: If you want to download the Blend file of the material, just check it on the Blender material repository HERE
Have a good day guys :cool:

Very fleshy looking, I wonder if it would be possible for Brecht to add multiple SSS channels per single material and such as to make it all possible with one material.

That would be great, indeed… But I guess poor Brecht has been quite busy those times ^^

Brecht had to add AAO, several new skinning improvements among a good host of other things for Peach. I think he’ll have some time for non open project related features between now and Project Durian.

Welcome to the Blender forums and hope you’ll learn much from us as we from you :slight_smile:

Better still, like you could paint a bump map or color map etc, you should also be able to paint a SSS map. That waxy look is caused because the SSS effect is uniform. But in real life, where there is more fat and or cartilage on the face there is more SSS and where there is more bone under the skin, there is far less SSS (forehead, nosebridge etc).

Brecht is aware of this due to discussions in prior threads, but he is just one guy, and the new functionalities keep piling up. Would be nice though to have this ASAP.

Couldn’t you have a material with a smaller SSS radius and mix it in to the other material using a texture.

I guess it would be nice to be able to affect the SSS directly in the node editor. Save SSS configurations then access them using an SSS material node.

Unfortunately I have no time to model, uv map and texture a whole face those times… But I thought of what you’re saying (toontje), the idea of thicnkess of the epidermis, which causes the scattering to be stronger or not in special areas… And I came to the idea that there is no need to paint another texture on an humanoid model, since areas where the epidermis is thin appear red (lips and so on), whereas areas with a thick epidermis appear yellowish (under the feet for example, where the skin is quite dry :D) And about what you said CyborgDragon : it would be usefull indeed, because working on a 3 layered sss shader is really not light, it’s boring when you’ve to switch between epidermis and dermis, etc… When you build your layers step by step there is no problem because you test each shader appart, but when it comes to refining the global look, it is … well… (don’t know enough adjectives in english :D)

That is very nice! subscribing

Very nice. As for the sss weighting, if the skin is combined via nodes, you could make a greyscale texture and blend them via alpha values.

Looks cool. I think SSS is important for a realistic model, which seems to be a common goal in several recent threads I’ve been viewing.

I have been playing with this mat today and the idea is really good but alot of things had to be changed for somthing that looks good, for starters its too rough, turn down the bumps, for spec on the base mat you need to have a clouds texture controling it as spec on skin is not even, also there is way too much SSS the SSS mats just need to be mixed slighly lower, and finally the final mat comes out too brown, just turn down all the brown tone textures

after all this you should end up with somthing like this

Don’t forget UV mapping, if you want organic color use UV’s. Keep using SSS though for the texture.

Really a nice skin shader! I was doing my own research on this topic, but yours is definitely better.

Here’s a quick test with your setup (still tweaking the maps)

http://i119.photobucket.com/albums/o147/Radeoff/kindre/sssprova5.jpg

I used another matnodes group for the specularity, like Maqs here

http://blenderartists.org/forum/showthread.php?t=113412

still I have to figure right what the sweat node does, I reduced it a bit… anyway, many thanks really!

I think the original posters material looks much more realistic than this. You took out all the stuff that made it look right… the skin is too smooth and it could definitely use more SSS.

Thanks guys for your feedbacks ! :slight_smile:
About skin thickness : what I was trying to explain was that in fact, we just need to use the red levels of the color map as a blending factor between dermis and epidermis, since areas with a thin layer of epidermis appear red (lips) whereas areas with a thick epidermis appear yellow - under the feets for instance (so there’s less red in the color map).
mfoxdogg : of course there will always be a need to change the basic shader to your convenience. I was trying to build a model for simulating the look of skin, which doesn’t mean that it works in all cases : the basic idea is there, and then of course, when it’s time to work on the feeling the skin should give, my shader needs to be modified so as to obtain what you want. I just built the skeleton of the shader with a global approach, which needs to be adjusted in order to get what is needed, that’s to say that I didn’t care a lot about the slight balancing stuff which has to be done, such as tweaking the sss radius and color, etc.
pKrime : your way of doing speculars is interesting. If I well understand, it uses 2 layers of speculars, one layer of larges and soft speculars, and one layer of bright highlights. I did this also on my shader, but speculars are not as convincing as I had expected them to be…:frowning: Needs to be explored. Maybe a Lafortune specular shader could be usefull. And about the fresnel effect, it is for sure possible to use this, but rather for soft looking skins, with a kind of “fur” which causes the areas perpendicular to the camera to appear brighter (or even with particles, it could be better), and in my case, I wanted to have a wet skin :slight_smile:
Finally, here’s another test render I did on the Stanford Buddha. I was even surprised to see how nice it looks with just one texture :

http://pix.nofrag.com/3/d/1/d1782322c911a932a70203590a58ctt.jpg

As a last note : if you want to use the shader, your objects needs to have the 5 materials applied on it, even though it only uses the Node shader (“Combined_shaders”). When adding the shader to your mesh, you have to click 5 times on “add material”, and replace every material with the good ones : epidermis, dermis, and so on, and FINALLY, to apply the node shader to all polygons. I don’t know why, because in theory, the node shader is some kind of “link” to the other ones… To see if the whole shader is applied correctly, just check your render during the process, normally it renders 3 sss preprocessing passes, if there is just one, two or no sss preprocessing at all, then switch back to the shader tab and correct it :smiley: Hope I’m clear…
'have to work my philosophy a little, so good night everybody XD

uhm… why is back_scatter material pure black?

Pixelvore

that is some decent shader for a 16 year old :slight_smile:

Just kidding about the age - not the shader.

I actually just apply the shader tree and this one includes all connected
materials as well. works fine here.

However when I render your bump map for some reason creates funny
mh textures and does not bumb at all.

pKrime, the reason is simple : the back sss shader is added to the others via the node editor ; it is overall black, except in areas where the object is lit from behind, which appear red with the back sss shader. So, when you use the Add node, the black doesn’t change anything (black colour : R : 0, G : 0, B : 0 :)), whereas red areas give the good tint, adding red values to the dermis and epidermis :

http://pix.nofrag.com/5/c/a/31a834de044215d8921187648d9e2.jpg

cekuhnen, about the bump problem, all I can say is that I cannot say anything XD I have absolutely no idea of what could have gone wrong. Maybe you could send an image and upload the blend file ?
See you
Pixelvore

Cool I’ve just downloaded the “human skin” material

That’s a cool material. I applied it on my head model and here is the result.


That’s a very good start. Now I need to replace the procedurals with maps and adjust the parameters so it looks good with post tone correction.

Thanks you for sharing this shader.