Doubles between objects

What’s the best way of ensuring that vertex doubles between different objects(we’ll call them A and B) preserve the same position?

The best way I’ve been able to think of is by parenting each double vertex in object A to individual hooks and then parenting the hook objects to the corresponding vertex in object B.

But this introduces a problem(in my opinion) in that then you’ve got a ton of hook modifiers on the new object. Depending on the number of doubles you’re concerned with this can make the hooked object’s modifier list impossible to work with.

So, I’m wondering if there’s either a different method or if there’s a way to group the hook modifiers together or something so I don’t have to work around all the hook modifiers. Any help is appreciated.

Shrinkwrap modifier in nearest vertex mode and using a vertex group that has the needed vertices assigned.

Wanted to mention I discovered another problem, it seems like when I create the batch of hook modifiers, whenever I extrude vertices that are associated with the hook modifiers, when I exit edit mode the hook modifiers switch their assignment to the last newly extruded vertex(from the vertex it modified before). Is there any way around this? Am I just doing something wrong here?

That was an idea I’ve tried in the past, but if I’m not mistaken a problem arises(or you need to redo it) if you move the vertices too far away, because the “nearest vertices” are calculated from the current shape of both objects(rather than whatever vertex in the target object the modified vertex is nearest to post-modifier, or in their basis keys). Correct me if I’m wrong and sorry if I’ve misunderstood.

Shrinkwrap would snap to closest vertices. This is modeling subforum and it’s not clear how and why you need to move these and keep them as separate objects when modeling.

If you ask what is the best way to solve a problem, it would be good to describe what the problem actually is. Use screenshots to help you describe it and include an example .blend file to help others troubleshoot and communicate. Tutorial linked in my signature has instructions on how to do that.

I’ve mostly solved my problem by now, but for the purposes of discussion…

This is a generic issue so I tried to discuss it abstractly, and I don’t actually have any specific problem at this specific moment. I was in the middle of developing the feature as an addon and I was curious if the function already exists. I’ve encountered this issue many times in the past(which is why I’m making an addon) but if I had to give a single example, it becomes an issue when you want to have separate modifiers on separate mesh parts, and using vertex groups to limit the effect isn’t an option.

I went and tested it again and I don’t think shrinkwrap is an effective solution for this.
I’ll try to make an example.
Let’s say we have a cube, subdivided once, with a hole in it. We’ll call this object A. We want to take this hole and make some kind of extension from it. However, for whatever reason, we want to make this new part a separate object.
Here’s a picture of the object as I’ve currently described it for reference.

So we use the separate object command in edit mode to separate this selection. We’ll call the new object B.
I’m only doing this step because it makes things easier to see, but now we’ll go into edit mode on B and extrude.

Now we set up a shrinkwrap modifier on object B(if I’m understanding your suggestion correctly), make a new vertex group, and add the vertices copied from object A to the new group.
Ideally, we could go into edit mode and move the vertices of object A wherever we wanted and their intended partners on object B would follow them. However, I’ll try moving one of the intended vertex doubles.

Because the shrinkwrap modifier only calculates from the current visible shape, in the second shot from the left we can see that it works to an extent, but in the third shot, we can see that if the visual position of a shared vertex on object A changes in such a way that it’s no longer the closest vertex to the base(unmodified) position of its intended partner on object B, the setup breaks.

Again, I’m sorry I don’t have a specific issue at hand. I consider this to be a generic issue that sometimes I have to work around, especially when dealing with meshes which are already split/editing existing models. Or rather, I just think it would be a nice feature to have, beyond that.

Either way, I’ve figured out how to do this with hooks(or also position-based shape key transfer, but that’s not active) and keep them updated, so the issue is mostly solved, aside from having too many hooks. I would like to know if I’m mistaken and there IS another option, though.

There is lattice modifier that could be used

Separate objects deformed with lattice modifier and using a lattice object. Lattice interpolation is set to linear.

Yes, it’s not suitable solution for every case but another option.

I’ll sign off from this discussion before it even starts with this post. Solving a problem that doesn’t exist always comes with yet another “but”, another restriction, another case, so maybe others with more patience can give useful input. Such discussions have became annoying really quickly in the past, like a child asking another “why” for every answer