Thu, Jan 9, 9:43 AM CST

Renderosity Forums / Poser - OFFICIAL



Welcome to the Poser - OFFICIAL Forum

Forum Coordinators: RedPhantom

Poser - OFFICIAL F.A.Q (Last Updated: 2025 Jan 09 3:46 am)



Subject: TUTORIAL : Realistic Skin Rendering


face_off ( ) posted Wed, 08 December 2004 at 4:28 PM ยท edited Thu, 09 January 2025 at 9:43 AM

Attached Link: http://www.users.on.net/~pkinnane/RealSkinShaderTutorial.html

Hi All Well after months and months of tinkering with nodes in the mat room to get more realistic skin, I've come to a point where I think I've taking it to where I'm comfortable with it, and it needs fresh ideas (ie. from other poeple). Also, I am spending more time on other projects. So I want to get what I've found out into the public domain. The link above directs you to a tutorial I have written on rendering (more) realistic skin in Poser. Enjoy.

Creator of PoserPhysics
Creator of OctaneRender for Poser
Blog
Facebook


nickedshield ( ) posted Wed, 08 December 2004 at 4:43 PM

Thanks for the tut:) More stuff to try.

I must remember to remember what it was I had to remember.


SamTherapy ( ) posted Wed, 08 December 2004 at 5:22 PM

That looks amazing. Thanks for sharing.

Coppula eam se non posit acceptera jocularum.

My Store

My Gallery


Aeneas ( ) posted Wed, 08 December 2004 at 5:30 PM

I'll give it a try tomorrow! Thanks a lot!

I have tried prudent planning long enough. From now I'll be mad. (Rumi)


quinlor ( ) posted Thu, 09 December 2004 at 2:58 AM

Cool! I am a little short on time at the moment, but I will definitifly a try.


xantor ( ) posted Thu, 09 December 2004 at 4:47 AM

Thank you.


quinlor ( ) posted Thu, 09 December 2004 at 5:00 PM

Very interesting approach! Calculating the light vector outside of poser is just the breakthrough idea that eluded us (or at least me) so far. I would be very interested about the reasoning behind the fresnel effect spots at 45. All fresnel effects I have read about work different (mostly on the specular channel), but your effect sure looks good. Was it just try and error or is there some interesting piece of theory behind it?


face_off ( ) posted Thu, 09 December 2004 at 5:14 PM

Quinlor, glad you got something out of the tut. Fresnel Effect....well at one point I had this theory that light reflected a different colour based on the angle it hit the skin (almost like the skin cells bounced back white light straight out, and red light if it hit the side of the cell. If you had a look at any photo taken with a flash, you'll see all the 45 degree skin surfaces are red, and the facing skin is white. So it all sort of made sense and I implemented the fresnel effect. Then I got more into sss and realised that's what was causing the redness, so I removed the fresnel effect, implemented the incident effect, but the renders still lacked a little something. So I added the fresnel again! The fresnel is almost impossible to see, but you notice it if it's not there.

Creator of PoserPhysics
Creator of OctaneRender for Poser
Blog
Facebook


an0malaus ( ) posted Sat, 11 December 2004 at 10:50 PM

Content Advisory! This message contains nudity

file_152995.jpg

Being on a Mac running P5 in OS X, I don't have the ability to run Python scripts that use Tkinter due to the painful CFM vs MachO python binaries issue. That said, I wish to express my extreme gratitude to face_off for making his Real Skin Shader Tutorial available for free (I would have bought the Python configuration tool in a flash if it would work on my system).

I'm having a bit of a problem though, I'm illuminating my scene with a couple of 180 (limits edited) intense (200%) spotlights inside a reflecting cube. I have recreated the Real Skin Shader manually following the tutorial, but I'm getting strange black spots around what I assume are polys almost parallel to the incident light. (See examples above and below - Nudity checked but probably not required)



My ShareCG Stuff

Verbosity: Profusely promulgating Graham's number epics of complete and utter verbiage by the metric monkey barrel.


an0malaus ( ) posted Sat, 11 December 2004 at 10:54 PM

Content Advisory! This message contains nudity

file_152997.jpg

This and the previous sample are P5 production Firefly renders with raytracing on. The first has smooth polygons and texture filtering on, while the one in this post has those two options off. The change moves the spots about, so I'm not sure whether they're raytrace artifacts alone or some problem with my shader nodes.



My ShareCG Stuff

Verbosity: Profusely promulgating Graham's number epics of complete and utter verbiage by the metric monkey barrel.


an0malaus ( ) posted Sat, 11 December 2004 at 11:00 PM

Content Advisory! This message contains nudity

file_152998.jpg

As a comparison, I disabled ray tracing for this render. Consequently, shadows are lost as they were raytraced, but so are the black spots. The skin shading appears identical in the illuminated, unshadowed areas. Can anyone suggest where I should look next? I can't find any glaringly obvious errors in my shader node setup. I'll post the material file specific to my main light direction if that's useful.



My ShareCG Stuff

Verbosity: Profusely promulgating Graham's number epics of complete and utter verbiage by the metric monkey barrel.


an0malaus ( ) posted Sat, 11 December 2004 at 11:14 PM ยท edited Sat, 11 December 2004 at 11:18 PM

file_152999.jpg

I should add that to reduce the reflection interface and transparency speckling effects that Poser's tiny coordinate system and Firefly number rounding imposes, all objects in my scene, including the lights, are parented to the room figure which is then scaled up 10 times.

I have attached my body skin material file in case it will help solve my problem. The file is probably only useful to other Mac users who can't run face_off's Python Shader Setup script, but it would have to be modified manually to change the texture, bump and the normalised light vector components to suit someone else's scene. Message2040202.txt needs to be renamed to RealSkinBody.mt5 to be recognised by P5.

Please scream at me if this is a no-no and I'll pull this post. :-)

Prefix-GeoffIX-Suffix

Message edited on: 12/11/2004 23:18



My ShareCG Stuff

Verbosity: Profusely promulgating Graham's number epics of complete and utter verbiage by the metric monkey barrel.


face_off ( ) posted Sun, 12 December 2004 at 5:11 AM

gwicks, firstly, the 3rd render is nice. A great "red" transitioning between the light and dark side of her thigh. The light side is too yellow IMO, and this is generally due to too much lighting in the scene. Real skin under heavy lighting goes very white, not yellow. Also, have you got the ambience incidence effect plugged in? The dark side of her thigh is too dark. Maybe wind the ambient red up a little. One of the weaknesses of this technique is that there is no ambient red on directly backfacing (to the main light) poly's. Will find a way around this one day.... On to your problem at hand. I had never seen the effects you are getting (although I don't use r/t shadows that often). One thought that comes to mind is that it's being caused by the displacement map. Try switching that off and see if it helps. Seems to be a shadow problem, so try depth-mapped shadows instead of r/t. Also try turning up the shadow min bias.

Creator of PoserPhysics
Creator of OctaneRender for Poser
Blog
Facebook


ynsaen ( ) posted Sun, 12 December 2004 at 5:28 AM

If the shadow bias doesn't fix it, this is due to the miniscule nature of poser's scene-space. basically, the shadows require too fine a calculation value in raytracing because they are too small. Try the shadow bias first, always, If it doesn't work, increase the total scale of all your objects in the scene, and it will vanish at about 10 times their current size. As for the shader work: Awesome work. thumbs up

thou and I, my friend, can, in the most flunkey world, make, each of us, one non-flunkey, one hero, if we like: that will be two heroes to begin with. (Carlyle)


an0malaus ( ) posted Sun, 12 December 2004 at 8:35 AM

Ah! Thanks face_off and ynsaen! I decided to do a bit of RTFM. Unfortunately, as usual, the P5 documentation is nothing more than a tease, hinting at answers but failing to provide them or a rational way of deducing them short of tedious trial and error. Can someone tell me what the value the render option "minimum displacement bounds" actually does. The manual implies it's measured in pixels, but that seems illogical. Mine seems to default to 0.000. I have "use displacement maps" checked (having tried disconnecting then reconnecting all the granite nodes from the displacement option in the root node for V3's material zones. Doing a test render now (tap foot. look at watch. repeat ad nauseam) with min displace bound set to 1.000! Will muck with shadow bias next render if that doesn't help. I already have my scene scaled up 10 times. I'll try 100 after that, lol. As far as the yellow tinge to the skin tones goes, I'll try setting the lights back to colourless greys.



My ShareCG Stuff

Verbosity: Profusely promulgating Graham's number epics of complete and utter verbiage by the metric monkey barrel.


AntoniaTiger ( ) posted Sun, 12 December 2004 at 10:15 AM

I don't think I can add anything significant, other than I've had odd experiences when using displacement-map methods on figures. Every Poser human I've tried, from Posette to Aiko 3, will only accept a very slight dioplacement before polygons seem to vanish from the mesh, leaving those little patterns of black holes in the surface. On reflection, the mention of Firefly rounding errors could be part of the problem. The effect does seem to be worse on the newer figures, which have the smaller polygons. Aiko 3, currently free from Daz, is the only one of their hi-polygon unimesh figures I have.


an0malaus ( ) posted Sun, 12 December 2004 at 10:32 AM

file_153000.jpg

According to what I read in the P5 Manual, the minimum displacement bound should define the offset of an expanded bounding box [sic] beyond which displaced vertices are clipped, potentially leaving holes in the mesh. I've set mine to 1.0 and it doesn't seem to have made the black spots go away, so I'm trying increasing the shadow bias of the lights and reducing their intensity as suggested by face_off and ynsaen. I was seeing an extreme example on lilflame's round sofa until I turned off polygon smoothing for it. There may be something similar happening on the figures. The sofa also has a displacement map, but interestingly its effect is only visible in the reflections of the sofa, rather than the direct path to camera view.



My ShareCG Stuff

Verbosity: Profusely promulgating Graham's number epics of complete and utter verbiage by the metric monkey barrel.


AntoniaTiger ( ) posted Sun, 12 December 2004 at 10:34 AM

Looking at the tutorial, that Displacement value may be just high enough to trigger these bad effects. I'll have to try this out. And I shall have to see how the Granite node setting interact. (Aiko 3 has the Spandex morphs to give cloth edges at wrists, ankles, and feet. allowing the creation of a catsuit as part of the figure. There is also a new material-zone arrangement to allow shorter sleeves and pant-legs, but without the morphs the result looks as though it was painted on. Feeding a displacement into the material for the clothed body-surface gives that edge, but can trigger the lost polygon effect.)


an0malaus ( ) posted Sun, 12 December 2004 at 10:44 AM

Content Advisory! This message contains nudity

file_153002.jpg

Here's the other strange example of visible displacement in a reflection but not directly on the unsmoothed round sofa. The clarity is poor as the reflection is not full strength, but if you zoom in, the displacement artifacts in the specular regions of the sofa are obvious in the reflection but totally absent in the direct view. Wierd!



My ShareCG Stuff

Verbosity: Profusely promulgating Graham's number epics of complete and utter verbiage by the metric monkey barrel.


AntoniaTiger ( ) posted Sun, 12 December 2004 at 11:04 AM

file_153003.jpg

Here's a sample of the Displacement effect I was talking about.

Figure is V3 RR.

Input to Displacement is the default Single_Color (white).

It looks like we have polygon edges not joining. Maybe rendering to a bigger window would help.


face_off ( ) posted Sun, 12 December 2004 at 2:40 PM

OK, there is a lot going on here....A couple of points (all based on my experience, rather than what might actually be factual). 1) If you have displacement bounds (FF setting) set the the displacement value in the mat room, you should get mesh breakage (unless the mat room node for displacement are passing a value of < 0 or > 1). In general, if you've got displacement bounds set correctly, any black spots will be caused by shadowing. 2) Min shadow bias....0 has always resulted in an object self shadowing itself in my renders. 0.3-0.4 seems to be the minimum level I can use to avoid this if I'm using displacement maps. 3) poly smoothing....IMO you should always have this on. It provides a true poly subdivisional surfacing, which should get rid of the sofa edge artifacts shown above. 4) AntoniaTiger....The effect you are getting above demonstrates one of the probs with displacement mapping in general (not specifically with Poser). It is not valid to simply plug white into a displacement map node. You need to build the displacement map in ZBrush, or another similar app - which will compensate for the poly edges in the map. Alternately, using a very low color or displacement value (as the RealSkinShaders does) gets around the issue.

Creator of PoserPhysics
Creator of OctaneRender for Poser
Blog
Facebook


AntoniaTiger ( ) posted Sun, 12 December 2004 at 5:54 PM

Well, I'd figured that displacement in Poser was a bit inflexible. It seems to be best on flat surfaces. There doesn't seem to be any difference between using a non-white input and turning down the numeric value of the displacement.


face_off ( ) posted Sun, 12 December 2004 at 6:22 PM

Displacement in P5 is actually very flexible. There is a render in my gallery of a muscle-bound Don - which is all done with Displacement maps. Given my questionable modelling skills, the outcome isn't that good, but it proved the system. The trick is it get the right displacement maps.

Creator of PoserPhysics
Creator of OctaneRender for Poser
Blog
Facebook


raven ( ) posted Mon, 13 December 2004 at 7:31 AM

AntoniaTiger, try increasing the Minimum Displacement Bounds in the render options to stop getting mesh break-up when using displacement maps.



AntoniaTiger ( ) posted Mon, 13 December 2004 at 7:44 AM

Thanks, Raven, I'll try that. Anyone got any pointers to further Displacement Map tips? Might be worth a new forum thread, too.


face_off ( ) posted Mon, 13 December 2004 at 3:04 PM ยท edited Mon, 13 December 2004 at 3:07 PM

AntoniaTiger, do a seach for "quinlor" in this forum. He posted a node setup for displacement mapping to get around the 8-to-16 bit colour issue.

Message edited on: 12/13/2004 15:07

Creator of PoserPhysics
Creator of OctaneRender for Poser
Blog
Facebook


AntoniaTiger ( ) posted Mon, 13 December 2004 at 4:51 PM

Thanks for the pointer.

ZBrush looks to be seriously heavy-duty software, and a bit beyond my reach at the moment.

Raven, it looks like adjusting the Minimum Displacement Bounds fixes the effect I showed in that picture upthread.

Sorry, face_off, but I don't agree with you over the validity of just plugging a colour into the Displacement input. It's not well-explained, but all the shader nodes are effectively working on a UV map, and a simple colour node is effectively a single-pixel map. Using that colour, and tweaking the numeric value, seems to make the difference between something being painted on, and looking like close-fitting fabric. It gives you a physical edge on the body-surface.

It's a crude trick, but, now I've sorted the surface tearing, it works.


an0malaus ( ) posted Tue, 14 December 2004 at 12:15 AM

OK. More stuff learned the hard way. Without being finished with my testing and still not getting what I expect from displacement maps, I appear to be getting somewhat closer to the answers I need. Since my scene is all scaled up by 10 times (everything parented to a single room figure), it appears I have to multiply my displacement limits by 10 times as well! I do not have the Global Coordinates check boxes set on my displacement shader nodes, but I've had to set my minimum displacement limit to 10.0 with comparably large values on individual objects in order to render the round sofa with polygon smoothing and without the displacement clipping render artifacts. I still can't see any effect from the displacement shader itself yet, so I'm going to try boosting the scale of that next. This is getting painful. Flexible, I'll grant you, but painful nevertheless :-)



My ShareCG Stuff

Verbosity: Profusely promulgating Graham's number epics of complete and utter verbiage by the metric monkey barrel.


slinger ( ) posted Sat, 15 January 2005 at 2:09 PM

Attached Link: http://www.renderosity.com/viewed.ez?galleryid=856238&Start=1&Artist=slinger&ByArtist=Yes

I just wanted to say thanks for a great tutorial. It does look a bit daunting to start with, but it's definitely worth the concentration required ;) Here's how it turned out for me. http://www.renderosity.com/viewed.ez?galleryid=856238&Start=1&Artist=slinger&ByArtist=Yes

The liver is evil - It must be punished.


an0malaus ( ) posted Sat, 15 January 2005 at 8:59 PM

Nice one slinger :-)



My ShareCG Stuff

Verbosity: Profusely promulgating Graham's number epics of complete and utter verbiage by the metric monkey barrel.


msg24_7 ( ) posted Sun, 16 January 2005 at 9:27 AM

Content Advisory! This message contains nudity

Attached Link: http://www.renderosity.com/viewed.ez?galleryid=859240

Must agree with slinger... It's worth it :-) If anyone's interested, here's my result http://www.renderosity.com/viewed.ez?galleryid=859240

Yesterday's the past, tomorrow's the future, but today is a gift. That's why it's called the present.


Privacy Notice

This site uses cookies to deliver the best experience. Our own cookies make user accounts and other features possible. Third-party cookies are used to display relevant ads and to analyze how Renderosity is used. By using our site, you acknowledge that you have read and understood our Terms of Service, including our Cookie Policy and our Privacy Policy.