Is there already a way in Blender to combine two very similar but necessarily different meshes (with different topologies) such that the result is an average of the two? The process I imagine would be something like aligning the meshes on top of each other, measuring the distance between the surfaces, and creating a vertex at the center of that distance.

If there's not already a way, anybody got any ideas?

The ultimate goal would be to average several similar meshes (like 3D scans) to suppress noise and amplify correct data.

  • $\begingroup$ Not sure this is on-topic here, as it really doesn't have anything to do specifically with blender. $\endgroup$ – gandalf3 Jun 29 '15 at 20:14
  • $\begingroup$ Well, the implied part of the question is that I want to do it in Blender. I'll edit. $\endgroup$ – Matt Jun 29 '15 at 20:17

Do you have 1-1 vertex correspondence? If so, with both meshes selected, you could try adding one mesh as a shape key on the other.:

enter image description here

Then, move the slider to apply the shape key at 50%:

enter image description here

If your meshes don't have the same number of vertices, you can use a use a shrinkwrap modifier to warp one mesh onto the other before the shape key. This will make it match the other as closely as possible (consider this 100%). Then, you can apply that shrinkwrap as a shape key and turn the shape key back to 0.5 (consider this %50). Rinse and repeat for additional versions of the mesh.

| improve this answer | |
  • 1
    $\begingroup$ That's an excellent suggestion, I didn't know you could add an existing mesh as a shape key for another. Unfortunately, I can't guarantee 1:1 correlation. In fact, I can almost guarantee that I'll NEVER have a 1:1 correlation. $\endgroup$ – Matt Jun 29 '15 at 21:04
  • 2
    $\begingroup$ AH-HA!! That IS the answer, though! If I shrinkwrap one mesh to the other, they don't have to correlate! Then, I can apply that as a shape key and then set the shape key to 0.5! Thanks! Add that as an "if they don't correlate" and I can accept it ;-) $\endgroup$ – Matt Jun 29 '15 at 21:18
  • $\begingroup$ This assumes that your meshes have the same number of vertices though, right? $\endgroup$ – ajwood Jun 29 '15 at 21:25
  • $\begingroup$ It might not matter for your application, but your average will be biased toward the target of the shrink modifier. $\endgroup$ – ajwood Jun 29 '15 at 21:30
  • $\begingroup$ Not necessarily. You can shrinkwrap any mesh onto any other, whether they have the same number of verts or not, you just have to use Nearest Surface Point or Project instead of Nearest Vertex. Once I shrink wrap, it'll match the other mesh as closely as it can. Then I apply that shrinkwrap as a shape key and that gives me the chance to only shrinkwrap half-way (essentially) to the other mesh, instead of all the way to it. I just tried it with two copies of Suzanne ;-) $\endgroup$ – Matt Jun 29 '15 at 21:30

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.