how to "retopo" a mesh around an entire object ?

Hi;

Assume, i had an arbitrary mesh object. Now i want to completely change (simplify) the mesh topology without loosing too much of the original object shape.

So, what i want, is more or less something like a retopo in 3D space…
And this is, how i guess it could be done in principle:

  • I would create a much simpler object, i.e. an UVSphere.

  • Then i would scale up the UVSphere until my original object fully fits inside the Sphere.

  • Now i would press a button (well i’m lazy…) which shrinks the UVSphere in such a way, that (after some heavy calculations…) the vertices of the sphere get moved to places along the surface of my original object, such that “the topological difference between the original and the copy are minimized”… In other words, the deformed sphere looks as tight as possible like the original (which includes that the sphere vertices not only get mapped to the surface of the original like retopo does, but also moved along the curvature, so that the “vertex density will be related to the original objects first derivative”, in other words, place more vertices where the original surface has more spikes, so that the surface approximation can be optimised…

  • If the original contains holes, the copy would simply “close” them (so the spherical topology is preserved on the copy) , thats ok and even wanted…

I guess, such a script could be created. Maybe there is already one available ?

So any tips/hints/pointers to already available solutions or howto make such a script would help.

thanks a lot in advance.

How about the upcoming shrinkwrap modifier?

http://wiki.blender.org/index.php/User:Jaguarandi/SummerOfCode2008

Oh, this is amazing!!!
Wow, that makes a whole lot of sense.
Thank you so much for pushing my nose to this development!

I just tried it out and now i am eager to get it plugged into my blender 2.46 on windows xp.
Do you think, this is an easy task ? Can i find an easy howto do that somewhere ?
or is there even a ready made 2.46 (or even better 2.47) plus shrinkwrap plugin available somewhere? I could not find that on the http://graphicall.org site…

Or maybe this shrink-wrap can be added to my blender-installation as a plugin anyways ?

good news shrinkwrap is merge into the trunk. So the lastest builds from graphicall.org should contain it. I was using it today and I was impressed how well it works

@ibkanat: Thank you for this hint :wink:
i just downloaded the newest windows build from 22-aug-2008

a quick test shows, that it works :wink:

I have still one usage question though:

I try to shrinkwrap a character head. Currently i start with a simple sphere (with fixed vertex count) and shrink wrap that sphere to the character head.

Of course the backhead and skull are very smooth, so i would not need too many vertices there. But on the front side around eyes, nose and mouth i would want to concentrate most vertices.
So is there an easy way to control the density of the vertices on my UVSphere, such that i can pull some of them together where i want higher accuracy ? (The number of vertices i may use, must be kept fixed )

Maybe something like: define a vertex as “attractor”, then let nearby vertices get attracted to it… In that way i would then try to modify the UVsphere, so that the shrinkwrap eventually gives results with less differences compared to the original head…

Anyone got a tip, how i could achieve this ?

You can, in a way. Try this:

  • Select all vertices you want to move, and select the “attractor” vertex last (so it becomes the active vertex).

  • Set the “Rotation/Scaling Pivot” dropdown in the 3D view menu header to “Active Vert/Edge/Face” (Hotkey: ALT-Period).

  • Scale with SKEY - all vertices move in the direction of the last selected vertex.