Notifications
Clear all

[Closed] Matching relative topology

Hey everybody!

I want to create a “relative topology mapper” script which can transfer vertex/edge/face-data between meshes with identical edge-flow, but different vertex-positions.
(Think of two different heads that were created from the same basemesh)

The thing is that I don’t know where to start.

One way would be to ask the user to select the two faces that are identical in the two meshes. Then from there on one would have to create a relative topology map that stores all necessary connections of vertices/edges/faces. If these maps are identical in both objects, one can copy data from one to the other, like UVs, material IDs, smoothing groups…

Another way does everything on it’s own, without any user input beyond specifying the two objects. This one would have to find a starting face, create the map for each object and and then compare these for identity.

The important thing is that it is completely position idependant (ideally), so that even in local object space vertices can move freely.

That’s where I’m stuck.
Does anybody have experience with something like this, or can direct me to some articles/papers about this topic?

Thanks a ton!

5 Replies

But if they have the same number of vertices, they can share the UV, smoothing groups and anything you want. So I guess I did not understand the goal of the tool.

Anyway, if you want to compare the original positions with the new ones, I guess you could use a Morpher modifier to go from one to another. Then you could easily extract the ‘deltas’ of the position.

Could you provide me more information on what you want to do?

I would be using it for robotic characters with a lot of repeating parts right now.
You’ll have the same kind of bolt/cable/thingy in many different places with different orientation and scale for example.
If you want to change the smoothing groups of these later on, you have to do it all by hand for each and every one of them.
Often the mesh is merged already, so the vertex IDs have changed already and the only similarity left is the edge-flow of the objects.

I’m not looking for a solution to a specific problem, but rather want to create this tool for whenever such a problem reappears.

Looks promissing … Thanks!

Unfortunately the actual script is encrypted, so not much help in there.
But the interesting thing is that even this one uses a vertex, and edge AND a face as a user-defined starting-point.

I gotta think about this again, whether it’s actually possible to do this without a user-defined starting-point…