Is there a way to Shrinkwrap and move a plane across more than one mesh?


2 Answers 2


You can remake a shrinkwrap modifier in geometry nodes and reference a collection as a target:

enter image description here

Here, I'm telling the mesh's vertices to acquire the position of the nearest point (on a face) of any geometry in collection 1. That's just like a shrinkwrap on nearest surface point, except I'm referencing multiple objects.

Other kinds of shrinkwrap can be recreated as well; a raycast node can be used for project-mode shrinkwraps, as well as to make determinations like inside/outside.

Note that shrinkwraps don't always end up working like you want when you start referencing multiple bits of geometry, because there's more potential for self-intersection on the target.

Another way to do this would be to use a proxy object. We could use geometry nodes, or a boolean-union that referenced a collection, to make an object that represented multiple objects:

enter image description here

Here, I'm booleaning a point with a collection, giving me a single object I can use as the target of a shrinkwrap.


Since the question used the phrase "more than one mesh" the answer for the shrinkwrap modifier is "yes, but only if the multiple meshes are contained in the same object.

The shrinkwrap modifier takes a single target object, so there is no way to apply it to multiple meshes if each mesh is in a separate object, but if you join the meshes into a single object you can do something like this:

ugly shrinkwrap

where Suzanne and the default cube have joined into a single object. But no, you couldn't wrap the plane around Suzanne and a cube if they're separate objects.

You can accomplish the shrinkwrap effect without the modifier by using geometry nodes in various ways. For examples, see this answer


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.