ok, well, never try do that, but, do you already try use area2D
to see if some functionally fits?
Or maybe getting the direction and angle of the ball you can calculate where hit when hit happen?
maybe even some raycasts
?
or small group of area2D
covering the object
just throwing some ideas here :))
I will make some research here, if find something i tell you