Skin Plugin Examples


#1

I’ve been asked, on another thread, to show some examples of my skin shader in action. Here are some examples:

With the available set of parmeters, it is possible to go very wild. Here is a render where I’ve set the blood color to green to show how the plugin works its color shifts.


#2

Ooo yea. Thats what I’m talking about.

It still doesn’t have that. . . glow too it though. I wonder if you could lower the diffuce falloff on the surface to create a harder shadow edge and then bump up the ambience of the translucant color to simulate a bit of SSS?


#3

Yves, this looks interesting. please keep us updated. I’m sure the masses will be wanting to have this as a tool.
Mike Fitz
www.3dartz.com


#4

Very nice effect!!!


#5

You can play with the hardness of the shadow and shading by tweaking the plugin roughness which does a Oren-Nayar shading. Or you can play with the saturation shift/end to position the light-to-shadow transition shifts. You can also shift the hue shift relative to the saturation shift.

Playing with the ambiance is tricky because of the light terminator. The shader does not get called beyond the terminator. But I will see how far I can go in this direction.

This said, this plugin is already one year old. A user (Tony, but I can’t find his handle here)have made me aware of the works by Beeson et Bjorke (See http://downloads.gamedev.net/pdf/Fernando_ch03.pdf). I plan to implement some of their techniques in my skin shader.

The set of parameters for the shaders are attached:


#6

Wow !!

That’s all i can say ! Except “Yves, You Da Man !!”

Keep up the good work !! And perhaps we can see this in a future release of A:M ?

And as I’m here, do you have to implement Fresnel term in transparency for future version of A:M ? (Ok, I know, it’ a bit Off Topic… Forgive me for Hijacking the thread ! :banghead: )

@+,
Laurent aka Tartiflette :-))


#7

Shouldn’t you have made the plugin a type of combiner instead of a shader? What if I want to show blue veigns when the light is really bright on the surface but have them less apparent when the light angle falls off? What if I want the red “glow” to be kinda. . . lumpy. Like the surface underneath has varying levels of opacity? Seems like an incident angle/gradient with a user definable light source would allow for more freedom. . .


#8

Material and shader are different:

A material (combiner and texture) have no idea of the existence of any light in a scene. It only get a 3D coordinate which is the projection of the pixel from the camera onto the surface of the object. In other words, it is the camera hit point. So a material cannot compute a color (or any other surface attribute) according to light incidence. Another thing the API with a material does is compute the model-space hit point. This is how a material does not crawl on the object surface as the object is animated.

A shader have no idea of where on the surface of the object it is located. The only thing it knows is that it’s been called and should then shade. At each pixel, it is called once for every light in the scene. It knows the surface normal, the light direction and the camera direction. That’s about it.

That’s why the lighting effects that can be achieved with a shader cannot be duplicated with materials and vice-versa.


#9

So. . .

Wanna run that by me again?

Your saying that what you have here is a shader. And shaders don’t know where they are on the model. . .

Is it possible to create a new gradient/combiner that worked with lights instead of the camera?

I know you can in Messiah. . .


#10

No. Actually, we don’t have a combiner plugin API in the SDK. We can kind of pervert the turbulence plugin to do a combiner job. It have the same limitations as a texture. In other words it knows nothing about the lights in a scene.


#11

Eventually, yes, but I don’t know when. Although Fresnel transparency is mathematically not more difficult to do than Fresnel reflectivity, there are more special cases and issues to handle with transparency. So Fresnel transparency is actually more difficult to implement than Fresnel reflectivity.


#12

Anybody know where can I get this plug in for skin that Yves is talking about? Never saw it. Great effect on the skin. Looking real cool.


#13

Forgot after reading Weggs post about= it being possible to create a new gradient/combiner that worked with lights instead of the camera? I know you can in Messiah. . .=
This souds really really cool any chance this can be done with AM in a different way-a cheat thing or something. Or maybe a future vesion?


#14

I know it can be done. The toon renderer uses it. . .

That would be the trick. . . some kind of subtle toon overlay. . .


#15

It can be done. But not with the SDK. That’s what I’m saying. The SDK only provides an interface for combiners/texture/turbulence is one way and for shader in another way. To do what you are suggesting would require at least the materials and the shaders to be integrated or better yet, the decals to be integrated to that too.

There are possible clever hacks. For instance. Handy Whittock used a combination of material and shader for his ‘comic’ shader where he used the specular intensity of the material to drive the shader result. But that is to the expense of not using the specularity for what it is designed for and that works for extremely special cases. Your vein example would be difficult to do because it would require a texture plugin which would be too general and versatile. The ‘Comic’ texture/shader combination works because the texture that goes with it is specificaly designed to encode some specific dot patterns and nothing else.


#16

If what you are looking for is this then this can be done already with the gradient shader. In fact, I started experimenting the skin plugin ideas with the gradient shader. With the gradient shader, the gradient is computed from the light direction instead of from the camera.


#17

Is it normal/bump map aware?


#18

Thanks Yves for your Reply !

Looking forward to it in a future version ! :slight_smile:

No pressure, though, because I’m on the Mac platform, and I’m stuck to v10.5, which is already a lot of fun to use… and to learn ! :wink:

And perhaps, in the future the SDK will be improved or opened ! (I don’t know which term is better, so, as I don’t want the Mod of this forum to be angry, I write the 2s… :wink: )

Keep up the good work… and the information about how things are evolving ! :slight_smile:

@+,
Laurent aka Tartiflette :-))


#19

Yes. In the sense that if there is a bump map or bump material applied, then the shader plugin will receive the bumped normal. It also gets all the surface attributes.


#20

I have had ypoissants skin shader for a while and have been waiting for it to get released into the public domain so I can see what other people do with it. It certainly does the job of getting rid of the “corpse” look at the very least. I have been using it more or less as a beauty button and it has gotton onto all kinds of things such as leather shoes and anything like that.

I havn’t tried it on hair yet but it might have its uses there (allthough a gradient would probably do).

I agree that some kind of ambiance shader would be cool. I would also like to see the ability to have the bump map effect the specular more than the diffuse. But other than that I don’t have any complaints.

I think it is about time the beast was let out of the cage and Yveses hard work was appreciated.