UV Equalize and Tube Unwrap addons (updated)

Hello, i’ve got a big update of Tube UV Unwrap, read below…

Tube UV Unwrap
UV unwrap tube like meshes (all quads, no caps, fixed number of vertices in each ring)

notes:

  • Works only on tube-like parts of mesh defined by selection and active vertex (therefore you must be in vertex selection mode) and the selection must have a start and an end ring. Tube-like mesh is: all quads, no caps, fixed number of vertices in each ring. (Best example of such mesh is mesh circle extruded several times or beveled curve (not cyclic) converted to mesh.) There must be an active vertex on one of the boundary loops in selection. This active vertex define place where mesh will be ‘cut’ - where seam will be placed.
  • Result is rectangular UV for easy texturing, scaled to fit square, horizontal and vertical distances between vertices are averaged and proportional to each other.

usage:

  • tab to Edit mode
  • select part of mesh you want to unwrap, tube type explained above
  • make sure your selection has boundaries and there is an active vertex on one border of selection
  • hit “U” and select “Tube UV Unwrap”
  • optionally check/uncheck ‘Mark Seams’, ‘Flip’ or ‘Rectangular’ in operator properties

changelog:
0.3.0 updated to blender 2.8
0.2.5 blender 2.73 api change
0.2.4 removed rectangular option and removed that portion of code since was very buggy. because nobody complained, then it is redundant and never used. also i can’t really remember why i thought it might be useful. so it is gone forever…
0.2.3 clarified docs (i hope so)
0.2.2 fixed maximum recursion depth exceeded error on large meshes
0.2.1 new option, ‘Rectangular’: if true, all faces will be rectangular, if false, horizontal edges will be scaled proportionally and whole, island will be centered in layout (just a by-product)
0.2.0 almost full rewrite, now it works on selection only, any mesh will work, if selection comply to requirements
0.1.3 fail nicely when encountered 2 ring cylinder
0.1.2 got rid of changing edit/object mode
0.1.1 fixed accidental freeze on messy geometry, fixed first loop vertex order (also on messy geometry), uv creation part completely rewritten from scratch
0.1.0 first release

download

https://raw.githubusercontent.com/uhlik/bpy/master/x/tube2.gif

UV Equalize
Equalizes scale of UVs of selected objects to active object.

  • Use when tileable texture needs to be applied on all objects and its scale should be the same across them.
  • Available in Object menu of 3d view while in object mode.
  • To enable, more than two mesh objects must be selected, one must be active.
  • Default behavior is active object determines scale and all other objects will be adjusted. This can be overrided unchecking ‘Use Active’, then all objects will be averaged.
  • Island scale averaging and repacking is optional and will yield a better result.

changelog:
0.2.3 better fix for bug fixed in previous version…
0.2.2 fixed bug which prevented script to work, operators are used for transforming uvs, but when in image editor is loaded ‘Render Result’, UV will not be displayed and therefore operators will not work… it’s one line fix, just set displayed image to None…
0.2.1 auto deselect non mesh objects
0.2.0 complete rewrite, now it is pure math
0.1.2 fixed different uv names bug
0.1.1 uuid windows workaround
0.1.0 first release

download

https://raw.githubusercontent.com/uhlik/bpy/master/x/eq2.gif

Great addons !

Don’t hesitate to create some others to boost the uwrap of blender :wink:
I have some idea if necessary ^^

Im trying my best to test this uv tube thing to work but gives my errors each time. this is blender 2.71 mac64. I tried a close tube, but that doesnt work. So i deleted one edgeloop and got it to work. But some parts are mapped wrong, some face are rotated 180 degrees??

Attachments


hi, can post .blend please?
j.

Here’s you go, i did already unwrapped it properly in combination with active quads and your script. But i redid it for you to help. Its not my model, but i did clean it up a lot. PS i deleted all the rest of the mdoel so you could focus only on the bar.

Attachments

Tube_unwrap error.blend (208 KB)

PS would it be possible to make this work on closed items like a this bar, but than completly closed? now i deleted a edgeloop did your addon and than bridged to gab again. Than pinnned the already unwrapped mesh and than did just the new part

Blender need addon like this! Thank you!

rombout: thanks, will look into it. i thought i’ve got rid if this bug completely and now it is back again :frowning:

I jsut tried a curve and converted this to mesh, there it works perfect. The mesh was a bit cranky so i cleaned it up, perhaps there’s something wrong with the normals or vertex normals, i dont understand way some face are rotated in the uv window???

@rombout I copy your model with curves and addon works good. Maybe it’s something wrong with vertex numbers.
Check my file.

edit:
ok. I do not refresh post.

Also i noticed, when i delete the funky parts, so i delete the edge loop which has flipped UV’s. If i than bridge the connections again, the addon seems to work properly

great addons! many thanks, jakub :slight_smile:

another cool feature to expand the tube unwrap addon (in case you don’t fulfill all conditions like quad only, etc.) would be something like in this video at 2:30


in 3ds max you can select multiple edge loops and align them individually.

What i do normally, im not a guru!, i unwrap a cilindre or any thing, than straighten a couple edges with w>align x - align y. I than form one basic quad and do follow active quads (even soaced). this give me some good result mostly. One other option i use on harder shapes is using uv live unwrap in uv layout. Than pin 2 vertices almost on the edge of the mesh. Select one of them and press G. This mostly of times fixes the badly formed uv layout. If both of these methods could be automized this would be awesome

Hello,
I just pushed new version, it should be fixed now. I also discovered random endless loop, so this is fixed now too… link to download is the same.
The problem was in vertex indexes which in your mesh were really messed up :slight_smile:

On closed tubes, well, there is one problem, say you select one vertex, which will be next one? in which direction it should go when there are two possibilities. Maybe i can change what needs to be selected, like select ring with one vertex active for seam, check normal and go in right handed direction (not sure what i am talking about right now, forgot it all completely from school).
Maybe in next version.
Until that, you can select ring, rip it with ‘v’ key, ‘esc’ for staying it at the same place, select one vertex and go. merge doubles afterwards.
j.

This looks like a seriously useful addon - I’ve spent hours unwrapping pipes this year.

One question - does the UV Equalize function pack all the objects UVs into one single space? Or just scale them to be uniform?

yes, a few months ago i had to make full detailed scaffolding wit many parts, which was meant to be composited to a photograph next to a real one, i wrote both addons because of that job. equalize will left objects as they are, only scales uvs. if you would do it manually, take square plane say 10cm, unwrap, duplicate and join to each object, run average scale and then pack islands, scale to have the square in known size and then do the same in next object and so on. uvs are changed but if you apply tileable texture it does not matter. then you do second uv map and add dirt, scratches… anything that should be in its right place.j.

hi carbon2!

after running UV Equalize it´s pop up an runtime error

hi, um, are you sure it is related to my script? it even does not look like error popup from blender…
can you elaborate a bit more?
j.

minor Tube Unwrap update…

i had the same error message with your equalize script!