Suggestion; have Blender at least attempt proper UV coordinates on extrusions

I do recall 2.49 at least doing a simple ‘reset’ unwrap for all extruded faces that have been created, but 2.74 doesn’t even attempt to make proper coordinates.

My suggestions

  • Do an basic extending operation on UV coordinates when the user is making an extrusion without a volume
  • Do a simple reset operation on new faces when an extrusion is done on a closed volume, since Blender can’t readily assume what the user wants the final unwrap to look like

I don’t think this should be too hard to do, but it will be 10x better than the way it’s done, give a much better approximation of the final look, and lead to numerous cases where a secondary UV operation does not need to be done (especially in situation 1).

Thoughts?

I think the current behavior is correct in that it doesn’t destroy the UV information that was already there (e.g. it copies the UV coordinates from the source vertices). You can then select edges and “drag them out” so that the resulting UV faces don’t have zero area.

In general there is no way to automatically create “proper” UVs here. I wouldn’t want them reset for me and I don’t think that’s particularly useful, either.

Do an basic extending operation on UV coordinates when the user is making an extrusion without a volume

Not sure that is supposed to mean. What is supposed to extend, to where? Is the “inset” feature (which preserves UVs) doing what you want?

With a tool that only subdivides existing faces (like inset), it is easy to get the UVs approximately right by interpolating in the old face. With tools that create entirely new faces, it is very non-obvious how to jam those into existing UV space, especially if one wants to avoid putting new faces in what I call “no-mans land” – places where there were no faces before and so there may not any usable pixels there (without some more painting). Extrude creates new faces.

This is a current pain point for me as I try to improve the UV behavior of bevel. There are tons of special cases when you get into it, unfortunately.

I can see that island edges could be assisted by such an improvement, not sure how other faces should be handled though.

I remember many times wishing that the extrusion would behave on UV’s the way inset does during edit mode.

Can’t there be options then, as there’s cases where you want textures to tile and as such there’s no need to try to fit the new UV-faces in the texture space?

I was thinking that there could be an option to use code very similar to that of the follow active quads tool to create the new UV coordinates (because extrusions always create quads). If someone disagrees, there could be a UV-method menu in the N-key panel once you used the tool (which would include a ‘none’ option).

Sure, you could always add more options and little features here and there.

However, you can, after extruding your faces, select the “face loop” by alt-clicking on one of the edges and then ‘unwrap -> follow active quads’. That takes only a couple of seconds and does pretty much what you’re asking for, already.

But if you just want to focus on getting the shape and form of the mesh right and not have to deal with the extra steps to select > unwrap every time you invoke the operator, why not have that possibility?

It gets even dicier when you find that it’s a lot easier to incorporate Ngons into the work, as then you have to deal with pin > select > unwrap > unpin, and so on. For things like game levels, it would potentially be quite a bit of a faster way to work.