Decimate Modifier needs some improvements?

Hello there

I’ve been sculpting pretty much lately so naturally I’ve needed some tool do decrease amount of Polys. Since Decimate Modifier keeps UV and seems quite powerful I gave it a try. However I must say that results are in most cases far from acceptable. I made a little comparison with 3ds Max Pro Optimizer and I must admit that autodesk modifier works better. First of all it does not create overlapping edges (it’s a real problem with Decimate modifier, sometimes faces appear one on another, sometimes it creates a tri with extra vertex inside that’sconnected with every vertex of that tri; so we’ve got 3 tris shaped like one tri that usually create artifacts).

What do you think?

First images from the left - high poly model, second - after decreasing faces (same amount more or less), wire view and a close up.


In some cases I have seen better results by having a triangulate modifier above the decimate modifier or decimating with two decimate modifiers. Results will vary depending on whatever your base mesh is like.

Triangulate modifier, you say? I’ll give it a try. And here’s the most common bug I guess that really requires cleaning the whole mesh after decimate modifier.


I’ve just checked Triangulate modifier and bugs are still generated. Bug report or other solutions?

I know what you mean.
The best I have here is the zbrush decimation-master addon. It takes some time but the results are great.
For the moment, some possible workarounds in blender:
Subsurf once and apply before decimation.
Quads to tris.
As Richard suggests.

What I wish to have: A way to rebuild subdivisions from already applied multires.
Not the right thread for explaining why I need it but, sometimes you have to import from other apps too.

Now my investigation leads to one explanation - the more oval shape, the worst results. Try to create an object like letter S with beveled edges and check it for youselves. Moreover decimate seems to ignore open holes, the edges that surround it are never removed.

Here’s another example; the mesh is still fairly heavy, somewhere around 35k. A lot of bugs at quite simple surface.


And one more comparison, cause I really believe this thread will be forgotten tomorrow and we’ve got a real issue here. One object, two ways of poly reduction - one from Blender (decimate modifier with and without tri option) and one from Max (Pro Optimizer). 3dsMax was flawless here, no bugs, awsome result after just one try, nice sharp edges where they were needed, good amount of detail. Decimate resulted in dozens (hundreds?) of bugs (overlapping edges, unnecessary edges between vertex that already form a face), very bumpy surface that needed really low number of Split Angle in EdgeSplit modifier to achieve similar results to Max.

Now as you can see the wire is more or less similar which means the problem is with a code (creating too many unnecessary connections between vertex; needless to say seams need a lot of tweaking after decimate modifier while Pro Optimizer leaves them unharmed! That’s amazing!). This object has a hole at the back - check number of vertex decimate modifier left there, it has no sense at all.

The image is highres, try middle mouse button to enlarge it.


PS I would really love to see Blender community support this thread. With such a great sculpting tools on board we really need this modifier.

Hi, could you try Meshlab with your mesh, here is small tutorial how to do.
I cant get very good results out of it but heard it is one of the best.

Cheers, mib.

max is better than blender

You should upload the blend on pasteall for that object, so everyone could make test on the same model to see if some settings can improve the results.

Because if everyone test on their own model it will lead into lot of different results

By example if i test on one of my unfinished sculpt

Then use the decimate modifier with a very low setting to decimate highly

The result is actually very good

With no faces overlapping

Is your model based on dyntopo? Cause mine are based on quads and multires modifier.

Yes this one was a dyntopo sculpt.
Will have to try with an old quad based model.

Found an old multires based head i made long time ago
http://i.imgur.com/jw65f4V.jpg

Then used the same 0.01 decimation
http://i.imgur.com/WlUBxhc.jpg

Overall it’s very good, but in a few places
http://i.imgur.com/TwyuNHQ.jpg

That fortunately is easy to fix with just a click of the smooth brush
http://i.imgur.com/H27XUpN.jpg
http://i.imgur.com/fZtyQn3.jpg

So again, it looks like it behave differently between models, as on mine there was just this location, while on yours there’s a lot of those overlapping.

Campbell recently did a bit of work on the decimate modifier to preserve UVmaps as well as adding an option for decimation using Ngons, but I guess he didn’t do any major changes to the basic algorithm as a part of that.

So I would agree that things like this should be fixed, in fact, any modifier algorithm that produces overlapping and/or degenerate faces on valid geometry should be tweaked in a way that avoids those situations. (I say valid because even the best algorithms cannot always be used to fix bad modeling).

Another algorithm I would argue needs improvement is the ‘sharp’ option for the remesh modifier, the results generated with it are often almost unusable and I’m not sure why it was allowed to be left like that (it was based on a remeshing paper, but it clearly could’ve used some alterations to improve on it).

IMO, remesh modifier should be removed from blender branch. It doesn’t belong there.
It’s unpredictable and creates non manifolds, just like that.
We don’t need unpredictable results, do we?
Sorry, this project isn’t finished. It’s just started.

As for the posted examples, both 3dmax and blender results are not useful much.
I’m expecting something more useful. Something that produces more evenly distributed triangles. Something that can be handy for UVing and exported as a low poly not animated asset. Where else? Why, really, do we need these disgusting poles there? On 3d print maybe? I doubt.
The best decimation I had, comes from “decimation master” plugin of zbrush. Sorry. Still not right there…

Edit: because all these may sound cryptic, let’s try another workaround in blender. It won’t keep UVs of course but here it is. Enter dyntopo mode. Dense parameter at ~40-60. Decimate it. Such topology may be useful for exporting non animated assets. Just saying.

Anyone remember this? It never got implemented.

Who cares about topology if UV is correct and shading is OK? I don’t know solutions from Zbrush, but 3ds Max produces fine results. And UV islands look exactly the same as before operation (check UV after decimate modifier - borders are a mess, there are dozens of single tris surrounded by seams).

About Remesh - I have never really used it so I have no idea whether somebody might need it or not. I don’t.

And yes, I thought about using dyntopo but loosing UV is unacceptable.

The other options will produce acceptable results providing that the octree resolution is high enough to cover the size of the mesh, it’s just the ‘sharp’ option that seems unfinished.

Of course I don’t see a reason to remove it if it can be improved upon, think about adaptive resolution, better edge detection ect…

As for a decimation algorithm that can produce even triangles without massive poles, Blender getting something like that could potentially make it the best choice for decimation and created levels of detail for objects, though it might be tricky to do because I’m not sure if there’s any papers that cover how to do it.

I agree that the Remesh modifier is not usefull in its current state, in fact i’m not sure what is its use currently.

  • the topology is very very odd, not grid-like at all
  • you need an octree level very high to reproduce the detail of the mesh you want, ending in much higher poly than necessary
  • it fails really badly on some models (try on a head it seems good, but then try on a full character and see how much high you need to go to have a half decent result) unless you really climb very high in octree

For the “cube” setting, i can see it being usefull if you’re after some of those minecraft models.

Hopefully the Decimation and Remesh will be improved one day, maybe they should take advantage of the GSOC of this year to try to get those codes improved

edit : at some point Nicholas Bishop had tried to improve the resulting topology of the remesh into something grid-like but unfortunately it wasn’t working
http://nicholasbishop.net/?p=514