I have a character where occasionally an underlying mesh (clothing or body) pokes through an "upper layer":
While I have used Surface Deform to get jeans to better deform over skin/body, it is never perfect (e.g., muscle bulge can poke through shirt or pants). In the image above multiple layers get more complex. I was thinking in this case that having a vertex group in the pants, that is Masked by a driver (bpy.data.objects["Shirt"].hide_render) might work. I'd lose the deforming of the shirt by the pants, but I would suffice.
Getting the Vertex Group defined is my challenge, something that an operator like Shrinkwrap probably has built in. While I could go the python route, am I overlooking a simpler Interface/"Select by distance to another object" that might define the selection?

