3D World

DETAIL SKIN WITH UV PROJECTION

Discover how to project skin detail and texture in 2D and UV space

-

Detailing skin is a tedious job. Since the popularity of scanned data has risen, artists tend to project displaceme­nt maps and colours using software like Mari. However, projecting a 2D image on a 3D model requires projecting from multiple angles and needs blending fixes for every projection. Furthermor­e, the projected displaceme­nt map does not match the projected diffuse map, since they can’t be projected simultaneo­usly.

It becomes apparent that 3D space might not be the best place to make such projection­s. Instead, matching the model by its UV with the 2D scanned data can project a near-perfect and continuous texture. Of course, this is not the old-school UV snapshot plus Photoshop method, but even that is worth some research in this 3D-oriented texturing era.

The basic idea is simple. First, make a flattened version of the model that looks exactly like its UV, and overlap it with another flat plane with the texture attached. Second, tweak the flat UV model so that its shape matches the texture. And finally, bake the texture from the plane to the UV model. Since the UV model shares the same UV as the original model, the baked textures can also be applied to the original.

This is a much simpler workflow than the popular 3D projection method. It has three main advantages. First, once the projection model is establishe­d, it can be reused, tweaked, and you can reproject the textures with one click, providing a near nondestruc­tive workflow. Second, the projected displaceme­nt and the diffuse map are fully matched. Third, the map is continuous; no blending happens, all the data is properly copied.

This workflow is not without issues however, and minor stretching might occur around the nose and cheek area due to the original model being 3D and the textures laying flat. Further fixes can be made in Zbrush or other packages.

This tutorial requires a subdivided model with UV in Zbrush as the start. The baking package can be any 3D program that supports it. Let’s begin!

01 MORPH TO UV AND EXPORT

Make sure the model is retopologi­zed and Uv-ed. In Zbrush, go to the lowest subdivisio­n level, and export the model with the name "Head_ Orig.obj". In the Tool palette, under UV Map, set Bump to 0. Click the Morph UV button to get a flat model of the UV. Hit Export, and name the model "Head_uv_plane.obj". Open Maya and import both of the exported models, name them the same as their file names. Move Head_orig away so the models do not overlap.

02 CLEAN UP THE UV MODEL

All the vertices of Head_uv_plane are not merged. Select all the vertices, go to the Edit Mesh menu and click Merge to merge them. Open the UV Editor and select all the Edges. Go to Cut/sew, then click Move and Sew to sew all the UV edges together. Notice that the UV is flipped. Since Zbrush can flip UVS, it is not necessary to flip it here. The two models should have identical UVS.

03 CREATE THE PROJECTION PLANE

Create a polygon plane, rotate, and scale it up to overlap it with Head_ Uv_plane. Name it "Projection_plane". Give it a surface shader material, and load the diffuse colour texture of the scanned data texture set to the Out Color attribute of the material. (The asset is purchased from Texturingx­yz, but any other texture with a similar setup should also work.) Scale and move Projection_plane to match the texture with the UV as much as possible. The aspect ratio should be close to the texture loaded to avoid stretching.

04 TWEAK THE UV MODEL

Select Head_uv_plane. In the front view, go to Mesh Tools> Sculpting Tools, and select the Grab Tool. In the Tool settings, change the Alpha value under the Wireframe Display section to 1 to see the wireframes better. Sculpt the shape of Head_uv_plane with the Grab Tool to match the wireframe with the texture of Projection_plane. It is crucial to move broadly to avoid stretching, and try to match the eyes, nose and lips with the image as close as possible. Toggle on antialiasi­ng and turn off the grid to see things better.

05 BAKE THE DIFFUSE MAP

Select Head_uv_plane, go to the module drop-down menu, and set it to Rendering. Under the Lighting/shading menu, select Transfer Maps. In the pop-upwind ow, Head_uv_p lane shape should already be in the Target Meshes section. Select Projection_plane in the outliner, and click the Add Selected button in the Source Meshes section. Under the Output Maps section, click on the Diffuse button to add diffuse as the transferre­d map. Click on the folder icon, and save it with the name “Projected_d if fuse.jpg ”. Under the Maya Common Output, set the Map width and Map height value to 4,096. Hit the Bake button to bake it.

06 CHECK AND REFINE THE PROJECTION

Assign a new material to Head_orig. Attach Projected_ Diffuse.jpg to the Color input of the material, and the texture should appear on the head. Check how the texture looks on the original model. Identify areas that are not matched or being stretched too much, they often appear around the eye, cheek, or any area being moved too much. Repeat steps 4 to 6, refine the shape of Head_ Uv_plane until the project no longer has noticeable stretching.

07 PROJECT THE DISPLACEME­NT MAP

Go to the material of Projection_plane, and load the displaceme­nt map texture of the scanned data texture set to the Out Color attribute. Repeat step 5, but this time, name the baked texture" Projected_ displaceme­nt. exr".Bak et he map and load the baked Projected_ displaceme­nt. ex rt ex tu re to the Color attribute of the material of Head_orig. The texture should be mapped the same way as Projected_ diffuse; they are projected with the same models.

08 SEPARATE DISPLACEME­NT MAP CHANNELS

Open Projected_ displaceme­nt. exr in Photoshop. Go to Channels and click on the Red channel. Press Ctrl+a and Ctrl+c to copy the colours in the red channel. Go back to Layers, press Ctrl+shift+n to add a new layer, and hit Ctrl+v to paste the copied red channel to the new layer.

Go to File and then Save As to save a copy of the file. Set the Save as type to OPENEXR, and the name to“Projected_ displ ace ment_r.exr ”. Repeat the step to save the Blue and Green channels as “Projected_ Displ ace ment_g.exr” and“Projected_ Displ ace ment_b.exr ”.

09 APPLY DISPLACEME­NT MAP IN ZBRUSH

Back in Zbrush, go to the highest subdivisio­n level. In the Tool palette, click Storemt under the Morph Target section. In Layers, add a new layer and name it R. Go to the UV Map section, under Adjust, click on Flip V to flip the UV vertically. Under Texture Map, click the New Txtr button to add a new texture. Click on the big square in the Displaceme­nt Map section, and import Projected_ displ ace ment_r. exr. Toggle on the Mode button, set the Intensity to a proper value so the detail is not too strong, and click Apply Dispmap.

10 APPLY THE OTHER CHANNELS

Go to the Layers palette, and set the slider of the R layer to 0. Next, create a new layer and name it G. Go to Displaceme­nt Maps and load Projected_ displ ace ment_g.exr.T weak the Intensity value and press Apply Dispmap. Go back to Layers, and set the slider of the G layer to 0. Repeat this process for Projected_ displ ace ment_b.exr. There should be three layers named R, G and Bin Layers; each contains the three channels we loaded in. Tweak the slider values of these three layers until the details are well balanced.

11 MORPH THE EDGES BACK

Create a layer and name it Morph. Press B, M and O to switch to the morph brush and start sculpting on the edge of the projected detail to fix them; adjust the brush size so it is easy to do the fix. This step requires the Storemt command done in step 9. Sculpt over all the edges and any part with no detail to bring them back to what they were before applying the displaceme­nt maps.

12 BAKE THE DISPLACEME­NT MAP

Go to the Zplugin menu, open the Multi Map Exporter section, and toggle on Displaceme­nt. Turn off Flipv, and click on Create All Maps. In the pop-up window, save the map to an easy-to-find place. Next, go to Layers, remember the R, G, Band Morph layer values, and set their values to 0. Then head to the Displaceme­nt Map section and load the displaceme­nt map saved, setting the Intensity to 1 to get the details back.

13 MANUALLY SCULPT MORE DETAILS

Create a new layer, and start using other brushes to sculpt more detail on the skin. Don’t worry about using the smooth brush, because the skin details we have are in a displaceme­nt map. Whatever you do to the model will not destroy these details. Having these details in the displaceme­nt map helps us visualise how our newly sculpted detail combines with the details in the currently hidden layers, giving us a non-destructiv­e workflow. Add all the details needed, and refine the shape of the head.

14 TOGGLE DETAILS AND REFINE

Turn off the displaceme­nt map, and turn the layers back on in the Layers section. Sculpt any more details that are needed to blend them more effectivel­y. Use the morph brush around the thick and ridged parts of the eyelid to make them smooth. Use other noise brushes to help improve the details and the balance. This should be the final stage of the skin detailing. Feel free to use any techniques to further improve the quality of the model, spend some effort on adjusting the bigger shapes.

15 APPLY AND REFINE COLOUR MAP

Go to the Layers section and click on Bake All. In the Texture Map section, load Projected_ d if fuse.jpg. Toggle on Rgb, and toggle off Zadd of the brush on the top of the UI. In the Polypaint section, click on the Polypaint From Texture button to convert the texture into Polypaint. Pick the colour of the skin and then fill in the black and imperfect areas.

16 FINAL RENDER STEPS

After seven more hours of work I had finished the render. The hard surface was modelled in Zbrush. The model was textured in Substance Painter, and the hair created with X-gen in Maya. The assets were then brought to Unreal Engine 5 and rendered with the new Nanite lighting technology. The workflow is intended to reduce the pain and frustratio­n of skin detailing for the face, but it still requires careful fixes and improvemen­ts in Zbrush after the projection. Make sure to put enough time and effort into the refinement­s.

 ?? ??
 ?? ??
 ?? ??
 ?? ??
 ?? ??
 ?? ??
 ?? ??
 ?? ??
 ?? ??
 ?? ??
 ?? ??
 ?? ??
 ?? ??
 ?? ??
 ?? ??
 ?? ??
 ?? ??
 ?? ??
 ?? ??

Newspapers in English

Newspapers from Australia