|
![](/i/fill.gif) |
Thomas de Groot wrote:
> Like Kenneth, I am interested in knowing how you applied your technique. It
> sounds like fully procedural for creating the textures, but I imagine that
> the final run is uv-mapped on the figure?
>
Basically it is fairly simple and it is just about creating a stack of
partial transparent textures.
And for each of these texture the various properties (pigment & finish)
of the skin are controlled by uv_mapped grayscale images used within
pigment_pattern statements.
This technique to control not only the pigment but also apply variations
within the finish is around since many within these newsgroups.
In case SSS is used even the ground layer is not fully opaque but e.g.
P_Face is based on an uv-mapped pigment_pattern "pigment" where the used
grayscale image should represent the distance of the scull bones from
the surface in the same way as a specularity map represents the oiliness
of a specific part of the skin.
The basic pigment might be one of the usual image maps for poser people
or it can be just procedural to add some freckles or it can be again a
pigment_pattern where the grayscale image represents e.g. brightness
variations or freckles.
The skin of the "Chinese lady" does not use any "image"-map at all.
#declare SkinColor = <0.6, 0.5, 0.33>;
#declare SkinOiliness = 0.3;
#declare ...
#declare PP_Head = pigment{image_map{png "HeadBaseSkin" interpolate 2}}
#declare S_Head = pigment{image_map{png "HeadBaseSpec" interpolate 2}}
#local C_Face_0 = rgb SkinColor * 1.05;
#local C_Face_1 = rgb SkinColor * 0.95;
#local P_Face = pigment {
pigment_pattern {uv_mapping PP_Head}
pigment_map {
[0 C_Face_0 transmit 0.1]
[1 C_Face_0 transmit 0.3]
}
}
#local F_Skin_S0 = finish {
ambient 0 diffuse 1
specular 0.01 roughness 0.11
phong 0.01 phong_size 2
brilliance 1
}
#local F_Skin_S1 = finish {
ambient 0 diffuse 1 - 0.1 * SkinOil
specular 0.01 + 0.75 * SkinOil roughness 0.06
phong 0.01+0.5*MyLin_SkinOil phong_size 5
metallic 0.4 brilliance 1.05
}
#local T_Face_S0 = texture {
pigment {P_Face}
normal {N_Face}
finish {F_Skin_S0}
}
#local T_Head_S1 = texture {
pigment {P_Face}
normal {N_Face}
finish {F_Skin_S1}
}
When the pigment_pattern statements are nested into depth the placement
of the uv_mapping statement is important as otherwise POV-Ray claims
that it "cannot layer over a patterned texture" even if it obviously can
- in this case.
#local M_Head = material {
texture {
pigment_pattern {uv_mapping S_Head}
texture_map{
[0 T_Head_S0]
[1 T_Head_S1]
}
}
}
#declare M_Face = material {
texture {T_Head}
texture {T_MakeupGround)
texture {T_MakeupRouge}
texture {T_MakeupEyeliner}
texture {T_MakeupLipstick}
...
// for SSS
interior {
media {
scattering...
}
}
}
to give you an idea but this is just out of my head as I'm not at home
and in fact the source itself is really a mess as I'm currently just
experimenting and testing. My final goal is to have full parametrized
control over the skin appearance only by declaring a for a few variables
(or by using a macro) like e.g.
#declare SkinColor = ...
#declare SkinTone = ...
#declare SkinAge = ...
#declare SkinFreckles = ...
#declare SkinOil = ...
and then just applying the generated M_Face, M_Torso, M_Limbs and so on
materials to the poser figure body parts.
hope this helps
-Ive
Post a reply to this message
|
![](/i/fill.gif) |