Hello everyone !
I’m glad I finally found the time to share a bit of my knowledge with the community again. I archived my previous tutorials as they started to be really dated, but if you’re still looking for the Waist Seaming Tutorial I made in 2011 it’s available as a Google Doc here. Please note that this tutorial is now really obsolete, however if you’re familiar with Blender and UVing, this approach still works with the recent releases. I’m also planning on writing a new one if I manage to find the time, so stay tuned !
About the importance of a good UVing
Today I’ll be talking about UVs which is an essential and too often forsaken step in 3D creations. In this sheet I will be detailing my UVing methods and tips. Please keep in mind that I’m not a professional, these tricks came from my personal experience and understanding, I’m learning new things everyday, if you’re more experimented than me you may find some mistakes and have your own better techniques and I would love to hear about them in the comments section. However I’d be glad to help beginners with the knowledge I have acquired so far, so let’s give it a try !
Before starting be aware that you need to be familiar with Blender interface as I won’t go too much into details.
I’ve been often asked about the quality of my textures, how do I manage to get such crisp and detailed results. Aside from a good baking and a strong understanding of light and colors, a great UVing will have a huge impact on your images. Thereby minimising UV stretching and optimising your islands and texture space is an essential step to a better texturing, let’s see some examples.
How to avoid texture distortions?
If you’re used to bake and texture many kinds of meshes and especially organic shapes, you might already had issues with weird texture stretching, and depending on the type of object you’re working on – especially clothing in my case – you really want to avoid those. Fortunately, Blender’s UVing tools are pretty awesome and a bunch of great features will help you taking care of that.
The Checker Pattern :
In Blender you can very easily preview a checker pattern on your mesh to prevent any potential texture distortion. How to do that?
Select your object and go into Edit Mode, select everything by hitting A (very important, be sure everything in the viewport and UV Window is selected, else your new image won’t be assigned to the mesh). At the bottom of the UV window go to Image > New Image (or hit Alt-N) and under Generated Type pick UV Grid and click ok.
If you deselect everything or Tab back to object mode you will see your newly created checker pattern image displayed in the UV Window, now if you’re still in Solid Viewport Shading you won’t see anything on your mesh, although if you switch to Texture Shading, the checker pattern will now be displayed on your object*.
Now I can see where my pattern is being stretched on my object and preview how manipulating my UV will affect the mapping.As you can see on the image, this shirt is awfully UVed, in fact I didn’t mark any seams, resulting in a lot of distortions on the checker pattern displayed on the 3D model.
You can easily switch from this checker image to a blank image by displaying the Right Properties Panel on the UV window (pressing N, or by going in View > Properties ) you can also try using the third option, Color Grid, which will make it easier to identify the different parts of your UV.
Talking about this Properties panel, it has a lot of interesting options and settings you should try to play with. I could never emphasize enough on the importance of keeping exploring and trying every options a software has to offer you, click all the buttons, don’t be scared to be curious and to slip away from tutorials, you will learn a lot through this. However, NEVER FORGET to save your work, – or even better, keep a backup file – before trying something new, you might accidentally break things or crash Blender if you click everything all at once !
Display Stretching :
Now let’s have a look at another option in here which is Stretch display. Sometimes the checker pattern isn’t enough to be sure your UV isn’t too distorted, so grab this UV Properties panel again, scroll down to the very bottom and tick the Stretch checkbox. Your UV islands will turn blue or eventually with blue to green gradients, deep blue areas being clean areas with minimal stretch to green, yellow and even red ones being areas with a lot of distortions that really should be fixed.
Pinning will help you keeping a group of selected vertices in place even while re-unwrapping your mesh. Let’s see a notable example, let’s say I want to unwrap this shape, the seam is already marked as you can see on the red outline :
The result isn’t that bad and quite workable depending on your texturing needs but let’s see how to make it even better.
First I make sure I am in face select mode here at the bottom of the Viewport . Then I hover my mouse over one of these edge, I hold Alt key and right click on it, it should select only these outer faces like the following picture :If I unwrap again while only these faces are selected, let’s see what happens :Woot ! This part of the UV is re-unwrapped in a much even and straight shape, which is pretty great to work with. But why? When you try to Uv shapes with sharp angles altogether such as the edge of this half-ring you will get distortions on your UV, this is how the flattening algorithm works, you know maths, science and stuff. To prevent that I could also mark seams on these angles so they would be unwrapped independently. But let’s get back to pinning.Now I have this clean flat piece of UV, I still need to re-unwrap the rest of my mesh, but I want it to stay in place, that’s where pinning becomes useful. While this new part of UV is selected I over my mouse over the UV window (very important) and hit P. Now all the selected vertices turned red which means they are pinned.Now if I select everything and re-unwrap again, the pinned vertices will stay in place while the rest of my unpinned mesh will be stitched to them resulting in a better UV than initially.However it could get even better, if you zoom in closely you will notice that some lines aren’t perfectly straight :If you really wanted them to be straight, you could fix that very easily, by selecting one of these lines (Alt+Right Click) then hit W and select Align Y.Now your line is perfectly straight. You just have so repeat the same process to the other lines to straighten up everything. You can also do it on the vertical edges, but this time be sure to select Align X instead.
However make sure you always keep an eye on your UV stretch like we saw before, because if you try to manipulate and straighten a mesh too much you can also end-up with a lot of terrible distortions, so be sure so always stay in the blue hues. Here, even if a little stretch is happening on the thinnest edges (they are slightly lighter), this is acceptable to work with.
UV distortions aren’t always much of a problem, for example if your object texture is going to be a plain solid color or if you’re doing a very basic texture baking they won’t bother you much. However if you plan on using a geometric/repetitive pattern on your mesh or if you use Photoshop to paint directly on your UV texture, distortions can become blatant. So be sure to always plan ahead your texturing work, to adjust your UVs to your texturing workflow.
Project from View :
I don’t use it very often but the “Project from View” unwrap can become very useful in specific situations. What it does is very easy to understand, this option will project your viewport (the 3D view) to your UV window, just like this :
Project from view (bounds) will do the exact same thing except that the result will be scaled up to fill your UV space.If you look at your object with a different angle and Project its UV from view again :Now let’s say I want to unwrap this window without marking any seams.If I try to UV it with the regular Unwrap I will get something like this which looks pretty wonky.However if I go into top view in my viewport (numpad 7) and use Project from view this is what I will get :“Looking Good ! “
Follow Active Quads :
Follow Active Quads (Even/Length Average) becomes extremely useful when it comes to unwrapping tube and cylinder objects such as hair strands, ropes, laces etc. Let’s see how it works. If you had to unwrap a tubular object like this, you could of course mark one seam and Unwrap it the regular way, you would get a result similar to the following :
Of course you could try to align the lines one by one like we did earlier, but it can become very tedious if your geometry is too dense, so let’s see the easy way instead !
To use the Follow Active Quads option, first make sure your UV is reset (if not go to Unwrap>Reset), it should look like this :Then, in the Viewport, enable Face Select Mode,right click to select a random face of your mesh, and hit A to select everything, your latest selected face should remain active as shown below :Now go to Unwrap>Follow Active Quads and select Even from the drop down menu, now your UV Window should look like something like this :While everything is still selected hit CTRL-P to pack Islands into the UV space.
Now your UV became super clean in one click !
Follow Active Quads Length Average/Length will give you a slightly different result, here you can see the differences between the 3 options :
EvenLength Average Length(not sure what’s the use of this one, I personally never use it)
Average Island Scale :
Sometimes –in my case for clothing– you will need to apply an even pattern all over your mesh and if you manipulated your UV islands a bit, the pattern won’t be equally scaled on the surface, something like this :Here due to my UV Islands proportions, the polka dot pattern is bigger on the bottom part of this romper, I could try to fix it manually by re-scaling the islands until it matches, or even fix this later with Photoshop layers, however there is a much simpler option in Blender called “Average Island Scale” (CTRL-A) available in the UVs menu.
Now our repeating pattern is equally scaled on all parts !
I use the UV Stitching mostly after figuring out that I don’t want my UV to be split in so many islands, or if I unwrap two islands independently and want to weld them in the end. In this particular case, the top part of the romper is split in two islands, however I can select one of their outer edge and hit V (or go to UVs>Stitch) and those two parts will be combined together if these vertices are corresponding in the 3D space.When I work on clothing, I usually like to place my UV seams where the seams would be on this garment in the real life, so most of the times on the sides. However this is up to everyone’s workflow, and sometimes I realize it would be much easier to have to work only with a single seam at the back instead of one on each side.
Pack Island/Margin :
Uvs>Pack Islands or Ctrl-P (while your UV is selected) will fit all your islands into the UV Space and try to find the best configuration for an optimal UV, if you happen to have overlapping islands, it will separate them as well.By default the space between islands is very thin and it’s not always the best for baking and texturing work, however it can be changed. Before using pack island, mouse over the Viewport and hit T to bring the Tool Shelf (or go to View>Tool Shelf)Now go back to your UV and use Pack Islands again, you will notice some options will be now displayed on the Tool Shelf, “Rotate” and “Margin”If you untick “Rotate” your islands will keep their initial rotation while packed, increasing the Margin will space them more or less.Always make sure to look at this Tool Shelf Panel when you’re using UV and Modeling tools in Blender, you will notice many additional options are available for a lot of them and often essential properties.
One of them I found out not so long ago was the ability to switch between Angle Based and Conformal for Unwrapping. I’m totally unable to explain the difference between them but switching from one to another will give you better UVing results depending on your Mesh. The only explanation I found was “Angle Based unwrapping gives a good 2d representation of a mesh while Conformal usually gives a less accurate UV mapping than Angle Based, but works better for simpler objects.“ So I just suggest to try both when Unwrapping and pick the one that works best for you.In this case, Angle Based is clearly the best option. Also note that you can already change your islands margin with the initial Unwrap.
Island size/Texture space :
Now let’s talk about the importance of your texture space, I often get people asking me how do I make my texture look so HD, and honestly I don’t have any secret or magic trick about that. All that matters is optimizing your UV space, but how? It’s not very hard to understand, all that you have to know is the bigger your island is in your UV space, the more pixels you will have to work on your texture. So be sure to make your islands, –especially the most visible parts of your mesh-, as big as possible.
So your goal while UVing is to use as much as texture space as possible, every pixel counts so try not to leave too many empty areas. Now even if Pack Islands can help you with that, its algorithm isn’t working perfectly and very often you’ll have to tweak your UVs manually to get the best result. Here, for the shoe UV on the left you see the result of Packing Island opposed to what I manually made to the right. As you can see, the one I worked on manually is optimizing the UV space much more, the islands are bigger and there are way less empty spaces, resulting in a higher defined texture. However I had to take the time to manually grab, rotate and place each island in order to achieve this result, but considering the texture space I benefit from it, it’s totally worth !
I always make sure to identify the main “focus” of my mesh, which parts will be the biggest and the most visible when the object will be finished – in this case the outer part of the shoe and the bow – to make their UVs bigger than other minor parts that will be most of the part hidden or less likely looked at such as the sole or the back faces of the bow. And, as seen in the Average Island Scale section, since I don’t need to apply an even repetitive pattern on the whole shoe, the sole island doesn’t need to be averagely scaled to the main outer shoe or bow, so I can make it slightly smaller and use that space to benefit the other major islands.
As you can see on the picture above, the inner part of my shoe isn’t on the same UV as the outer. This is another useful trick to improve your texture space : splitting your mesh in multiple UVs.
The following shoe, is split in 4 different UVs, that way I have a much higher resolution for each part : laces/heel/sole, back & front panels, inner side and main shoe body.To split your mesh into different UVs, simply assign a different material to each part and unwrap them independently like the following :
However, –speaking mostly to Second Life content creators– please be aware that splitting your mesh in multiple high resolution textures instead of a single one isn’t optimal in terms of bandwidth use and rendering cost. Your item will likely take much longer to load for users, so use with care and only when you think it’s really needed. In this case, I also suggest to resize your textures to 512×512 instead of 1024×1024 before uploading, if your UV space is greatly used the quality difference won’t be very noticeable. A 512 texture weights 768 Ko against 3000 Ko for a 1024 which is about four time less. So even if this shoe uses 4 textures instead of a single one, it will still be pretty optimal in terms of resource cost (4×768 = 3072 Ko) , while the texture space you won by splitting it on multiple images is absolutely great.From a reasonable distance it’s almost impossible to see the difference, however when you look at it closely you can see the compression :NB : I used them as an example here but if you own these shoes in SL and inspect them, you will actually notice that they’re made of 1024×1024 textures, they were made long before I started writing this tutorial, and like many I keep using 1024 textures most of the time which, I am aware, isn’t ideal because they take much more longer to load for users. However I try to use 512 or even smaller textures for very little details such as laces, buttons etc. The main reason why I keep using mostly big textures is that many Second Life Residents (me included) love to zoom in drastically on things and often take close picture shots of objects – I assume more than any other 3D environment -.
Symmetry and Repeating Objects :
Another great trick, if you’re working on meshes with symmetry and if your texture/baking is about to be symmetric as well, is to unwrap only one side of your object. That way you will earn twice much texture space. In the following example I worked on 1 sleeve instead of 2, and I mirrored it only at the very end (after baking/sculpting). That way I’m saving a lot of texture space as I would have to make all my islands much smaller if I had to fit a second sleeve in here.This trick works for repeating objects such as beads, buttons or chain links. Instead of unwrapping all of them together, model only one, unwrap it and then duplicate your first object. That way they will all share the same UV island.
Make sure to use a single isolated chain mail for the baking, it has to be a very generic texture, else it won’t work.Wrong baking/texturing, the link used for baking had a cast shadow on it so the texture doesn’t work for the others.Here the baking works for all links.VS One island for each ring.
Of course, depending on the mesh you’re working on or if you’re baking with a very realistic engine/lighting setup, baking a single element an use its texture for the others won’t always look nice, so it’s up to you to see and judge what’s best !
Planning your UVs depending on your texturing needs your make you save a lot of time. As I mentioned before, since I often use repeating patterns in my mesh clothes, I always try to optimize my UVs to make my work easier.
So make sure that every island is rotated and oriented the right way.
Much better indeed !
Please note that an UV that works for a kind of pattern might look pretty bad with another kind, for example stripes and polka dots, so make sure to preview a few of them on your 3D model before your final bake or texturing.
And I think that’ll be all for today for UVing ! I will maybe add more chapters later, feel free to ask things or to share your techniques in the commentary !