2
$\begingroup$

Lately I've been experimenting with procedural shapes, based on a very limited mesh. I found myself looking for a way to join two meshes using a modifier. The Boolean modifier doesn't do the trick. It just messes up the mesh in horrible ways.

Some way out (or hack) is to use the Start Cap and End Cap parameters on an Array modifier to join various meshes together. Given their joints are close to identical, this works great. When I set the Count to 1, uncheck both offsets and check Merge, it does what I want:

array mesh join

I can even build the end caps with modifiers (array, mirror, ...). That way, I can create meshes with very little source data, while having super complex end results that are editable and animateable with very little effort.

Now I am wondering if there is a better way to do this. Remember that I want to keep the original meshes editable and separate at all time. Is there a way to join/merge meshes using a modifier, other than my Array modifier hack?

UPDATE:

Using a Boolean modifier does not work because it's not really "aware" of the matching vertices. It just tries to merge two meshes together at whatever cost. Using the exact same meshes, the result is the following:

boolean mesh join

The Array modifier is much smarter in that respect. It tries to join the meshes at points where vertices are overlapping or in very close proximity to each other (Distance tolerance). It actually merges the vertices (removes doubles) so the end result is more or less the same as merging vertices of two separate meshes in edit mode. And that's what I am looking for.

$\endgroup$
  • $\begingroup$ What's wrong with Boolean > Union? Do you want to join overlaping meshes? From the screenshot you have posted I assume not and than Boolean is working just fine (don't forget to hide joined mesh). $\endgroup$ – cgslav Aug 12 '18 at 20:35
  • $\begingroup$ I updated my question to include the reason why the Boolean modifier is not an option. $\endgroup$ – wout Aug 13 '18 at 9:15

Your Answer

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

Browse other questions tagged or ask your own question.