Saber Posted June 10, 2007 Share Posted June 10, 2007 hi freind please i'm working on rendering a relaistic human skin using houdini with mantra. i have make a tour on the sss topic and i have found a lot of info about sss but my question is putting all of this togethere to get a realistic skin using texture and so on. please help Quote Link to comment Share on other sites More sharing options...
Mario Marengo Posted June 10, 2007 Share Posted June 10, 2007 hi freindplease i'm working on rendering a relaistic human skin using houdini with mantra. i have make a tour on the sss topic and i have found a lot of info about sss but my question is putting all of this togethere to get a realistic skin using texture and so on. please help "Realistic human skin" and "urgent" don't go together very well It usually takes a little time to come up with something like that. To incorporate a texture map with the shaders in the SSS thread, I'd suggest scattering white light and then multiplying by the texture map at the end. So if the single-scattering component is Csss, and the multiple-scattering component is Cssm, and the texture map is Ctex, and the extra Oren-Nayar component is Coren, and the extra Cook-Torrance component is Cct, then you might want to try: Cf = (lerp(Cssm,Coren,diffuse_mix)*Ctex) + Csss + Cct; Hope that helps. Quote Link to comment Share on other sites More sharing options...
Saber Posted June 10, 2007 Author Share Posted June 10, 2007 thanks for help thanks need a lot of twick . Quote Link to comment Share on other sites More sharing options...
Serg Posted June 10, 2007 Share Posted June 10, 2007 (edited) thanks for help thanks need a lot of twick . I usually use 2 sss shaders in my skin shaders... one of them deals with the light bouncing around inside the flesh and is multiplied with a red tinted texture map (start with the color tex and darken areas of bone /cartilage etc..), The other one is for the very shallow light scattering (it's subtle but very obvious in its absence) that occurs at the skin level before being transmitted to the flesh underneath. This should be very pale and tinted with a yellowish color at the terminator (I use the incidence angle from the light to control where this coloration happens), and then multiplied with the color texture. The yellow tint happens because the skin appears to be thicker at grazing angles is thus absorbed by more of the skins natural pigmentation. Unfortunately I dont think you can do the scattering part of this step in mantra efficiently, the point clouds would have to be very very heavy. I found this link a couple years ago about the skin shading used in the film Matrix Reloaded: http://www.virtualcinematography.org/publi.../Face-s2003.pdf I probably achieved my best results from using this technique but for animation its very impractical to be baking the diffuse lighting per frame, blur it, re-apply it, re-render, oops the light changed, re-bake... etc, etc... and uvs must have as few seams as possible since you cant blur across discontinuous uvs, and must be as distortion free as possible because the blur size is in image space. This is why I'm hoping that Mario will one day give us a shader that blurs the diffuse lighting a little bit, or maybe version of his shader that does the scattering without the need for pclouds There is a shader for C4D called chanlum that seems to do could pretty much what I'm after: http://www.happyship.com/lab/chanlum/docum...tion/index.html Most of the examples the author understandably seems to want to push this technique towards faking deep scattering, but I believe something like this would work really well for the shallow stuff. In fact a shader space gaussian blur would have a lot more utility than just shallow sss, many times I wish I could just blur that procedural texture in my ocean shader little bit to. Another often neglected component of realistic skin is its varying soft reflectivity, very soft at the cheeks transitioning to quite sharp reflections at the nose for example. Usually the case is that the render time is too long for this. To achieve a similar effect I like to use specular only area lights all around the model. You may get away with regular lights but the reason for the area lights is so that I get specular hits have of varying sizes/roughness....btw, why havent developers already put glossiness/roughness multipliers onto the lights themselves? isnt it a very obvious thing to try to imply the size or proximity of a light by changing the size of its fake reflection? some links that may help: http://graphics.ucsd.edu/papers/layered/layered.pdf http://graphics.ucsd.edu/papers/siggraph2006skin.pdf Sergio Edited June 10, 2007 by Serg Quote Link to comment Share on other sites More sharing options...
Saber Posted June 10, 2007 Author Share Posted June 10, 2007 thanks for info again but realy we found that using di-pole sss is the best way to deal with effect. using renderman or mantra i genraly calculate the pointcloud then load as it render i don't render them at the some time for animation. i have found a lot of fake with sss and their is realy a cool stuff at sidefx forum i don't remeber the link but their is a Vex node that simulate the sss in the scene in real time and it the best way for faking sss but my problem is how to use the diffrenent sss layer and how to combine them together what equation did need i to apply i have calucalte the two sss pass but i need to know how to apply them to the diffuse .i have see some peple that merge the two sss layer with ptmerge then use some equation to get the final look of the sss .i have scene all the sss sigraph paper and i realy tend to creat a signle suubsurface scattering and i have upload the image in the sss diary u can find them in the lastest page i'd think. also i have found tutorial on how to do the some think done in matrix but i think that we need to creat ur own bssrdf shader for that but the technique is the some . http://rendermanacademy.tk/ and check for the tutorial named "Subsurface Scxattering with 2d light Map Diffusion" Quote Link to comment Share on other sites More sharing options...
sibarrick Posted June 10, 2007 Share Posted June 10, 2007 One cheat I've tried in the past that works ok in some situation is to blur the surface normal and then render the surface with an ordinary shader. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.