To boolean or not to boolean? (too slow for animation)

Seeking a good procedural material for eyes, I’ve been following an excellent tutorial at http://blenderartists.org/forum/showthread.php?t=85722

With an eye made in this method, you end up with a flat iris, and a clear bubble of a lens bumping out from the eyeball, just like real.

What I’m wanting to do is animate an eyelid which can open and close around the lens bump. My eyelids are simply half spheres. Normally Eyelids don’t need to be hollowed out because the “gap” is taken by the eyeball… but in this case the eyelid can be seen penetrating the lens right down to the flat iris.

The method I initially tried to fix this with was to add a boolean modifier taking the difference of the eyeball shape from the eyelid (the eyelid is just a half sphere). This worked but it added a terribly long render time.

So, as shown here, I decided to make an invisible boolean shape, just for the lens part. Being smaller that subtracting the whole eyeball, it’s a little faster in render time, but not much.

http://img33.imageshack.us/img33/2113/eyebool.jpg

I’m thinking booleans are too much of a killer to animation time to be practical. Are there other methods animators would use which I should consider?

Heh - stuff it… I’m going for just hollowing out the eyelid. Camera is not going to get this close to the eye anyway ant it cuts render time down to a tenth of what it is with the boolean lens.

If you decide later that you do want a close-up, you can use z-combine which will completely disrespect your z-trans lens beczause z-combine is binary, hence your boolean without having to do it with geometry: you’re doing it with pixels.

Thank you. :slight_smile:

I had missed this post somehow earlier but it doe look like a workable and speedy solution to my previous question. I imagine there could a few cases where eyes could be seen through the head, although these would be rare and no biggie to find work arounds.

EDIT: How would you go around separating the z-pass from both objects? Would it work as two scenes or would I have to render complete separate takes of animation?

With the ZTra option on the render layers tab but, if you do that, you’ll end up with this solution becoming a problem should you try to z-combine the eye’s lens with the rest of the eye. In this case I would say that you should create a new empty scene, use the linked scenes pop-up (on the output tab), link your camera to the second scene (the second scene wont render without a camera plus you get the camera form the original scene with all pertinent data…orientation, ipo, etc…), then turn off the scene layer buttons which contain the body of the frog (the eye should reside on a separate layer), and finally use Raytrans rather that Ztrans since the curved lens of the eye will naturally prvide a slight distortion to the underlying iris.

The reason for the separate scenes is that ray trans would actually bring the underlying eyelid which is passing through the lens into the calculation even if you didn’t include it as a renderable layer on the second row of buttons on the render layers tab. All ray trace and shadowing occur B4 the actual render and allow you to render shadows, reflections, etc, from objects which otherwise are invisible in the scene.