I’d recommend doing it in materials instead. Here’s an example that can be relatively easily grouped, shoved into any material you want, even strung along in series to use as many controls as you want:
It finds the distance from an empty, and if it’s less than 1, it mixes in transparency. Since you’re just grabbing object texture coords from the empty, you can scale the empty, even non-uniformly, to change the size of the “hole”.
Doing this in the material instead of on the mesh is better, in part, because material effects are per-pixel rather than per-vertex, so everything’s smoother.
Making this fuzzy should be pretty intuitive. Rather than mixing in on a straight less-than node, you remap the length to some other value to use as a mix. For example, you could use a clamped 0-1 as the mix for smooth interpolation all the way to the center; you could remap lengths of 1-2 to the 0-1 range to use as a mix (just subtract 1 from the length), etc. You could also modulate the length by a noise texture for some randomness.