Video transcript :
UV unwrapping and texture painting workflow in Blender | Part 2 : UV unwrapping
Assalamualaikum. My name is Widhi Muttaqien from Expose Academy. This is the second part video of our tutorial about UV unwrapping and texturing workflow in Blender. If you haven’t see the first video where we model this mushroom object, make sure you check it first before watching this one.
Before we move on, I want to explain a little bit, about UV unwrapping. What in the world is UV unwrapping and why do we need them? To answer these questions let me explain first about UV mapping. We need UV map to place texture correctly onto our 3D object. The term textures in 3D computer graphics are basically 2d images okay. Such as JPEG file or PNG file, etc. So you can imagine that we have this 3D object that has volume and then we have these flat 2D image. There will be so many scenarios to place this 2D image onto this 3D object. Right? Just imagine that this 3d object is a gift and the 2d image is a gift paper wrap. We can wrap the gift like this. Or like this. Or like this. So many scenarios. So many possibilities. These method of placing 2D image onto a 3d model is what is called UV mapping. That is why when you try to add a texture to a 3D object, but you haven’t specify the UV mapping on that object, Blender will produce ugly result. This is not Blender’s fault as it has no idea of what kind of scenario or UV mapping that you want to use. Now there are several methods of mapping but in this tutorial we will be focusing on UV unwrapping. Okay.
To explain how UV Unwrapping works. Lets take a look on how a doll is created. To create a doll. A doll maker, will first create sewing pattern like this. He must be able to imagine what the final result will be in 3D form when designing his sewing pattern. So basically their workflow is converting this 2D pattern into this 3D object which is the final doll product. Now as a 3D artist when doing UV unwrapping, we work exactly the other way around. We need to convert a 3D model like this stuffed doll, into this 2D sewing pattern. The way to do this, for example we have this 3D model. All we need to do is to define where the seams will be. For example, we might define the seams to be on these edges. Execute the unwrap command and now we have UV map like this. Of course our 3D model geometry will not actually turned into these flat objects. Everything happens virtually. What we actually do in term of data processing, is just adding additional 2D coordinates data to each of the 3D vertices. We need this 2D coordinates for use with texture placement. Because inside our geometry data we already have X, Y and Z variables for determining the 3D coordinates. We use other letters for 2D coordinate variables. That is why we use U and V letters. U is for horizontal coordinates. Its like the X axis in 2D Cartesian system. And we have V for vertical coordinate similar to the Y axis in 2D Cartesian coordinate. We actually have W axis also, which is perpendicular to the U and V plane, but generally we only use the W axis later for rotational axis. That is if you need to rotate the texture. At this point. We really only care about U and V coordinates when unwrapping.
After unwrapping we can export the UV layout to 2D image editing software such as Krita or Photoshop. We can then add color or texture easily in that software. Later we can bring back the texture to Blender to render it. We can also paint the texture directly inside Blender, as what we’re going to cover in this tutorial. Okay back to UV unwrapping. When unwrapping we can define seams on any edges we like. We can go crazy on this and there is nothing prevent us from doing this. But you must be aware that if we cut the 3D object blindly without any rules. We’ll end up with this kind of UV mapping result. Small chunks of UV islands. This is a bad practice, why? Because when we export this UV layout to Photoshop for example. You will have a very hard time to texture it.
So a good practice of UV unwrapping follows these criteria. First they need to have the smallest amount of seams possible. Because the bigger the UV island when texturing is better. Second there should be no overlapping on the UV islands. Third, there should be less stretch on the 3D model. So the flatter the better. Four create seams where they are less noticeable. Try to add the seams on areas that will mostly hidden from the camera or the viewers eyes. And five try to optimize the texture space. It means we need to try to make the UV islands fill out all of the space available, so less empty area exist in the UV layout. There are still a lot of things we can discuss about unwrapping but I think these 5 rules are enough for now. So lets move on to UV unwrapping our mushroom model.
The first thing that we need to do is to remove the bottom face. Why? Because we will not be able to see it later. Unless you are planning to create animation where the mushroom jumps around or perhaps use it as a game props or items where the player can pull it from the ground and see the mushroom in all direction. If any of these scenarios applied, then you need to keep the bottom face intact. For our tutorial we want to remove it. Okay. So go to edit mode. Make sure we are in face mode. Select the bottom face. Hit X and choose face to delete.
Next we want to select this edges that is pointing toward the positive Y axis. So go to edge mode. Right click in here. Hold Ctrl then right click in here. We’ve talk about holding Ctrl to create point-to-point selection before in the toilet modeling. Okay now to flag these edges as seams. We can go to the tool shelf. Open the shading UV panel and then mark seam. Notice the edges marked as seams will be highlighted with red color. Next hold the Alt key then select this edge loop. Press and hold Shift and Alt then select this edge loop also. Then mark them all as UV seams. And that’s it, we’re finish defining the seams. Next to unwrap the model we need to go face mode and then press A to select all of them. Then press U to open the UV mapping floating panel. As we can see Blender comes with a lot of UV mapping techniques. But we only interested in this unwrap command which is on top of the list. Click it. And nothing happen. The UV mapping is actually done, but we wont be able to see it in the 3D view. As I mentioned earlier. Our 3D model will never get changed. Everything happens virtually. To see the UV mapping. We need to have a the UV image editor panel open. Now we can see the UV layout.
If you unwrap and haven’t done anything else. You will see down here in the 3D view, a value called margin. This margin value controls how far the gap will be between UV islands. As we can see now, if we zoomed in. The gap between UV islands is very tight. They are not overlapping, which is good, but too close to each other. If you are going to texture this on other 2D software you might have a hard time to texture it as it is very hard to avoid paint bleeding with small gaps like these. Generally I stay away from this small value. If we click on the text field and change it to 0.1 for example. Notice the gap become bigger. I think 0.05 is a good number for our current situation here.
If we only want to paint texture in 3D right inside Blender. This UV mapping is already enough. But if you like to use other 2D painting software, you might want to adjust the UV islands so they aligned or arranged with vertical and horizontal correction. For example we want to make this island which is the trunk of the mushroom to be straight, vertically and horizontally. We can do that by first selecting the face in here. We’re going to fix the vertex alignment of this face and then tell the other faces to follow this face. Okay. So lets focus on the UV image panel up here. Go to edge mode which this button in here. Next select the upper edge. We can straighten this face in several ways. We can press S to go to scale mode than hit Y to constrain it to Y axis and then press 0 and hit enter. If you are confused. In the 2D world which the UV image editor we have in here. The U axis is the same as the X axis, which is the horizontal axis. The V axis is the same as the Y axis which the vertical axis. Okay. So again, this way is X. And this way is Y. Is like viewing our 3D world but from above or from the top viewport.
Another way to straighten the edges, is to use the W shortcut. So select this edge first. Press W, and then notice down here we have this align auto and the shortcut is A. Which is the letter with underscore below it. I prefer the auto align command as it will detect whether we are close to X or to Y alignment automatically. So for example select this edge then press W and then A. Select this edge again, W, A. I think this method is faster then using the scale to zero method, because you only need to press 2 keys in sequence. Okay after we have aligned face like this, we can select the whole faces in the trunk. We can do this easily by hovering our mouse over one of the faces down here and press L on the keyboard. Notice Blender will selectively select all of the faces that are bound by the seam edges. The selection will not cross the seam we define before up here. Very cool. Next we want to make sure the face we corrected before is set to active selection. You might be wondering what is active selection? If you look at our face selection down here. The selected faces are colored with orange color by default. Unless you change the theme or the color option that is. But orange is the default color for the selection, okay. Now notice in this selection there is always 1 face that has different color. This is the active face. Usually when we select multiple faces one by one, the last selected face will be considered as the active face. Now we just need to make sure that this face, which is the one we corrected before is selected as the active face. If not, just use shift and right click to unselect it and shift select it again. So basically this face will be the last face selected, thus making it the active face. Notice how the color is different from the rest. Okay. Now simply press U and then pick this “follow active quad”. We will be prompted with this option. Honestly I have no idea about this option, as the default option always works great for me. I may need to check the documentation later. For now, just let the default option which is “length average” selected and hit the OK button. Now we can see at the UV image editor panel, the trunk UV island is now straighten. This will make texturing later on external image editor easier. But before moving on notice when we go to 3d view and hit A twice to select all of the faces. The UV layout is not optimized. What I mean by that is, there are so many areas where they are empty. This area is a waste of texture space. If we use this texture file later, we will have all of these including the empty areas allocated in the memory, but they are never used or visible in the rendering. To fix this we can select this whole island by hovering over it and press L. And then just scale this up. If you want to move it you can press G, just how we do it in 3D view. So G to move, S to scale and R to rotate. I think this is enough for now. Although you can scale this up to Y axis, I discourage you from doing that as this will break the scaling proportion and introduce some problem later when you do texturing in external image editing software. We’re not going to do texturing on external software in this tutorial, but if you do want to texture it on another software you need to export the UV layout as an image file. To do that simply click on this “UV” menu and select this “export UV layout” command. You can set the image format and the size down here and then name your image in here then click the export UV layout button up here. I’m not going to do that so I just hit the cancel button.
In the next video we’ll cover texture painting process right inside Blender. As always don’t forget to subscribe to my channel. Give a thumbs-up if you like the video and give a thumbs-down if you don’t like the video. See you in the next part. Wassalamualaikum.