The Straw Hat: a UV Texturing Project

The Straw Hat
a uv mapping and texture painting project

Concerning the Project
This is my first project in UV mapping, and texture painting. This is my first project in texturing of any kind. I shall be looking to tutorials and other web sources for knowledge and wisdom, but any knowledge and wisdom which I can receive from members of this forum would be most appreciated.

Concerning the Thread
To keep my thoughts sorted nicely, I have put together a page.
Feel free to just look at the images and read the captions if you wish, but it includes full depth. I may decide to migrate some content over onto the thread, but for now, this seems the simplest, most effective method.
Note: If you want to skip my introductory material, I’ve marked the beginning of the main content “Skip the Intro.”
EDIT (another note about the page) There is now a link called “to news” which skips down the page to the new developments in the project. /EDIT

C&C welcome.


About that last problem with the SubSurf and UV texturing:

First, understand how Blender uses UV maps. Vertices are kind of like pins, that “pin” parts of the texture onto your model. Blender then calculates what the rest of the texture in between the vertices should be. If you have a low poly object, therefore, you don’t get as accurate maps as if you have lots more vertices and therefore lots more “pins” to work with.

Your problem comes from the fact that blender doesn’t take SubSurf data into acount when it uses UV mapping. As far as blender is concerned, when you unwrap your model all you have to “pin” the textures are the acual vertices used to build it. When you use SubSurf, the model changes, but the textures stay applied the exact same way. This is what causes the distortion.

To fix it, select the hat (with SubSurf on) and hit “Alt + C” to convert your SubSurfed mesh into actual geometry. Then, just re-unwrap the hat, and the textures will be applied correctly.



Thank you for that information. It helps me with something I’m working on, and I did not know or recall that was the case. I had been using uvmapper for a while. I just tried what you suggested and it worked.


Good luck with your project. The model of the straw hat is spot on, as they say. I enjoyed reading the page by the way.

With that texture any seams are going to be very difficult to deal with. I have little experience with UV mapping so take what I’m suggesting with that in mind. One continous mesh would be best. I’ve used a test map for my unwrapping to see what painting issues may come up. See link below for strategy:

Obiwan: Thanks! I’d been looking for the way to convert subsurfs to real geometry on and off for a long time, and here it is! (Now I can use subsurfs as a random modeling tool as well…)
About the uv-subsurfs interaction, that was my suspicion, but since I don’t know a lot of the features of blender, or a lot of the ways in which the various tools work, I needed confirmation. So, thanks again.

ec2: I appreciate the encouragement, and thanks for the complements on the mesh, and the comment on the page. I was hoping for some positive feedback about the site actually. So, yay! =)

peterdn1: It seems that your right, the only way to eliminate seams completely is to keep the unwrap continuous. This would mean stretching the vertical section out to make it flat; distortion to compensate for. But I suppose that’s what most of painting uv maps is about; compensating for distortion. So, thanks for the constructive feedback; your suggestion looks to me like the best path from here. I just need to figure out how to do the unwrap now. =P

I created an object with similiar structure, and attempted a few methods of unwrapping. I think the best results were using top view and unwrapping from window and then some scaling. Creating object/unwrapping <10 min so “best” may not be optimal.

Mosani: Great WIP thread. I also would like to discover the secrets behind texturing with subsurfs. It seems very difficult to get anything right.

Obiwan: Let me get this straight. So if I am having problems with stretching every time. I should, with subsurf on, hit alt+C and the re-unwrap my mesh? alt+C converts the subsurf to a real mesh right. hmmm, is it really that easy?! Does the setsmooth option also affect texture stretching?

I am sorry to ask Obiwan these questions on your thread Mosani but I think/hope it is for the betterment of all. I wanted to say that I loved your web-page. You did well in laying out all of the questions and problems. I can see the outcome of this turning into a great tutorial :wink:

Woodman5k: Converting your subsurfed mesh doesn’t fix stretching; it fixes distortion.

Stretching is caused by incorrect placement of vertices; or rather, in UV mode, vertices being placed to close to each other resulting in a small area of the texture being mapped or “streched” to a large part of the mesh.

Distortion is caused, like I said above, by having only a few vertices when calculating where to place the textures on a hi-poly model.

You can think of distortion this way (it’s rather an extreme example, but I think it’s easier to understand). Say you have a cube (8 vertices total), and you map a texture on it. Say you then subsurf it 3 times, increasing the “virtual” vertex count to 386. Well, it appears you have a nice looking sphere, and indeed that’s what the render shows. . .

. . . HOWEVER. . . as far as Blender is concerned regarding the UV coordinates, you still only have 8 vertices calculating how/where your texture is applied! If you use that 8 vertex UV data, you are going to end up with a pretty messed up texture when you render your image. 8)

I’m don’t think setsmooth affects stretching or distortion at all.

Hope that helped some. :slight_smile:


Thanks to the help from this forum and cgtalk>blender I have fixed my distortion problems (by making subsurfs real and re-unwraping). I have also reworked my layout so that the surface does not contain any seams. I think seams would be impossible to deal with in this situation.

I decided that to begin with a 2000x2000 texture with scale issues would be a bit much, so I decided to begin with a test. I have painted the alpha layers on this test.

I changed the opacity to make the structure visible, all that is grey in the end will be white.

Here are the detailed updates:

During my work on this test paint, a question has come up. I am and will continue to look for the answer on my own, but I thought it would be appropriate to include the question, and possible answer (if there is one) in this thread. Is there a way to make alpha layers cast shadows?

C&C welcome.