Unwrap Me - Generate UV Seams And Reduce Texture Distortion With An Addon Exclusively For Blender

Generate UV Seams And Reduce Texture Distortion With An Addon Exclusively For Blender

Placing seams by hand is fussy, time consuming, and after unwrapping you get UV stretching causing ugly texture distortions. Completely automated unwrappers don’t think like an artist, while cutting up complicated meshes manually quickly becomes infeasible.

Unwrap Me is the most powerful automatic seam generator for Blender that lets you seam an entire mesh, or for greater control, grow seams simply by selecting one or more faces. It’s a unique solution based on computer graphics research that doesn’t exist anywhere else!

Many meshes can be seamed automatically, and every update brings Unwrap Me closer to a fully automated unwrapper!

lion

Watch entire UV islands (charts) automagically grow on your mesh around face selections.

createdforyou

Generating seams is faster than cutting manually, particularly when dealing with triangles and n-gons.

The final unwrap has less distortion thanks to the Developability setting that limits stretch-error.

Texture Distortion:
c_distorted

Low Distortion UV Map With Unwrap Me:
c_undistorted

Often unwrapping results in self-intersecting charts, Unwrap Me can remove these overlaps (currently only overlaps caused by Blender’s unwrapper, not by the mesh topology).

Example Of An Overlap:
d

Faster editing of seams and seam islands.

editing

Unwrap Me can even generate seams on complex meshes with bad topology.

f

Creates larger, better connected, similar sized charts than UV Smart Project.

Output From UV Smart Project:
g1

Using Unwrap Me:
g2

Enhances existing workflows—charts don’t grow past existing seams or hidden faces. You are free to seam parts of your mesh manually and other parts automatically.

hide

Requirements:

Unwrap Me is tested on and supports Blender 3.3 LTS and 3.6 LTS and should work on every version in between.

OS: Windows or Linux PC

For Linux it’s being tested on Linux Mint (Ubuntu-based).

Please be aware that MacOS is NOT currently supported.

Install like a regular Blender addon.

Features:

  • An advanced seam generating algorithm that supports both low-poly and high-poly meshes through an iterative optimization process

  • Developability setting controls allowed distortion

  • Fully documented UI

  • Multi-threading acceleration, more CPU cores = faster!

  • One-Click Updater - new updates are downloaded and installed automatically

  • Tools for working with charts right on the mesh

About:

Unwrap Me isn’t perfect, cylindrical surfaces have basic support, and sometimes an unnecessary chart slips through Auto Merge. But by buying Unwrap Me right now you are directly funding the improvements needed to bring you the best tools possible. Not only that, you’re also funding research and development of other cutting-edge technologies—exclusively for Blender! And 10% goes to the Blender Foundation!

While some big companies rake in thousands of dollars a year from a single user through monthly subscription fees, while temporarily renting you their software; Unwrap Me is a one time payment, open-source, and yours to own forever. With free updates!

Potential future features of Unwrap Me include:

  • Alternatives to Blender’s core unwrapping algorithm
  • Pelting algorithm
  • Segmentation
  • Curvature estimations
  • GPU acceleration
  • Research & Development of AI unwrapping
  • Mac support

Developing complex, research-based algorithms that push the envelope takes tremendous effort, and Unwrap Me has only been possible thanks to the support from the Blender communitythank you for supporting independent developers and open-source projects.

Links:


Known Issues and other Notes

  • You might need to use “remove overlaps” a couple times to get rid of all overlaps after unwrapping, this is an issue in Blender, not the addon, you can try to increase the zoom level in the UV Editor before removing overlaps, I’m looking into it.

  • For people with an old CPU without AVX support there are some no AVX builds here.

  • For Linux users you may need to install OpenMP support. apt-get install libomp5

If You Are Having An Issue

Please contact me on Blender Market, reply here or PM me with your OS, CPU, Blender version and description of what the issue is.

55 Likes

Vow!!! Nice bro. Uniformly distributed UV is the biggest trouble. You did a nice step foreword here.

what the :exploding_head: :exploding_head: :exploding_head:

Seems interesting will see where this fits in my pipeline.

Are you intent on selling the addon or do you think about letting other people possibly contribute and apply for pull requests?

I think it’s too early to set anything in stone, we’ll see. I will say that implementing new features like this takes a lot of time and is difficult without support.

1 Like

Any direction you decide to take it, still really cool work.

Thanks, any feedback is good, also even if you don’t find it useful please say so. Or what you wish it could do. Right now performance speed is my main concern.

great addon but how did you find the paper?

You can find a lot of interesting ideas by following references.

1 Like

ok thanks for the reply

Bit of news since I disappeared for a while, I’m currently working on increasing the performance of this plugin since I realise that people don’t want to wait minutes for it to work. Unfortunately I’ve reached the limit of what I can do with Python so I’m porting it to a compiled language. Next update should theoretically take seconds instead of minutes, and then I can start adding more features.

9 Likes

Sick news, that was why i stopped using it after trying it out, it did what it was supposed to do but was really slow, was looking forward to using this with SLIM

1 Like

Hello everyone!

Next version is now out GET IT HERE.

Please note this release is WINDOWS ONLY. A Linux release will happen if there is enough interest.

This is a complete rewrite as a Python C extension, it’s now 600% - 900% faster!
On my somewhat dated CPU a 93,000 face mesh went from 3 minutes to 30s.
and 35,000 faces is now 5s!

Results will vary depending on the mesh and your settings. I will continue working on speeding things up.

Some general tips for performance:

  • Prefer “Grow from selected faces” and choosing the initial UV island locations yourself, this will often produce better results too since you can eyeball approximately how many charts you want and where to place them better than the algorithm.
  • Keep iterations sane, complicated meshes tend to have trouble converging so 20 iterations or less is usually fine.
  • Developability controls approximate distortion of the final chart (UV island), more distortion means bigger charts, means faster placement.

And finally please let me know if there are any issues, if possible upload a .blend file to help me debug.
If you go to Window > Toggle System Console you will also see some output while the script is working.

9 Likes

Nice work bro

The plan for the next update:

  • Even more speed
    I have ideas for more optimisations that can be done
  • Automatic inner-chart overlap removal
    After you do a UV Unwrap, you’ll be able to press a button and remove overlaps

I also have an idea for a new remeshing plugin, but I know there are other plugins that do this already, are you happy with them? Let me know so I can decide if it’s worth spending time on a new algorithm.

2 Likes

Hey why not improve and fix the ugly quadriflow remesher built-in in blender to look closer as quad remesher (aka zremesher)

1 Like

Hi,
What is the license of your code, actually? Version 0.1 has no license file, so AFAIK makes it implicitly compatible with GPL as it uses GPL-licensed API but your version 0.2 seems straight mislicensed.

Version 0.1 has no license file

Everything you create is copyrighted by default, no license file = all rights reserved.

but your version 0.2 seems straight mislicensed

Read the license. It’s duel licensed because I’m using OpenBlas and I cannot distribute their binary without also including their license for it, like it says in their license.

so AFAIK makes it implicitly compatible with GPL

That’s not how it works. Think about it, if you use Linux which contains GPL work, does that mean everything you make on Linux is also GPL?
If you’re confused about GPL I’d recommend reading their FAQ. I know the license files can be difficult to understand.
https://www.gnu.org/licenses/gpl-faq.html

Maybe, sometimes it’s easier to build something new than try and fix.