Forum: Blender


Subject: Tutorial Texture Painting for Beginners

Lobo3433 opened this issue on Oct 13, 2022 · 12 posts


Warlock279 posted Tue, 18 October 2022 at 1:43 AM

A couple really quick, really dirty [really ugly] examples of what I mean about mixing scaling and margins/padding issues for anyone interested. I've taken these examples to extremes for demonstration purposes, cause surely no one is going to scale different parts of a contiguous object at a 2:1 ratio on a UV sheet, and if you did want a solid orange object, it'd be silly to use a texture sheet at all, but here are a couple examples none the less.



When you mix scaling you can get incongruities in your textures that make your seams more obvious. For example in the lines you can see where the pixelation jumps from the scaled up half, to the scaled down half. It's less noticeable on larger/softer lines than it is on smaller/sharper lines, but it's really obvious in the texture example. The texture is refined in the top half, but the bottom half turns to a blurry mess, even tho it was painted at the same time using the same brush. Again, larger/less detailed textures won't suffer as badly as smaller textures, but what's the point of using a 4k texture sheet, if you're gonna paint it like a 512²?

So when is it okay to mix scaling? I avoid it as much as possible but sometimes it has its uses. If you have non-contiguous parts of an object, with completely different textures [say wood on one part, and metal on a another] you can probably get away with a little scaling difference [you don't want to get carried away or you can end up with obviously high vs low res textures]. Similarly if you have an object that has one part that is essentially just a solid a color, and another part that is heavily detailed, you can get away with giving considerably more UV space to the detailed part [in fact you can probably get away with scaling that solid color part down to just a few pixels]. Maybe you've got a control a panel that's fairly plain, but has some buttons on it, and those buttons need to have text, you can probably scale them up so you get a better text resolution. Essentially as long as the two islands you're considering scaling to different sizes don't share a common seam/texture/material you can probably get away with a little mixed scaling.



When don't leave adequate margins, or your don't have padding around your UV islands, you'll make your seams more obvious and you run the risk of running into issues especially with mipmapping*. With good margins/padding you can make your seams almost invisible**. If you don't leave a decent margin, or pad your islands you'll get just the faintest of lines, which really isn't too bad, even in a solid orange on purple example, its barely noticeable, and if you're not looking for it, you might not even notice, who's really going to have a giant low-res orange sphere on screen anyway, but along comes mipmapping and suddenly you've got an obvious ring the further your object gets from the camera, but you don't have the problem in the padded island example.

Now, we're talking two things here, margins [the space between the UV islands] and padding [the space your color/texture extends beyond the edges of an individual island] but they go hand in hand. You want the padding, but to have room for padding, you need the margins. If you're texturing for an offline rendering engine, you can [probably] get away with a smaller padding/margin typically as anti-aliasing handles a lot of the same issues as mipmapping was developed to address, so the render engine may not rely on mipmapping as heavily. For real-time render engines you need to be a little more mindful generally, and a little more generous with your padding. As I said in my first post, if you know your engine, and what your uses are, you can be more selective about how you handle margins/padding, but for general purposes leaving a few pixels between islands is a good habit to get into.



Its worth pointing out that we're talking tiny amounts of space, I might leave a 16 pixel margin between islands on a 2048² texture sheet for example, that leaves me enough space for 8 pixels of padding on each island. That might seem like a lot, but once you take into account the odd shape islands you're inevitably dealing with, its usually pretty easy to find that space. We're also talking minuscule gains were you to eschew margins/padding in favor of scaling and start indiscriminately scaling individual islands just to fill a little more space. You might pick up 2-3% more texture space, which isn't worth the trade-off [risk/potential issues] in my book.

Same with indiscriminately scaling islands. You scaled this island up 8% and that island up 3%, and another 5%, but you probably haven't gained much more than 2-3% of actual texture space across all the islands combined. If you did manage to scale up every island individually any appreciable amount, scaling wasn't your issue, you needed to re-packed your UV map, and re-scale it as a whole.

Neither of these are necessarily huge issues, as noted, I used extremes for the examples, but good habits are good habits none the less.


*Mipmapping, I'm sure you've heard of it, but if you're not sure what it is, it's a texture processing function of render engines to avoid texture flickering. Essentially it blurs [technically its scales down] the texture the further the object is from the camera. Most render engines usually have options to adjust mipmapping settings, strength, distance, etc, but those are typically "power user" options, and come with some caveats.

**There are reasons beyond margins/padding/scaling etc that you'll never truly make them invisible, its just the nature of the beast, but that's neither here nor now.

Core i7 950@3.02GHz | 12GB Corsair Dominator Ram@1600mHz | 2GB Geforce GTX 660


Lightwave | Blender | Marmoset | GIMP | Krita