Haha, I was going to let someone else answer too, cause my solution was booleans... maybe you should just use booleans. Worth a try anyway. Or you could use a texture with a transparency map, I suppose.