Punching holes in a shield system

I’m working on a space combat game. In this game capital ships will have shields. In most sci-fi games, weapons damage shields globally, shields are a number and weapons reduce that number. I want to damage shields locally. I want weapons to tear big ugly holes in shields that other weapons can then travel through. The shield can then heal damage by slowly irising in the hole.

I’ve spent a lot of time trying to think of how to do this and not gotten very far. One way I thought of involves creating a cellular shield structure where each cell is an individual object/collider. I could then write code to tell cells which cells are their neighbors and handle splash damage and whatnot. Setting up a seamless 3d bubble of cells sounds like an enormous pain in the ass that I’d rather avoid though.

It recently occurred to me that I might be able to rig something with contact.point. Perhaps by storing contact points after collisions and then checking the distance from one contact point to any new contact points or something? If the new contact point is close enough to the old contact point ignorecollision (with the shield)? Is this feasible? is it easier than setting up a bunch of cells?

I would approach this with the cellular structure, of course if a ship has hundreds of these shield cells it gets tedious. If there is splash damage, you could just do collider checking after the hit and see which of the shield cells are affected.