UV Packmaster Pro 2 or UVP for short, is a Blender addon that will help you pack your UV maps into the non-overlapping area or in UDIM terms called the 1001 space. I have tested UV Packmaster on Blender 2.80 release candidate and I must say that it is a very good timesaver when you are working with UV Maps.
UV Packmaster will not create the UV Map for you, but if you did your unwrapping job well enough UVP will nicely organize your UV Map with speed. The organization part of the UV Map is, for me at least, the most time-consuming part of UV Mapping. So having a sophisticated add-on to help with the work is very welcome.
Let’s start by listing some basic facts.
What does it do?
Helps to pack a UV Map into the non-overlapping space
Blender version copatibility
2.79 & 2.80 is both compatible
Windows, Linux & Mac, mac having features in experimental status
CPU & Cuda enabled Nvidia Grahpics cards
Listed at 12$ for standard edition and 20$ for the Pro version
This review contains affiliate links. This makes me able to make some money if you go through the link to make a purchase. With that said, I am only recommending products that I like and I try to mix an objective view while also including my own thoughts about whatever I am reviewing. The goal is to give you my experience and more insight into the product before deciding on a purchase or not. The goal is not to make sales but recommendations. The money earned helps to support me and the continuation of the website.
The focus of UV Packmaster is definitely on speed. Arguments such as the add-on being written in C++ and having graphics card support are high on the developers’ list. The argument why you need so much speed when packing UV maps seems to be to get quick feedback. Even if I can’t really argue with that I find the features of UVP to be far more valuable to me than the fact that the add-on is snappy.
The demo will not apply the UV Map. Instead, it shows the UV Map in a separate window.
How to install UV Packmaster
Installing UV Packmaster is the same as most other add-ons in Blender. No surprise here. It comes as a zip package and you install it through the user preferences add-on section.
For me, I had to unzip the package, move up a folder and zip it again before Blender would recognize it as an add-on. No big deal, but can be good to know if you get stuck during installation. There are quite a few Blender add-ons that are zipped one level too deep, so it is not unique for UV Packmaster.
How UV Packmaster Pro 2 works
Once the add-on is installed you can find it if you go to the UV Editing workspace, hit “N” for the right side properties panel. Here you now got a new tab called “UVPackmaster2”.
Select all or part of your UV Map. Go to the operator section in the Add-on interface and hit “pack” to start packing with default settings.
The add-on interface is divided up into sub-sections and to me, this interface is sadly quite poorly laid out. But let’s get into some features and talk UI later.
Speed is a high priority
With UV Packmaster speed is a high priority. We can use either CPU or Cuda enabled graphics cards is supported. For AMD Radeon users, you are sadly out of luck and stuck to the CPU. This is not a dealbreaker though. I run Radeon cards in my main build and I have not experienced very slow packing using the CPU. Though even with a low-end Geforce GTX 1050 that is sitting in my laptop speeds up the process quite a bit. So if speed is important to you, just keep this in mind.
Together with the relatively large device support comes a heuristic algorithm. This means that the pack operation is running continuously until canceled and will return the most space-efficient solution it can find. We can give UV Packmaster some time to calculate different options for packing based on our settings. The longer time we give it, the more likely the add-on is to increase the surface area that is covered by our UV Map. Sometimes the covered area can go from around 50% to well over 70% coverage in just a few seconds of extra calculation time. There are a basic heuristic algorithm and an advanced for the Pro edition of the add-on. I have not noticed much difference between them. Perhaps the UV Maps I have tested has been too basic. My guess is that it is a tradeoff between speed and more advanced ways to organize the UV islands.
These are the main functions related to speed. There are also some features that help us get different solutions when packing.
What settings are available for UVP Packing?
First up is rotation. We can set a rotation step that tells UV Packmaster how it may rotate the individual UV islands to fit them to the non-overlapping area of our UV Map. Allowing too small rotation steps can really increase the time it takes for UVP to pack the islands.
But being able to set rotation has some nice advantages for the artist. For instance, if you plan on using the UV Map in Substance Painter or similar, think about the rotation of your individual islands when applying textures that have a clear direction to them. Some examples are wood, bricks, or brushed metal in one direction. It can be a pain to rotate those textures individually for each UV island in substance painter. So being able to keep them on a 180-degree rotation can save you time later.
There is also support for packing when using a non-square texture. The add-on will pack according to the selected image texture in the UV editor. These features work as expected. We can pack according to texture ratio and adjust the already packed UV Islands.
UVP also has a feature to pack your selection into already packed UV islands. Let’s say that you added some screws and bolts to a mechanical object after having UV Mapped it already. You can then select this new geometry in the UV editor and pack them in between the already laid out UV map. This is excellent when you just want to add some detail later in your workflow.
We can also lock overlapping UV islands. Let’s say that you were making a table and all legs should have the same texture. To save UV space, you might want to overlap only those pieces in your UV Map. That is possible with UVP. You just unwrap them and use the align similar feature of UVP, then it is just a matter of checking the “lock overlapping” checkbox and pack. Keep in mind though that any overlapping UV islands will keep being overlapped even if they don’t have the same shape so you might want to use UVPs overlap check feature before packing.
UVP has a grouping feature that enables us to group the UV islands according to a few different criteria. It can be per object if we are using Blenders multi-edit feature in 2.80. It can also be by material, mesh parts or similarity, which uses a threshold.
Next up is pixel margin. This is my favorite setting. However, it only works with heuristic enabled. We use it to set the margin between islands on a pixel basis rather than a seemingly arbitrary number. Before the heuristic search begins, we give UVP a few seconds to think and it calculates a nice distance between our islands based on the pixel margin value and the texture size that we set.
Contrary to the pixel margin, there is also a regular margin setting. However, I am not sure how this works under the hood. It seems to be related to a precision value, determining how precise the UV map is to be laid out. Having a too small margin with a too small precision ends up with overlapping UVs. Sometimes there doesn’t seem to be a difference when changing the margin and sometimes the islands are scaled down to a tiny size to account for all the margins around each UV island. Pixel margin is much more straightforward and reliable to me.
UV Packmaster operators
All the settings have to do with how the UV islands are packed. However, there are also three operators with no parameters. Two of them have to do with validation and checking your UV map. “Overlap check” just checks if the UV islands are overlapping each other in some way. This is a pretty basic check.
There is also a “validate UVs” operation that is a much more in-depth analysis. It will check if your UV maps are overlapping each other and themselves. It will also check for invalid faces that may cause problems when baking such as self-intersecting faces and faces overlapping each other. Self-intersection is common when working with ngons and this is a good way to validate that there will be a clean bake.
Left for last is an operation that will return a percentage value of how much of the UV space is being used. Useful mainly to see if we gained any pixel density over previous packaging attempts.
We also have the “pack” operation in this section that runs the actual algorithm.
When do I use UVP?
If you have read the Definitive guide to UV Mapping article I outline a few different workflows. UVP is useful in all workflows where you need a UV Map that is contained within the non-overlapping area also known as the 1001 space with UDIM terms. Be it texture painting, optimization with baking or a workflow involved with an application other than Blender.
UV Packmaster 2 support
There are two support channels for UV Packamaster. The first being through e-mail, and the second is via a thread on blenderartists.org. I have not needed to test the support but looking at the Blenderartists thread it is easy to conclude that the add-on author answers mostly the same day or at least within a couple of days. Very reasonable given that it seems to be mostly one person behind the add-on.
The Blenderartists thread also seems to be holding the history of the add-on. Looking through it I, for instance, found out that there is also an API library available for any developers wanting to integrate UVP into their own application. That is kind of neat and it makes me feel that there is a certain maturity to the add-on.
The cons of UV Packmaster
Ok, so that is a pretty objective rundown of what the add-on does. There are a few things that I think is missing or is just not as straight forward as it could be.
The biggest drawback of this add-on, in my opinion, is the interface. It could be much better laid out. To start off, just moving the operators to the top and outside any subgroup would be a major improvement.
Right now the operators are jumping up and down the interface as I open or close subsections depending on what part of the interface I need to reach. At the same time, the version number of the interface takes up prime space at the top of the interface along with packaging device settings and a basic options subsection that is very seldom accessed. To me, this just makes no sense.
A better approach would have been to put the operators at the top outside any subsection and then the advanced subsection right after that and move the settings related to rotation to the advanced section instead. Everything else could be moved into one section to declutter the interface.
Just think about it, when I am new to the addon, what would be better: Looking around in subsections of the addons interface and first while approaching the bottom of all the subsections almost with lost hope am I able to find a button to press that just says “pack”. It is the button at the very bottom of its subsection and quite close to the bottom of the entire addon. “Puh! thought it was broken!”
Or just open the UVpackmaster2 tab and see “Pack” at the very top, select my UV map and press it to have it instantly pack my UV map in a neat way. I would think, “Cool!” if that was the case. Now it is kind of meh.
Another con related to the interface is the help system. There is very little documentation on how the add-on works. The system itself is pretty neat, you can just go to the help section and click a button and the help text appears instantly. But there are only help text for a few features and no getting started guide or anything to get you going with the add-on.
Some of the time that I am able to save with this add-on is unfortunately lost while trying to understand the add-on itself and finding my way around thanks to the unfriendly help combined with the poor interface.
The last thing I think is missing is a way to set a timer for the heuristic search. I was led to believe that there was one but I could not find it in the interface.
The Pros of UV Packmaster
Enough ranting from me. Let’s get to the good stuff because I really think this add-on is awesome! First, compared to the default pack islands operation found in Blender this is just huge. I wish something like this was available by default in Blender but an add-on is the second-best thing.
When you have played with it for a while and learned how to use it you are just a few clicks away from setting it up based on your needs. The focus on speed from the developers are not that bad either. If you messed some setting up, you are just seconds away from your next test. Very nice for quickly iterate through possible packaging solutions. Just pack, change some settings, pack again and repeat for 2-3 times until you got what you need. If you ever end up with a worse result, no problem, just ctrl+z, and you are back on your previous pack layout.
Want some overlapping UV islands, no problem. Want to squeeze in some more UV islands in your UV map, no problem. Want to pack multiple objects together at once? It is just a breeze with this add-on combined with the multi-edit feature of 2.80.
This add-on has saved me so much time sitting and manually laying out UV maps it feels ridiculous how much time I spent on this before.
If you should only have one add-on related to UV mapping for Blender, this I think is it. It is that good, despite its UI problems.
Difference between the editions
The add-on comes in two variations. There are a standard and a pro. I tested both since the developer was kind to send me the standard version after having bought the pro so that I could compare the two. According to a comparison sheet on the add-on page, there are a few things that aren’t in the standard version. These are the features not in standard.
Advanced heuristic algorithm
UV Map validation
Packing on GPU
Heuristic search on all devices simultaneously, listed as experimental on Mac.
The overlapping islands lock is listed as well but seems to be in the standard edition. That is also confirmed on the Blenderartist support thread.
The things that had the greatest impact for me to choose the pro version were the grouping and UV Map validation. The UV Map validation alone is just pure gold. Press a button and know that your UV Map is ok. It is a very nice safety net.
I don’t know how many times I have accidentally brought some object into Substance Painter just to find out after having set things up that I had some small little error in the UV Map that I missed. That doesn’t happen any more thanks to this function.
I would always recommend going for the Pro version thanks to the validation function alone.
The grouping feature is very good as well. Especially when troubleshooting your UV Map and you have to look for a specific UV Island. It also looks nicer and makes texture painting a whole lot easier.
Despite a pretty poor interface UV Packmaster Pro 2 has come a long way. It is quick when calculating on CPU and even quicker when the GPU is used and so works well for speedy iterations between different layout possibilities.
It has a nice set of features to help you set up the UV Map the way you want with groupings and overlappings as well as accurate margins. I found it to be very stable, hitting an error only once or twice during my testing period but those were due to my own habit of clicking too many buttons rather than the add-on itself.
I gladly recommend UV Packmaster Pro 2 to anyone who is willing to accept a few UI thorns for a massive timesaver. The standard edition is good as well but in my opinion, it is not worth saving a few bucks over the Pro edition if you are going for the add-on anyway.
If you are like me, you are lazy. Making a UV Map for every object takes time and even if I am still sitting in my chair while doing it, it involves an internal meltdown. At least for me. Sometimes. Box mapping to the rescue!
Box mapping is a way to project a texture onto a 3D object without a UV map. We project the texture from 6 sides, XYZ and their negative counterparts. Box mapping is often called triplanar projection. To use box mapping for a texture in Blender, select the image texture node and change projection from flat to box. Use a texture coordinate node with generated or object coordinates connected to the vector slot.
What is box mapping?
With box projection, we project the texture from six sides. Positive and negative X, Y and Z. In the UV map we can tell what pixels the faces (polygons) should have projected to it, but in box project mode we are limited to the 6 sides of projection. What we sacrifice with box projection is control, but what we gain is speed, lots of speed.
In a way you could say that box projection is a good effort to make an image texture a procedural texture.
When do we use box mapping?
Box mapping or trilinear projection as it is also called is not suitable for every type of 3D model. But one area where it excels is architectural visualization and interiors. The reason for this is that there is a lot of objects that are quite square and we can box project our texture on to those objects, make some adjustments and be done.
How to use box mapping?
We have two different kinds of textures that we will consider. An image texture that is seamless and is quite uniform, meaning there is no clear direction as to how the texture should be laid out. This could be a moss or rock texture. The second image texture is also seamless but it has a clear direction to it. Like wood.
Let us first look at the uniform type since it is the simple one.
Start with a texture coordinate node and a mapping node. Use the generated or object output from the texture coordinate node and pipe it to the mapping node. Generated and object coordinates works differently but for our intentions here they will serve a similar enough purpose.
Pipe the mapping vector output to an image texture and change the image texture from flat to box. Now you will get a blend value that you can raise to blend between the 6 angles the texture gets projected from. For a rock or mud texture a value around 0.2 or 0.3 usually gets rid of any seams that might have been.
This is as simple as it gets for box projection.
The tricky part is when we come to the second type of texture where we have a clear direction that absolutely needs to be rotated correctly. If you try to change the rotation value in the mapping node you will get less than ideal results in most cases. Here we have two options. Lets first look at the rotate image option.
Use a 2D image editor or an add on
We can ether rotate our texture in a 2D image editor and save a rotated version and use that in the same way as we did with the uniform texture. For this, I have written an addon that can help. It has two functions. The addon is made for Blender 2.80 and is available here:
Install it like any other add-on. Go to edit -> user preferences, find the add-on section and click install. Browse for the add-on zip file on your hard drive and chose it. Check the checkbox next to the add-on name once it appears in the list. Close preferences and open the shader editor to start using it.
The first operation is a toggle between box and flat image texture projection. When toggled to box project the blend value is set to 0.2. This is just to speed up the process of toggling multiple image textures to box project at once. IT helps if you have PBR materials with hoards of different texture maps.
Select the image texture nodes in your node tree that you would like to toggle. Hit alt+q or hit space and type “boxtoggle” and hit enter to use this function.
Ok, now for the tricky rotation stuff. This will give us some control, but not full control. The second operation will rotate the image texture that is set for any selected image texture nodes. Use it with alt+w or search for “rotateimage”. How does it do that, well it looks for an existing rotated image or makes one.
Let’s say that we are trying to box map “my_cool_wood.png” to our object. When we run the “rotateimage” operation Blender will look inside the blendfile if an image called “my_cool_wood_rotated.png”. If it finds it, it will switch to that image.
If Blender can’t find the image it will look in the original folder on the harddrive for “my_cool_wood.png” and see if there is a “my_cool_wood_rotated.png”. If the image is found there, Blender says, great! to itself and loads in the texture. If the rotated version still can’t be found it will just be created and stored in the original folder on disk.
Now the rotated version will definetly exist and the next time you run the operation Blender will just toggle between the rotated and non rotated version of the image.
This gets us some more control. We get to rotate all projections by 90 degrees at the same time. But we still can’t rotate every projection angle individually.
Solve the problem with a node group
The other method is to use a node group. The math behind this node group was made by MartinZ on blenderartists and the node group was then put together by Nathan_boder. You can read the full forum thread here. However the download links seems to be broken. But you can get the blendfile here. You need 2.80 or later to open it. A 2.79 version is available from the thread above.
Append all node groups from the file. Use the nodegroup called “texture preferencies” instead of the texture coordinate node and pipe it straight to your image texture. This node uses the flat projection method so change from box to the default flat. Notice here how we lose the blend slider when we use this method. This is one of the drawbacks. The seams that might be however, may not be so obvious and if this way of texturing can save us UV Mapping and still gives us enough control, then we might have saved ourselves some time.
To learn how it works setup it up in the shader workspace to see how the texture behaves as you change the values in realtime.
Putting it all together
So, how could we use all this to our advantage? Well, this is my approach. First I determine if my model is fit for box projection or if I need a UV Map. Most of the time I will go with a UV Map starting with a Smart UV Project but if my model is simple enough or unimportant enough I will go ahead and try box project first.
You can read more about UV Map workflow in my article The definivive guide to UV Mapping. It is a long read though, but it might help you understand different workflows of mapping ,why we uv map and what aim you should have for your uv map in different situations.
Then I will select all image textures that I want to box project and use the boxtoggle addon above. I inspect the projection and see if it fits my needs. If not I may rotate the images using the addon if it is the rotation that is the issue or just adjust add a mapping node and adjust the scaling if that seems to be the problem.
If I am still not happy I will delete the texture coordinate node and use the node group from the blenderartists thread above. From there I adjust the parameters as I see fit.
In case I am still not happy with the mapping. maybe I need different rotation and scaling independent of the projection angle for instance. Then I will go back and walk through the appropriate UV Mapping workflow.
This may seem like a lot, but all this is probably done within the minute if Blender is setup correctly. Toggling box projection is super quick with the addon, same with rotating the image. Switching the texture coordinate and mapping for the nodegroup above is also seconds away. We are simply moving from the simplest and fastest to the more complex medhod as we may discover limits we may or may not tollerate in our scene as we go.
We learned how to use box mapping and that it can also be called triplanar projection in other applications than Blender. We also looked at increasing our control over how the mapping is done by rotating and scaling in different ways. Ether using a rotated image quickly made with the addon above or through a nodegroup. With the nodegroup though we lose the blend value but the rotated image approach can’t rotate individual projections.
I hope you found this useful and I would like to encourage you to share this on your social media channels as well as commenting if you have any questions or feedback. it really helps out a lot. It motivates me and also helps others.
Also consider joining the newsletter. I don’t send regularly and not very often. Instead it comes as a friendly reminder from time to time that I am still here, making your 3D art life just a little bit easier every time you come around to read a little bit more.
Thanks for your time
Get our free workflow cheatsheet!
Join our newsletter and get updates of our news and content as well as our 3D modelling workflow cheat sheet.
UV Mapping is by many considered being the most boring part of the entire 3D art pipeline. A mini game tucked right in the middle like a massive roadblock that does not fit along with all the creativity surrounding it. After having read this article however, I hope that you are one of those people that does not think this way. But instead appreciate the cool technology.
Using Blender for UV Mapping, you can get far by using Smart UV unwrap together with the regular unwrap operation. Remember that you don’t need to unwrap your whole mesh at once. Instead utilize different techniques on different parts. In edit mode, use the “U” key for the unwrap menu and transformation and selection tools in the UV Editor and 3D Viewport supplement well.
The goal of this article is to cover as much of the unwrapping process as possible for as many workflows as possible. This is to get a broad understanding of the process and tools. In the end though, we will boil it down to a handful of tools and procedures that can help you get most of the Unwrapping done efficiently and accurately through looking at some common workflows. Hopefully giving you the confidence to be fast and efficient while also having some idea what to do when things don’t turn out as you would like them to.
What is UV mapping?
UV mapping or UV unwrapping is taking a 3D model and cutting its geometry and lay out the pieces flat on top of an image. We then use the result to map the position of the image to the position on the 3D model.
You may have seen those odd images sometimes that looks like you could print, cut out and glue together to create an origami figure. If you have seen such an image, that is most likely an image custom made to be mapped onto a specific 3D model using a UV Map.
Your 3D model has X, Y and Z coordinates. But under the hood a U and V coordinate can also be stored for each of those vertices in your mesh. These coordinates are the 2D coordinates that is used to map a 2D image to the faces on your 3D object.
In Blender we can have multiple sets of U and V coordinates. Each set stored in a separate UV Map. The UV Maps live with the mesh object and the list of UV Maps for a specific object can be found in the properties panel. Go to the mesh data tab and find the UV Map section. By default, a primitive object just added into your scene has a UV Map called “UV Map” that is populating the list.
What is UV unwrapping used for?
We have mainly three scenarios when we UV unwrap.
The first scenario is that we already have textures. Most likely seamless textures that we want to map onto our object. We may want them to tile, and we may want different textures to cover different parts of our model.
The second scenario is that our intention is to bake. We may want to take information from the world, from another object or from the object itself and store that into images so that we may use that information later to create a more detailed set of texture maps that we can later use to texture the object. There are all kinds of textures that we may like to bake ranging from normal maps, AO maps and id maps to baking the light that is cast on to our object.
The third scenario is that we do not yet have a texture but instead we intend to paint one by hand ether inside Blender or in an external application.
All these scenarios come with different planning.
What do we need to keep in mind when working on a UV Map?
The number one thing we need to consider is how our workflow looks. More precisely how we plan to texture our model. There is a big difference between having textures dropped right into the node editor to texture while shading and preparing a model for export to an external software like Quixel or substance painter.
We also need to consider what kind of model we are dealing with. Is the model supposed to be for a mobile game and we got very limited resources to render our model in real time? Perhaps it is for the next AAA game for PC gaming. These are two very different scenarios.
We may not need the model rendered in real time at all. We could deal with pre-rendered animation or still images. The pre-rendered scenarios requiring much less optimization and possibly more detail preserved.
With that said, it mostly boils down to one thing. Can your UV Map overlap or not? In Blenders UV Editor you can scale your UV Map beyond the size of the image you want to project on to your model. The image bounds can be referred to as the 1001 space. Scaling the UV Map outside the 1001 bounds will start to tile the texture. What sticks out on the right side will be textures as if it was sticking into the left side of the texture space.
If you plan on exporting your model to another software package, you most likely need to stay within the 1001 space. This usually also means baking textures, ether inside Blender or in an external application.
Even if you stay within Blender through your whole workflow you may still need to consider staying within the 1001 space. For texture painting or baking for example.
The one time you can overlap your UV Map is when using the most common workflow in Blender. That is when you have pre-made textures that tile, and you are texturing and shading at the same time within the node editor. Therefore, it is common to see Blender users overlap UV Maps. It is a big part of the internal texturing process in Blender.
If you later want to export your assets to another software, you can bake your material setup to a new UV Map that is contained in the 1001 space.
When working with a UV map that is supposed to be contained within the 1001 space the goal is most of the time to take up as much space as possible within those bounds. We want just a little bit of margins between different UV islands so that we can avoid seams and have just a little bit of margin that goes beyond each UV island.
Personally, I use two different workflows. One where I export for texturing in substance painter, and one where I texture and shade directly inside Cycles/Eevee shader node editor. But out of 10 projects, I estimate that 8 of them does not include Substance painter.
At this point you may think that UV Mapping is complex! Please don’t get discouraged. We are about to jump into the tools and add-ons available in Blender and if you are confused at this point or any time while reading this next section, just stick to it. If things don’t start to become clear I think the third and last section will clear up things for you. At that point we will be going over workflows. We will make sense of the chaos, but before we get there, we need to know some concepts and tools.
Setup Blender for UV Mapping
UV Mapping takes place in the UV Editor and in Edit mode in the 3D view. You can use the workspace called UV Editing instead of setting up the interface manually.
We also have a list of our UV Maps in the Object Data tab in the properties panel. In this list a UV Map can be both selected, shown by the background color, and “active for rendering” shown by the camera icon. If we make a new UV Map, the UVs from the selected UV Map will copy over with it. The selected UV Map will also be the one displayed in the UV Editor.
These are the areas of the interface we need to work with UV Maps. We can also set up a material and view to see how the mapped texture looks.
In the shader editor we will need a material with an image texture node populated with an image to see how the UV Map is mapped to the image.
Lookdev mode will display the texture using the UV Map selected in the UV Maps list in the properties panel while rendered view will always display the “active for rendering” UV Map.
How the UV Editor and Edit mode work together when creating UV Maps
In edit mode, we will use selection tools and the unwrap menu, shortcut “U”. In 2.80, all tools that we need in the 3D view for unwrapping have moved to this menu.
To clear and mark seams we can also use the edge menu in the 3D view. The shortcut is “ctrl+E”. For 2.79 users this is where marking and clearing seam functions live. More on seams ahead.
In the UV Editor we will do the finer adjustments, using selections and the same transformation tools as available in 3D view together with tools specific for the UV Editor.
How does the UV Editor and Edit mode work together then? Remember the list of UV Maps? For the selected map, any selected face that has UV coordinates in edit mode will show in the UV editor. In lookdev mode, we will use the selected UV map to show the current image texture and how it maps using the selected UV map. In rendered view, we use the UV map with the “active for render” icon as long as we don’t set another UV map in the node editor.
In the UV Editor we also have the option to link what we see from the 3D view. By default, we can only see the current selection in the UV Editor and we can make selections independent from the 3D view. We can also sync the selection between the two editors if we so desire. This brings with it some different behavior in the UV Editor. If we mention nothing else though I will assume a non-synced state.
With 2.80 comes a new feature called multiple object editing. This can be a very useful tool when you are unwrapping multiple objects at once. Hold shift to select multiple objects and hit tab to go into edit mode.
Blender will take all objects in edit mode into account when making its UV map calculations. A smart UV project with all objects fully selected will make a UV map on each object but will take in consideration all faces when placing them into the 1001 space.
In the UV Map list Blender will use the selected UV Map for each object when in multi-object editing mode.
We have already started to touch some concepts not introduced until this next part, like Smart UV Project for instance. Read on to learn the full story.
Seams are a big part of UV unwrapping. We can think of seams as the manual approach to UV Mapping. A seam can refer to multiple things. I will try to explain three definitions starting with the most important one.
A seam is an edge in your 3D mesh that is “marked as a seam”. You mark a seam by selecting it in edit mode, hit “U” to bring up the unwrap menu and select “mark seam”. You can also clear a seam by using the “clear seam” option. The edge will get a red color showing we marked it.
A marked edge tells Blender that when we use the “unwrap” option from the unwrap menu the faces on either side of this edge should not stick together in the UV map. Instead, they will split apart as Blender lays out the UV Map with the goal to minimize stretching.
The goal is to place seams in a way so that when we run the unwrap operation Blender can lie out the UV map with minimal stretching. So why not just mark every edge as a seam? That brings us to the next seam type.
Another definition of a seam is when the texture is not seamlessly moving across an edge dividing two faces with a clear difference in texture. The cause could be a “marked seam” or by another unwrapping method.
I hope you can see the difference here. One definition is an edge, a 3D mesh element we marked, while the other results from a badly mapped texture.
The third definition is less common, but you may come across it. A seam may also refer to a clear seam in the texture image itself. This is more of a warning of bad terminology. Sometimes artists use the wrong word here.
For instance, if you have a wood plank texture, sometimes you can hear the line dividing two planks in the texture called a seam. The line dividing two planks in the texture is not actually a seam, but I have heard this terminology used many times. The take away is to know what is being referred to.
Let’s jump back to the first definition. Creating seams is a big part of UV mapping.
UV mapping methods
Now we will jump into the different unwrapping methods available in Blender. These are different algorithms that Blender uses to calculate the UV map for a given mesh object.
Blender takes selected faces as input and spits out corresponding UV coordinates for us to map our texture. All methods are considered automatic except the first one that is labeled “unwrap”.
Unwrap is the only method that uses seams as its metric for where to cut the mesh. After having cut the seams Blender tries to lie out the UV map avoiding as much stretching as possible.
We have two operator options available. Most of them having a minor impact on the unwrap. The ones to keep in mind is “fill holes” that can help us unwrap meshes that are not watertight. The margin can also be good to keep in mind. We should have a few pixels between our UV islands to avoid any bleed over. Also, if you are texture painting, leave a large enough gap so you don’t have to paint the UV island edges at snail speed.
Next up is live unwrap. We can also find this feature in the UV editor if you go to the UV menu. These are two different features though even if they have the same name.
I never use this feature, but when I dove deeper into it, I found that it is not that well documented. I also found that it does not work very well together with other unwrap methods. However, by itself and the right circumstances, I think it can be a very useful tool. But since it works best on its own, I will cover it in full in the workflow section.
For now, I will just say that when activated in the 3D view it will do the unwrap operation on your entire mesh every time you add or clear a seam.
Smart UV Project
This is probably the most useful for hard surface modeling, architecture visualization, and mechanical objects. When using it, Blender will determine where to cut the mesh based on angle data.
When you have a hard surface, object it can be a good idea to start with a smart UV project and see what Blender gives you before starting a manual unwrap. Sometimes you don’t have to make any corrections depending on your situation, and sometimes you get a good start with a smart UV project.
There are a handful of parameters available, such as margin that lets you decide how far apart islands will be from each other.
Angle limit will let you decide what angle an edge needs to have before it is cut.
I also find that deselecting “Stretch to UV Bounds” often gives me a better result since the X and Y coordinates won’t stretch to fit the image. Instead, we keep the correct aspect according to the 3D mesh.
This is one that I almost never use. Lightmap is geared towards game assets that need light baked into them. Blender will take each face and unwrap them individually. The goal is to take up as much of the UV space as possible. Faces will be ordered by size from smallest to largest.
For 2.79 and earlier we could use this to make a UV map for multiple objects at once. There was an option to unwrap “selected mesh objects” when you had multiple objects selected and was in object mode for the active object.
In Blender 2.80 however, we now have edit mode for multiple objects at once and this function has been removed as a result of it.
Follow active quad
This is an interesting method for making square UV grids. You can select what you want to unwrap then click (activate) the face you want as a guide and unwrap using this method.
Follow active quad uses the active quad in UV space, not in 3D space. This is an important distinction. What you can do is to unwrap one face first, make it into a square or rectangle and then “follow active quad” with this face selected and the rest of your 3D view selection will be unwrapped accordingly.
Cube, cylinder and sphere projection
These are meant to be used when unwrapping their respective primitive shape. Note here that these take the 3Dview angle into account when unwrapping. Most of the time, you will get a desired result if you first go into front orthographic view with number pad one before you start your unwrap.
Project from view
Project from view will take a snapshot of the selected faces from your current view and project into 2D space. This depends on both the view and perspective/orthographic view. I have seen this used as the main unwrapping tool for hard surface objects, but I never use it myself.
It is easy to see what you are doing since you literally move your view around and snapshot your selection. But it is not very time efficient since you must make all these camera changes and selections to unwrap.
There is also a menu item called “project from view(bounds). This is basically the same thing except that the UV map will be scaled to fit the 1001 space.
This will stack all your selected faces on top of each other, every face filling the entire 1001 space. This is good to use together with follow active quad to unwrap the first quad that you then use as a guide.
It is also quick if you want the same mapping on every face.
Edit mode Selections for Unwrapping
A big part of unwrapping is making accurate and precise selections timely. Though I don’t think we need a full walkthrough of selections, I will just outline some selection types that I have found useful.
When unwrapping we will spend most time in face and edge selection. We will use face selection to select areas we want to unwrap and edge select to create seams.
Personally, I never have my selection tool set to anything other than box selection. This is the default and allows both for box selection and click selection.
Holding shift will add to your selection.
Holding ctrl will also add to selection but it will select a path from your active element to the element you clicked.
While selecting using ctrl, you can go to the operator panel and find many valuable settings.
You can tag the path if you are in edge select as a seam or any other marking available for edges. Unfortunately, we can only add one kind of tag at a time. We can also do other settings For instance, selecting every nth element.
Holding both shift and ctrl will fill a region.
Hold alt to select a full loop.
For face selection, I also find the “select similar” menu very underrated. Access it in edit mode with “shift+g”. As its name suggest, it allows you to select based on several traits.
An example is when you want to select multiple faces on the same surface. You can use “select similar” and use co-planar.
Between your selection and unwrapping, if you are unsure about your current selection, take a quick look in wireframe mode before unwrapping to make sure that no extra elements are being selected during the unwrap. Use “shift+z” to enter wireframe mode.
How does UV maps work with modifiers?
A couple of things to watch out for when dealing with UV maps are modifiers and mirrored meshes. Let’s start with modifiers.
If you have modifiers on your model that is not applied your UV Map may not give you the result you intend. The best example for this is the solidify modifier. The extra thickness added by this modifier will copy the textures pixels that live on the edges of the faces and the backside will copy the front facing UV coordinates.
Other modifiers, such as the array modifier and subdivision surface modifier work better. You will just have to double check.
When working with symmetric objects, you are likely to use a mirror modifier. In these cases, you have some different options depending on your end goal.
Sometimes, you may want a mirrored texture along with the mirrored mesh. In these cases, the UV Map can overlap. You should start the unwrapping process before applying the modifier.
When you don’t want a mirrored texture, you can go one of two ways. You can apply the modifier first and unwrap the whole mesh. You can also unwrap half the mesh and flip the mirrored set after you have unwrapped and applied the modifier. If you want to do this, it is easiest to mirror the UV map across the X axis. Just select the part you want to mirror in the 3D viewport, move over to the UV Editor and hit S for scaling, follow that up with X and “-1” to flip on the X axis in the UV image editor.
Tools available in the UV Editor.
In earlier versions of Blender, the UV and Image editor were the same, but since 2.80 they have been split into two different editors. While this leads us to have more different editors to learn, we will have fewer tools that clutter our workspace while unwrapping.
I think these two editors are good to separate from each other since they perform very different tasks even if both are in 2D space.
In the UV image editor, we come across a few new terms, one of them being the 1001 UV space that we have touched on earlier.
Another one is the concept of a UV Island. In the 3D view we have vertices, faces and edges. A UV Island is a set of faces that is connected in the UV space but also not connected to any other part of the UV map. Just like an island.
UV Editor selection and translation tools
In the UV editor, we mostly have the same selection tools as in the 3D view. We can toggle between box selection, circle, lasso and a simple click to select using the tools panel or the “w” hotkey. Most of the time, you will want the box select since it also seconds as the click to select tool.
In my Blender setup I have remapped the “W” key since I find myself almost only stay in box select mode and sometimes accidently hit the “W” key just slows down the workflow. Just like for the 3D view.
Apart from that I think “select linked” is the most powerful tool. This is mapped to “ctrl+L” and if you have any element of a UV island selected, this tool will select the whole island. Often you will want to translate one or more whole islands.
We also have “ctrl+I” This shortcut inverts the selection. Useful in both 3D view and the UV Editor. Instead of selecting a large portion of your UV map, select a smaller portion and invert to speed up the process. It can also be used together with “ctrl+L” if you want to select a large subset of UV islands.
Just like selections, the UV editor has the same basic transformation tools as the 3D view. We can use G to grab and move, R to rotate and S to scale our selection.
We also have different pivot points that we can choose from in the header. Apart from the standard median point, we can scale individual origins for different UV island and also use the 2D cursor.
The 2D cursor can be used in such a way that if our goal is to lay out our UV map within the 1001 space, we can lay out the map from the bottom left corner and if the whole space is not filled up, we can scale from the cursor position to fit the UV map to the 1001 space.
Average island scale and pack islands operations
These are two very useful commands. You will find them in the UV menu from the header in the UV Editor.
Average island scale will take your selected faces and average the scale of them so they match according to the 3D view. For instance, if one face is scaled way down in the UV editor compared to its size in 3D space it will get an appropriate scaling in relation to other selected parts of the mesh.
Sometimes though there might be areas of the model you want to give a smaller texture space to since we may not see them from more than a few angles. Just exclude these parts as you use this tool.
The pack islands command will rearrange all your UV Islands so they fit within the 1001 space. However, the algorithm used for this is basic. For every UV island blender will use a box around each island and no other faces will occupy that space. So, if you have an L-shaped UV island it will take up a whole box worth of UV space. In such a case, this command may not be ideal.
With models that have mostly square or rectangular shaped UV islands, however this can be a very useful tool. We can also use it to create a starting point.
As an alternative, there is an excellent addon called UVPackmaster that will use a more advanced algorithm to pack the UV map. Keep in mind that this is a paid addon though. At the time of this writing, UVPackmaster 2 is the current version, and it is available for both Blender versions 2.79 and 2.80. You can read my UV Packmaster Pro 2 review here.
In previous versions these operations had shortcuts, but they were removed during the 2.80 beta. Assign new hotkeys to these if you use them often.
Separating, stitching and welding UVs
To separate UVs, you can use the “Y” key. This will take your selected faces and disconnect it from the rest. You won’t notice at first that we separate the UVs. But hit ”G” and start moving the selection and you see that it had an effect.
Next tool is stitching. Access stitching with the “v” key. It is most useful when you have unwrapped individual pieces that you want to stitch together to create a larger UV island. The pieces may be easier to unwrap individually and then combined again using this tool. The tool can be unpredictable though, since it does not provide a lot of control. Instead, you kind of toggle between Blenders suggestions on how to stitch together your selected UV islands. Watch the header for more instructions on how the tool works.
We also have the weld operator. This tool works by selecting two or more vertices that you want to move to the same location. Select them, hit “shift+w” and select weld and the position of the selected vertices will be averaged and placed on top of each other.
There are more tools available like UV sculpting, alignment tools and so on, but I almost never use them. If you want to read up more on other specific tools, the Blender manual is a good place to continue.
This will have to conclude the UV Editing tools.
Addons for UV Mapping
There are mainly two addons that I want to turn your attention to. Both are external add-ons. Let’s start with the first one.
It is called UV Squares and is a free add-on available here:
It has a few functions. “UVs to grid with respect to shape” is the most useful. It helps create square patterns from a skewed set of UVs. The shortcut is “alt+e” once we instal the addon.
The second one is a paid addon called UVPackmaster 2 Pro. It helps to pack UV islands quickly and efficiently. It is excellent when you need a UV Map that is contained within the 1001 space. Compared to the built-in pack islands feature, this is far more efficient and saves a lot of time and headaches when dealing with UV Maps.
UV Unwrapping workflows
The best way to UV-unwrap a model is in most cases to use a combination of UV unwrapping tools. In the beginning, it’s hard to realize that you have the option to unwrap a model a little piece at a time. Your unwrap command will affect only your current selection.
Unwrapping for shading internally in the node editor
When we are using Cycles or Eevee as our renderer we need not worry too much how our UV Map looks. In the shader editor, we may combine UV Mapped images with box projected images and procedural textures left and right in a spaghetti bonanza with our nodes and noodles.
On the other hand, you may just have started out and the node editor is very foreign to you. You may work with a single principled shader and an image texture or two connected to it and that is fine.
To appreciate the full potential of this flexible workflow though we will need to know two nodes.
For UV mapping, we have two primary nodes. The UV Map node and the texture coordinate node. The texture coordinate node has a “UV” output that can be piped to the input of an image texture. It will use the “active for rendering” UV Map while the UV Map node will use whatever map we specified.
These nodes allow us to combine different image textures using different UV Maps in the same material. You can read more about the node editor in the “physically based rendering and blender materials” article and its follow-up practical example article, “physically based rendering, blender nodes, with brick texture example”.
Let us continue.
For this workflow we will start with one or more seamless textures or set of textures for a PBR workflow. As an example, let’s also say that we have a house to Unwrap. Use the albedo/diffuse map of the PBR set or the single texture that we have and pipe it to the color input of the principled shader. Toggle lookdev mode in the 3D view.
We can start by selecting everything and using a smart UV project. From there we can switch to sync selection between the UV Editor and 3D view. Go into wireframe view and select the walls from a front orthographic angle.
We can toggle back to lookdev mode and scale and rotate the UV Map until the scaling and rotation looks right on our model.
Continue doing this for all the pieces on the house until everything is unwrapped. Some areas will need to be further adjusted. You can select these areas and use either smart UV project or a simple unwrap with the isolated selection.
With a house, we can also use the unwrap method. Just select one corner of the house and mark seam. Select the rest of the walls around and unwrap only those faces first. Then you can hit “ctrl+i” to invert the selection and use a smart UV project. This is also a good starting point.
To prepare a second UV Map for baking just add a second UV Map and smart UV project the entire model on to it. This UV Map will need to stay in the 1001 space and cannot overlap. You can then use this UV Map to bake the materials different properties to this second UV Map. Keep in mind that smart UV Project does not guarantee a non-overlapping UV Map ready for baking, but in most cases, it will be ready out of the box.
If you have problems with smart UV project and overlapping UVs, it is usually caused by n-gons that are wrapped around a large area with a hole or gap in the middle. Try to triangulate the mesh first for a quick fix or manually check your mesh for any troublesome areas.
Unwrapping for arch viz and hard surface objects in 1001 space
When we are using different software for different parts of our workflow, we will most likely have to stick to the 1001 space. Texture painting or baking are other scenarios when a non-overlapping UV Map is used. A common workflow is to use Blender for modelling and UV Unwrapping and then move to Substance painter to create the texture before moving back to shade in Cycles or Eevee.
In these cases, we can start just like when texturing internally by making a smart UV project. Sometimes, this may be good enough for us. What we must watch out for is angles going diagonally across the UV map since these can create artefacts when painting. Try to keep these angles to a minimum.
We also need to think about what kind of texture will be mapped to different surfaces. It is way easier if all the faces that will have a directional texture, like wood grains, are laid out in the same direction. If not, we may have to do extra adjustments in the external application to rotate the texture for different UV Islands. The same is true if we are painting. It is significantly easier to paint in the same direction than to switch around the canvas to get the right angle for longer strokes.
Unwrapping for organic meshes in 1001 space
For organic meshes, it is common to have a UV Map in the 1001 space from the start. Most of the time, we have sculpted a high poly mesh in sculpt mode or possibly in another application like zbrush. Then we have made a re-topology that we now need to unwrap. We will then bake data from the high poly mesh to the low poly when the unwrap is complete. We do this so we can save all the detail we created during the sculpt pass to an image texture and use that on our low poly object to increase performance compared to using our high poly mesh directly.
This workflow can be different depending on the goals you have and the mesh you are working on. Following are some ideas that can be worth noting when unwrapping something like this.
For this kind of scenario, we will most likely only use the unwrap method, creating seams and unwrap parts as we go. If you are new to this kind of scenario, it can be a good idea to add a monkey object into your scene and look at the default UV Map to get an idea of how such a UV Map can look.
If you have a mirrored mesh from a mirror modifier you know after reading the modifier section that there are two ways we could go depending if we want a symmetrical texture or non-symmetrical.
The most likely scenario is that we will keep the mirror modifier so we can unwrap one side and have the other side mirrored. Create seams in the most hidden areas of the mesh and unwrap as we go, making seams all around loops to cut off different islands and so on.
For instance, if we have a head the ears can be separate islands and we can divide the head up where the hair or other features can help us hide seams.
As we continue around, we notice that some areas will get more tense than others and we may need to divide detailed areas up more to give more texture space for areas like the face.
A good feature to use during this process is stretching display. Hit “N” and go to the view panel, find the display section, followed by the overlay subsection. Check stretching and open the sub-sub-section (yeah, I know…subsubsub…). There you will find a drop-down and you can select the stretching type for Blender will display. Red will show that the area is very stretched or deformed and blue will show a balanced area with good relaxation.
In the UV menu, you will find “minimize stretch”. This can sometimes be useful to have Blender try to adjust the UVs automatically to combat the stretching.
A good balance is what we are aiming for. Try to hide seams in less visible areas, minimize stretching, and divide up the texture space according to your needs.
Live UV unwrap workflow
As stated earlier, the live unwrap is like its own workflow. It is best suited for more organic objects since it only uses the unwrap method and can’t really be combined with the other methods since it unwraps the entire model every time.
It can however be combined with multi-object editing and it can also make use of pinning. We do pinning in the UV Editor by selecting vertices edges or faces and hit “P”, to clear a pin hit “alt+p”. A pin will not be unwrapped again but will stay in place on an unwrap operation. However, you can still move the pinned elements manually in the UV Editor.
Pinning is not a live unwrap exclusive feature. It will work with the regular unwrap, but not for any of the other methods.
Using these features, you can move around the mesh and get an unwrap at the same time as you mark seams. Getting instant feedback on your seam placement. When done with an area, you can just in it to place and continue.
There is also a feature in the UV editor with the same name. Go to the UV menu, and you will see a live unwrap checkbox there. This is not the same feature.
This feature will instead use pinned vertices in the UV Editor as anchor points. If you have a UV Island with a handful of pinned vertices, then select two or more of them and transform using grab, scale and rotate, the UV island will bend and twist with the movement while letting the unselected pins stay in place. This can be very useful to manually adjust and fix stretching since you can add an extra pin in a tense area and scale it up or move and rotate it.
Box Projection, Triplanar projection and other alternatives to UV Mapping
When texturing and shading an object, you might find it cumbersome to UV map every single part of a texture. In some cases, we may get away without a UV Map. Instead, we can use what Blender refers to as box projection. Sometimes called Triplanar projection.
What it does is that it projects an image texture from six different angles. XYZ and their negative counterparts. To avoid seams where these projections meet, we also have a blend value to adjust the blending between these projections to smooth the edges.
To use Box projection, open the shader editor and add an image texture node, browse to an image you want to map to your object. Change the projection from flat to box, and you will also get a blend value to adjust. Connect the image texture node to your principled shader and see the result in the 3D viewport.
This technique has drawbacks. For instance, we are bound to fixed angles and we can’t rotate the projections individually.
Another upcoming concept is UDIMs. UDIMs are basically multi-dimensional UV Maps meaning that we can have overlapping textures without them really overlapping. It is more of an extension to the existing UV map system. Instead of being restricted to one square of non-overlapping UVs we add more spaces such as 1002 and 2001. These spaces are then mapped to other image textures to expand the texture space.
UDIMs are in most cases considered a feature that is best used in VFX, animation and other pre-rendered areas and should not be used for real time since it would use too much memory. However, we will see how this pans out in the future.
Blender does not yet support UDIMs thought but there is an ongoing development for this, and we may see it as early as version 2.81 or 2.82.
We started by looking at what UV Unwrapping is and the surrounding concepts. Then we moved over to look over some tools and unwrapping techniques available to us. We covered both the 3D View and edit mode and the UV editor. We continued by discussing different workflows for different models and finally took a brief tour over some alternatives and the UDIM expansion of UV Mapping that is an upcoming feature in Blender.
I hope you found this useful and as always you are welcome with your feedback and questions in the comment section as well as contacting me directly through the link in the footer or header or wherever I have put the button these days.
Also consider subscribing to the newsletter if you are interested in this kind of content.
Thanks for your time.
Get our free workflow cheatsheet!
Join our newsletter and get updates of our news and content as well as our 3D modelling workflow cheat sheet.