|imago - an audiovisual triptych||about | dates | documentation | making of | team|
since a change in the geometry of the model also leads to a change in the texture coordinate layout we could only start the texturing process after the base mesh was completely finished. the eight pictures we had from around the head needed to be merged into one that would cover the head continously and seamlessly.
first of all it was important to have a perfectly unfolded uv set, meaning that every vertex needed to have a unique texture coordinate assigned. overlapping texture coordinates cause troubles when exporting the mesh to .x or .obj, resulting in a texture being randomly placed on the model. so, starting from a simple cylindrical projection, hundreds of samples, especially those around the ears and the mouth with its inner parts, had to be put in place manually to unwrap the complex subdivision surface in a way that as many parts of the face as possible could be projected with the highest available resolution while retaining the least amount of distortion.
in the next step each one of the photographs was projected onto the head from approximately the same angle it was captured in the real world. from the resulting scene a rendermap was created, so each respective part of the face was calculated onto our uv set. of course, after repeating this process for all of the photogpraphs we had (including several views from above) there was a lot of overlapping information. each of the photographs had its own slightly different lighting, with shiny areas on different parts of the face. therefore in a last step all of the rendermaps had to be elaborately retouched into one, producing a uniformly lighted picture of the performers face.
out of the resulting picture with a resolution of 2560x2048 pixels we created a black and white bumpmap for the rougher parts of the face which needed a bit of surface detail. with a tool from nvidia we transformed the bumpmap into a normalmap to achieve a better effect during rendering. the normalmap provides the direction of a surface normal for every pixel which is used during shading to simulate a more realistic, bumpy skin.
for the texturing of the eyeballs we needed three texture layers: a white, veined background layer, a free to move iris layer with additional veins, mapped with an alpha channel, and on top a shadowed rim around the lids with the red inner portion of the eye, also mapped with an alpha channel.
ambient occlusion map
when taking the pictures of the head we tried to have a very even lit skin. now of course or base texture looked rather unrealistic in the first place. to achieve a basic kind of self shadowing we created an ambient occlusion map with muh's dirtmap shader in softimage|xsi. the shader considers parts of the mesh that would not be lit so strong because they are being occluded by other parts of the mesh and marks them darker. by simply multiplying this map with the current pixel color in a last step of the pixelshader, additional realism was achieved.