I encountered this same problem today. I think the real solution is to use something like the cut-away shader mentioned in the comments, but there is a bit of a hack which worked for me.
Basically, if you play through the animation quickly, EEVEE is very useful for this, there are a relatively small number of frames where the boolean seems to have no effect at all. If you just jiggle the boolean a tiny bit, either by slightly changing the position, scale, etc., it will fix the problem. Then, you can just keyframe the change you made and keep walking though the animation fixing any problem frames.
This is definitely a hack, which is why using some other method is preferable, but it works well enough and is very easy. You will want to play back through the animation before rendering, however, as it is possible one of the new keyframes you introduced caused the boolean to have the same problem in an earlier frame. This happened for me on one frame, and after keying this away, the animation worked fine.
Here is a screenshot of the top layer. I know that is a lot of polys but the client kept asking for it to be more smoother. Each object was split from the original one when I finally created the design.
– Marain Feb 06 '18 at 02:33https://www.dropbox.com/s/cx8d7bkznlfpee4/Eyeball.mp4?dl=0
The inner sphere is pre-cut but another mask could reveal that progressively, as done with the white outer. Animation time? 10 secs x 2 + another 2 for the final render.
Render was OpenGL for the masking & the internal render for the final mix. I imagine cycles can do this and lot more.
– Edgel3D Feb 09 '18 at 02:16