(8 ratings)   
By: www.paultosca.com
I will summarize the workflow I used for one of my characters with lots of images and some print-screens directly from the applications used (Maya/Mudbox/Photoshop, etc ...), also at the end I will provide some info about tangent space normal maps so...
Added: 25 June 2008    Views: 2796  
PathComputers    3D Graphics    Maya
Keywords: computers   maya   marga   creation   object   mapping   design   graphics  
Do you like this tutorial? Now you can support our team to add more :     
 
 
 
Browse Pages :   <<    <    1    2    3    4    >    >>  
Now that the fun part is over I will take the low poly version I have done in the beginning and change it to conform better with the high rez version. I used Topogun for this -- imported the low version and one of the higher levels as a reference model, change the topology however I want and I will make sure that the low poly will resemble as best as it can with the high version in order to get good normal maps when baking normals.



I will repeat the same process for every piece I have sculpted separately and when everything is said and done, I will be ready to go to the next stage -- baking the normal maps.

4.3. Transfer Maps

At this point the low poly version and all the high rez pieces are ready and I will continue with the UV mapping.
There are a lot of tools for UVs that you can use: UVLayout, Unfold 3D, plugins for pelt mapping, etc... and some will say one is better than other but I do all my UV work with the tools built within Maya. They might require more attention and planning on where to cut the UVs and sometimes will produce junk UVs but after a second trial, things work well. I have tried Headus UVLayout and Unfold as well, but I like Maya's unfold better because it works faster for me.
I won't show you how I worked on UVs because lots of the people I know don't use Maya for UVmapping and most likely the information I give will be redundant.
The idea is to unfold the UVs with minimal stretching. A good hint is to keep your cuts in the less visible parts of the model (like for the arms and legs keep them on the inner part) and you could break down the UV shells accordingly to the pieces in the high rez version (for instance, the boot will go as one shell, each leg as one shell, etc...)

After the UVs have been completed, I'll be ready to bake normals and other maps if necessary.
I used the Transfer Maps Tool within Maya for this (but render to texture within 3ds Max works the same way).
I will exemplify this process on the boot:

Before starting, keep in mind that the UVs on the piece of geometry you are going to bake normals for should not overlap (in the end you can overlap UVs for arms or other similar objects, but for accurate results, move the overlapping UVs outside the 01 space or shrink them down in a corner or unused space while baking).

-Import both low and high versions into Maya and make sure they are on top of each other.

-Open the Transfer Maps dialog box (found in Rendering menus in Lighting/Shading-> Transfer maps...)



-Select the low poly version and in the Target Meshes click on Add Selected, then select the high version and in the Source Meshes click Add Selected (see image above). (if you do not add any geometry to the Source Meshes then Maya will sample all the geo in the scene for the process) -In the Display option for the target mesh, select Envelope (or you can select both to display both the target mesh and the envelope).



-This will create an user-editable geometry (merely an offset of the current low poly version) that will be used as an envelope to look for the source meshes. You can change the offset of the envelope by changing Search envelope% slider (or by typing a value); the idea is that you will get better results if you will have the high rez version inside the envelope (like in the third example in the following image)



-If you go too far with the offset the baking might not work properly, usually I will do some trial-and-error values for the offset until I have most of the high rez inside the envelope like in the image below.



Then select the envelope and tweak its vertices/faces/edges until the high rez will be completely inside the envelope.



-Select the maps you want to bake; I will resume to normal map (you could also bake ambient occlusion maps ... this way you will sample the AO from the high rez version, but I didn't have too much time to compute AO maps also because they require some time to render ...depending on your machine, mine was too slow at the time for this; instead I used Batch Bake mental ray with the normal mapped low poly to bake a Final Gather pass for occlusion ... works a lot faster with comparable results... see later on for details). Also, make sure you browse for a path to save the file, select file format, map dimensions and other details you want. In addition, be sure you set the search method to inside envelope only since the high rez will be inside the envelope.


-Now you are ready to render to textures and hit the Bake button.

-As a note make sure to save the file before you hit the bake button because after rendering the texture, Maya will delete the envelope and you might need it again (especially if you spent some time tweaking it to better enclose the high rez) or if your map does not look ok and need to rebake, make sure to undo a couple of steps until the envelope pops up in the scene again (saving the scene is safer though smile).

-If the normal map does not look ok from the first time come back again to the Transfer Maps dialog and re-adjust some settings (but when you have an envelope that completely encloses the high rez version, its less likely problems will occur. On the other hand, you will have some hard time if the envelope intersects with the high rez...if you are too lazy to tweak the envelope you could set the searching method to "inside then outside" or to "closest to envelope"; there are situations when it might work and situations when you will have problems: usually you will have problems when multiple surfaces intersects on the high rez version. Let's say those straps on top of the arm for example... in that case, if the envelope intersects with the high geometry as well, then it might sample the wrong surface.


The same steps you have to follow if you are using Render to Texture inside 3ds Max:
-Select low poly mesh, go to rendering->render to texture.
-Check projection mapping (to turn it on).
-Push Pick and select the high rez model.
-Afterwards, Max usually will create a crazy envelope/cage (autocreate process).
-Select the projection modifier.
-Go to cage section and hit Reset to reset the cage (the cage will fit the low poly exactly).
-In the push section, you can change the Amount to offset the cage like in Maya, where it is trying to enclose the high poly version.
-Same as in Maya, you can alter the cage by expanding the projection modifier and tweaking the individual elements until the whole high poly will be inside the cage.
-After all the tweaking is done, select the low poly again and in Render to texture dialog, hit render.
-If the map is not looking proper, you might come back again and do more tweaking of the cage.



Next, I will show you another cheap way of computing occlusion using mental ray and final gather on the normal mapped low poly version (it will not look the same as the ambient maps computed from the high version, but will be a lot faster).

Let's say this is the final low poly with normal map (I will be covering the boot only, but you can apply the same steps for the entire character at once).




Make a big plane and place it under your model.



Make sure that the environment background color for perspective camera is white (this way when final gather will be used and the rays don't intersect any geometry, then the returned color will be white).



Set the renderer to mental ray, make sure that you have checked the export Maya Derivatives.



Make sure in the Render Settings-> Common tab ->Render Options that you have the Enable Default Light option unchecked, it's checked by default (this will assure that Maya will not create a default light and pass it to mental ray if you have none in the scene) and delete or hide all the lights in the scenes (if there are any).



Make sure to enable Final Gathering (usually I set the Quality Preset in the mental ray tab to Production and then enable FG and increase the accuracy to 1000-1500 and leave the other options to default).



Assign a new lambert to the low poly geo and set its color to full white and change the diffuse to 1. (also change the same options for the default lambert or assign a new lambert to the ground plane and set its color to full white and diffuse to 1)



Select the material assigned to the low poly geo and assign/connect the normal map texture into the bump channel. Make sure you set the bump as Tangent Space Normals.



Before baking, you can make a test render with mental ray and if everything was done properly, you should have a similar result.



Next, open the bake dialog found in the Rendering menu set under Lighting/Shading->Batch bake (mental ray) ... go to the options and make sure you check bake shadows and orthogonal reflection, and also set other options to pretty much what you see in the image below ... set the file type and size and you are ready to go!



Hit the convert button and again, if was set properly, you will end up with a texture like below (if you cannot find the textures, you could always check the log or if you did not enter a path in the dialog they usually are saved in the current project folder in renderData/mentalray/lightMaps).



It won't be as crisp as an ambient map computed directly from the high version but will compute a lot faster. Using the same process, you can bake some quick specular passes to use for the textures: Save the same scene with another name(spec_bake or something) and disable the FG in mental ray tab; delete the ground plane. Change the material assigned to the low poly to blinn, change its color to black, specular color to white and reflectivity to 0.



Make a couple of directional lights and position them to light from above around the object.



Use the same batch bake mental ray options, but it will compute super fast now (its tracing only the specular pass, this time, double the resolution when baking and you will donwsample it in Photoshop to use on top of textures... you will achieve better results with this method). You should end up with a texture like below and you can overlay it on your diffuse textures with screen/color dodge blending modes (to give more variations)... it works great for plastic, metal, leather or other materials that have high specularity (it wont look so good for cloth, as an example).


Browse Pages :   <<    <    1    2    3    4    >    >>  
About the Author :
Making of Varga In MAYA
Articles and Tutorials Directory by www.learnfobia.com
 Rate this tutorial : Rate 1Rate 2Rate 3Rate 4Rate 5
  |    Add to Favorites
  |    Send to Friend
  |    Print
Comments