UV Editor Blues, and feture suggestions

First of all, these forums could perhaps use a new category: Bug reports and Feature Suggestions, if I may suggest. I’ve looked for such in Blender’s website and couldn’t find. Well, once I knew about a wiki for feature suggestions and got editing rights and managed to file a feature suggestion; but that was like 2 years ago; don’t know if that wiki exists anymore; or where would it be.

Also, I don’t understand why the automatic logoff time is so short; it seems impossible to ever write a post and not face up a new login screen when trying to submit. And after logging in one faces yet another login screen, ad infinitum. I’ve pointed this out before. I’m a forum admin myself, and I know it’s trivial to change the log-in time-out.

The fact notwithstanding that the UV Editor has been getting better over the years, it still has much to be desired. It may be good enough for monkeys and cows, but any serious UV unwrapping of like mechanical or architectural stuff is a nightmare. Then again, it’s quite probable that there are features in the current interface that I don’t know about.

I’m trying to unwrap a ruler. Yeah, a model of a wooden ruler with millimeter marks and stuff. I subdivided the mesh to make it easier to just bake the texture, so I have two loop cuts per millimeter, and lengthwise loop cuts also 0.5 mm wide to help me make shorterst marks for millimeters, medium for 5mm intervals, and 3-quad long marks for centimeters. I assigned materials as such.


(Well, the millimeters are actually meters; --long story, this is a “ruler ship” to fly in space and measure the lengths of other ships, for Vegastrike developers. That’s the cockpit, at the front.)

Problem 1: This would need a 4:1 ratio texture, so I made a temporary texture, 128 x 32 and loaded it. The texture space became rectangular, as it should. But I can’t see the grid lines. Making the texture black or white doesn’t help. Making it transparent doesn’t help. Unlinking it causes the texture space to go back to square. So, I can’t seem to be able to have a non-square texture AND see grid-lines :frowning:

Problem 2: I wanted my square quads to line up to single texels. You would think that Snap to Pixels would do the trick, but Snap is buggy as hell: Scaling down a group of quads, long before all quads become single-texel, some become ZERO-texels wide. This is a BUG, no if’s or but’s. Snap to Pixels [sic] (sh.b.“Texels”) should disallow zero length edges AND zero-area polygons. The smallest quad should be 1 texel in area; the smallest triangle should be 0.5 texels in area. No exeptions wanted or needed. This shouldn’t even be an “option”; it should be hard-coded. I’ve had this problem before, unwrapping space-ships, where bevel strips simply disappear, and it’s hardly possible to tell where that might be happening, and nigh impossible to fix manually; so I’ve been unable to use Snap, as badly as I’ve been wanting to.

Problem 3: No automatic tools packed do even 1/4 of a decent job. Smart Projections is a disaster: Doesn’t respect seams; breaks model in seemingly arbitrary ways, lays out bits and pieces all over the texture space at random; and the rotations of the islands are also pretty much random. On top of it all, it breaks smooth groups and you end up with sharp edges where you didn’t want any. LSCM may be good for monkeys and cows, but the ruler ship above gets unwrapped to the shape of a used diper after a fire. Plus, LSCM doesn’t seem to respect the most cardinal rule of UV unwrapping for games, which is that all islands should be roughly in the same scale. You might say that scale can be corrected by showing a test grid. Partly… but the smallest items are often smaller than the grid; so scaling correction is a HUGE manual job, anyhow. The only exception to scaling should be to disallow zero texel features when Snap is on.

A useful UV unwrap script for game models needs to strive to meet the following criteria (highest priority first):

A) Proper “Snap to Texel” behavior:
A1) No features smaller than 1 unit of area or length ever allowed.
A2) Snap applied globally to an island, rather than to each individual vertex separately. That is, if I have a quad subdivided into many tiny square quads and I have Snap on, and I shrink it smaller than the 2-texel per quad mark, the whole rectangle should snap to 1 texel per quad, rather than by sections. IOW, proper scaling between neighboring polygons should be a VERY high priority; --higher even than global scaling equalization.
A3) Snap should work well with automatic unwrapping modes.
A4) Space between islands should be configurable. Default value: 4 texels (less than causes color bleeding too quickly with anisotropic filtering).

B) Scaling equalization should be not only an option but be on by default. % allowance adjustable.

C) Rules for positioning and rotation of islands:
C1) Front/back rule: All front- and back-facing islands (normals aligned with Z axis) unwrapped to a common section of the texture, segregated from the rest of the unwrap. Why? Because during texturing, one can then apply motion blurs to produce streaks and scratches and other possible effects related to moving vehicles that have to align front-to back; but front and back-facing islands can be masked out of such blurs.
C2) Non-front-/back-facing islands should all have the front-facing direction pointing North (or UP) in the texture space; no exceptions. Why? For the reason just stated, blurs and other effects; but also to make the UV layout understandable. With the current set of unwrapping tools, only the author of the mesh can hope to have the least idea what anything is. If I pass the mesh to someone else to do the texturing, it would be impossible for that person to figure what’s what. Having all islands rotated in a standard direction would at least be a start in making them more easily spottable by shape, and the work of texturing less of a superhuman puzzle.

D) Grouping by material: Islands with a common material index should go together. Spacing between islands of common material could then be adjusted independently of spacing between islands of different materials (e.g.: 2 texels versus 4), as color bleeding between similar colors is less of a concern. Grouping by objects even goes without saying… Generally, things related by proximity in space, facing/orientation, or common object/material index would preferably be together in the UV layout, to make things easier to find.

Please someone get the attention of Blender devs to this post, or else tell me where to resubmit this stuff. T.I.A.

Feature suggestions:

Bug reports: