Page MenuHome

Unsubdivide support for non-grid topology
Open, Confirmed, MediumPublic

Description

System Information
Operating system:mac os mojave 10.14.5
Graphics card:intel iris 550

Blender Version
Broken: d62a749fcf48
Worked: never

Unsubdive either from the edge menu or under the decimate modifier not giving expected result with many production models. This never worked well so I figured I put in a report since I haven't seen an active one.

Exact steps for others to reproduce the error
Attached blend file, unsibdivide fails more often than not, producing triangles with unsubividealbe geometry. Works in other packages though, so it's not a problem with the geo.


Details

Type
To Do

Event Timeline

I don't know how the tool currently works, but the one's I saw before would take the last vertID, convert it to en edge selection, select the loop, every 2nd ring, repeat, delete the edges. Just guessing here but if in Blender checker deselect is involved, that'd have some problems with 3-5 pole verts (this might be a different issue though) -

Un-subdivide currently only works on grid-topology, this would be useful to add but not a bug, moving to TODO.

Campbell Barton (campbellbarton) renamed this task from unsubdivide issue to Unsubdivide support for non-grid topology.Jun 18 2019, 1:15 AM
Campbell Barton (campbellbarton) changed Type from Bug to To Do.

It is a Turboreverse issue.
I don't know exactly how it was made, but Turboreverse works like magic.

https://youtu.be/tIeJsy-Tj3I

In Blender you have to find proper vertex to recalculate indexes to achieve better results, but it is entire algorithm issue.
Find a "topology star", then count vertices from it in any direction, corresponding to leves of subd you want to remove, then make it active, then sort indexes, then run unsubdive and hope for better results. You should guess how much levels you need to remove.

Here is my result on that model with that sorting trick.

In general, we need better function.

Nice trick!

Yes, unsibdivide works fine in zbrush or maya as well.

The important thing is though that the vert IDs remain intact, the IDs on the lowres mesh would remain the same on the corresponding subdivided mesh, ensuring that there can be a live connection between them, something that is used frequently in production rigs.

(this way in maya if a mesh is subdivided, duplicated and deformed, the deformed mesh can be applied as a shape key onto the lowres mesh directly because it would only transfer deltas to verts with matching IDs.)

The objective should be to achieve the exact same behavior, as a mesh with arbitrary vert IDs would be just as useless as one that is only partially matching. Mesh/surface deform and the equivalent wrap deformers are way to unreliable.

Thanks. It works sometimes.
For sure, it should be kind a reversed subd algorithm.
I tried to find a programmer for this task, maybe AFX, but suddenly has gone out of funds some time ago.
All related solutions in other software are compiled, so it yet have to be reinvented, I guess.