Select stretched faces threshold
# zenuv-support
d
Just wanted to clarify something and maybe let whoever's developing the addon that the Stretched Faces select "threshold" value doesn't appear to be normalized to the maximum stretch value. Hopefully you can see what I mean from the screenshot, where I've set the threshold value to its maximum (won't let me increase past 1), and there are still a ton of islands selected. I purchased the addon almost specifically for this function, hoping I could easily find and correct faces that are obviously in need of manual correction, but I can't get it to select only the ones that are egregiously stretched. It seems like the threshold value should select every face/island at 0, and none at 1, but that's not the case as far as I see. Is there something I'm missing, or a workaround for this? I've tried the auto-unwrap and relax functions, but auto-unwrap creates way too many islands, many of which are only 1-2 tris, and relax doesn't have enough of an effect. https://cdn.discordapp.com/attachments/1450998365927112895/1450998373103698040/image.png?ex=6944930a&is=6943418a&hm=e36e14502de7337f66b748b17d957aafc6f59bbeb9519df981c746dbe9620657&
v
Hey. Thank you for your feedback. You are absolutely right when you say that you are unable to achieve the desired results and that the Threshold value does not correspond to the maximum level of distortion. Let’s try to understand together why this happens and whether it can be addressed. First, let’s clarify the terminology. In this case, we are not talking about stretched faces, but rather about distorted ones. Despite the commonly used term “UV Stretch”, it is not entirely accurate and, in our context, can be misleading. The most important thing to understand is that when creating a UV map, all faces will always be distorted to some degree. The only exception is when each face is unwrapped completely independently from the others. In other words, a face X has no connection to its neighboring faces, so any attempt to reduce distortion in adjacent faces does not affect face X at all.
Moreover, if a face is composed of more than one triangle, it can also be distorted if it has a bend and does not lie in a single plane. Everything stated above effectively defines what “no distortion” means. These are exactly the faces that will be selected when Threshold = 0, since: > Threshold — defines the minimum distortion factor required for a face to be selected. To work across the full distortion range, we need to define an upper limit, meaning the condition under which a face is considered fully distorted. The algorithm in question works as follows: it measures the angles of a face in the mesh, then measures the corresponding angles of the same face in UV space, compares them, and if it detects a difference, it considers the face to be distorted. Logically, the maximum possible distortion would be a face whose angles are all zero — that is, all of its vertices occupy the exact same UV coordinates. However, using such a limit makes little practical sense, because this is no longer distortion but an error. At least in 99.9% of real-world UV mapping scenarios.
Additionally, this would significantly expand the Threshold range far beyond 0–1. If this is not done, the sensitivity of the tool becomes excessively high. In fact, in most applications, a tool like “select distorted faces” does not exist at all — and this is not accidental. The very notion of whether a polygon is “too distorted” is inherently subjective. For example, even a heavily distorted polygon can often be textured without issues in tools such as Substance Painter. Only you can decide whether the average distortion of UV islands is acceptable for your needs, and this decision can only be made through visual evaluation. Overall, the Select Stretched Faces tool is highly subjective. It is primarily intended for a workflow where you visually identify a face whose distortion is already unacceptable to you, and then adjust the Threshold so that this face becomes selected. As a result, all selected faces will have a level of distortion that exceeds what you personally consider acceptable.
d
Well, that's a very thorough answer, but unfortunately not terribly helpful in my case. The unwrapped meshes in question are indeed distorted beyond what I'd consider acceptable, and since there are so many, the texture resolution is already going to suffer, so I'd prefer not to exacerbate that if I don't have to. Your example of maximum possible distortion with zero angles does track logically, but it seems like it would be possible to scan through all the angles on the UV map and use the lowest as the "max possible distortion" value, so you could normalize the threshold input when searching. Blender already displays those angle values as colors, so it seems doable, but I have no idea how to execute that or how computationally expensive it would be. Just a thought
v
It may be possible to do this, but as I mentioned earlier, in most cases it will result in a very sensitive threshold range. Displaying colors and providing a good tool for selecting parameters are two completely different tasks. You cannot determine how different values are contained in colors that look almost the same. However, I will add your request to the Feature Request list and we will review the possibility of improving the selection algorithm. Could you provide your scene for testing?
d
I can upload it somewhere if you like, it's 70mb so I can't drop it in discord. Here's a screenshot of some of the more egregious examples of distortion, and I've got about 280 meshes to fix the unwraps for, so I'd obviously prefer to avoid doing all those by hand. I appreciate the answer in any case, I'll post a google drive link in a moment if you want to see for yourself and maybe provide an alternate solution. https://cdn.discordapp.com/attachments/1450998365927112895/1451146774399156336/image.png?ex=69451d40&is=6943cbc0&hm=b2c2aff5cafe3ecc4785926edd14d9ccd9a9bdb34874c6fc805399efe859dbc6&
v
I downloaded the file, and you can delete it. Thank you.
This model has organic shapes. Therefore, the Minimum Stretch algorithm will handle them better.
d
ah, not available in 4.2, I'll have to update
v
The part you pointed out has significant distortion. But you haven't finished creating the islands. Here is your geometry that needs seams. https://cdn.discordapp.com/attachments/1450998365927112895/1451152110409220106/image.png?ex=69452238&is=6943d0b8&hm=cdecd73e2e25aae86679b51953a9b65b8371857b5d861bd682e808b21eced77b&
Use Zen Relax Instead.
d
if you care to try it, I asked Grok to write a script to search for the highest distortion and select it based on a normalized 0-1 value, seems to work https://cdn.discordapp.com/attachments/1450998365927112895/1451152625989976065/message.txt?ex=694522b3&is=6943d133&hm=2d76c9bae06a6692f6df7c1428ffd7c6d89d2f8e34fe31a988efe79014421eba&
that is a way better unwrap than I was getting, I'll definitely give that a go though, thanks
I did try relaxing, didn't seem to do much, but I'll give it another whack when I'm not quite so tired
v
There is no point in looking for distortion. In order to look for problems, you first need to create the preconditions. In your case, you are not meeting the basic requirements for creating islands. Despite appearances, you have very simple geometry.
Here is the quickest way to find distorted islands in your case. These are islands that have a hole in them. Except for those that look like a ribbon. This means that they are missing seams. https://cdn.discordapp.com/attachments/1450998365927112895/1451155950730739862/SelectDistortedIslands.mp4?ex=694525cb&is=6943d44b&hm=aad28d303352a611cf2628a1950f9a03358202db51cded7b88901554259ebc9b&
d
That'll be handy for the future, thanks. I didn't have a good way to create a seam in the "ribbon" islands without doing it by hand, but maybe with the minimum stretch unwrap method I won't need those anyway. I appreciate the help and the alternate solutions though, looks like I need to explore the addon more thoroughly once I update blender in the morning