Thursday, March 18, 2010

Making UV maps and 3D model textures get along

I've been having some fun recently getting the textures for my game models look just right, which has resulted in a change in my workflow. In the past, I would create a UV map by first making seams in the 3D meshes where I think the least amount of distortion would occur, unwrap the mesh, export it as a .tga file into GIMP, and then create the texture based on this file inside GIMP. As my models became more complicated, however, I would have to texture the models in layers. I also began using the Unwrap Smart Projection option, which seemed to produce flatter surfaces with less distortion. An unfortunate side-effect of this procedure was getting my mesh scattered from hell to breakfast, as you can see in the UV/Image Editor of this screenshot:


And although the UV maps generally came out more distortion free than usual, some components of the mesh (such as the windows in this model) continued to come out in different sizes and slightly skewed, which made it difficult to texture the model inside of GIMP.

After tweaking around with the software for a while, I came up with the following solution:
  1. Insert seams into the mesh so that the least amount of distortion occurs;

  2. Unwrap and the mesh using the Unwrap Smart Projection option;

  3. Clean up and organize the projection;

  4. Export as .tga file into GIMP, where a rough 3D texture is created;

  5. Save texture as .png file (high compression) and upload into Blender;

  6. In the 3D View Edit Mode of Blender, select areas in mesh that need fine-tuning;

  7. Adjust UV projection points in the UV/Image Editor; and

  8. If necessary: make aesthetic changes to 3D texture in GIMP and re-import.
Hopefully this workflow will last me for a while, or until I come up with something else that works better, is easier to do, or both.

2 comments:

  1. Yea UV mapping can be a real mess. Sometimes it takes me longer to just UV map a model than it takes to make the model. I don't know what is available in Blender but there could be a tool hiding away to make your pieces all the same size. In Wings it is called normalize sizes.

    Otherwise I often get UV mapped parts that are half squished, somewhat curled up, or wavy. Sometimes what you have to do with those is select all of the lines that are supposed to be virtical and scale them horizontally to 0% and then select all of the lines that are supposed to be horizontal and scale them virtically to 0%. This usually gets everything straight and makes everything much easier to texture. But things likely work diferently with Blender so I don't know if any of this is any help. Sorry.

    ReplyDelete
  2. I'll snoop around a bit to see if I can find a tool or script that can do this. May be a while before I can settle in and really focus on it, but it's on my radar.

    ReplyDelete