Created: around 09-07-2001
Last update: 10-07-2021
Back Previous Next

Beginners howto 5 - blinking with different eyelid colours


This tip was originally submitted to the KiSS mailing list by the Invisible Phan.

Blinking is easily the most frequently used FKiSS effect, but when the doll can have different eyeshadow colours, you have to keep track of what the eyelid colour is, so that you don't map the purple-lidded half-closed eye over the green-lidded open eye, or the flesh-colour closed eyelid over the blue-shaded half-open one. This can be kept track of in FKiSS3 with variables, or you can use a different set of blinking alarms for each eyelid colour, stopping one set and starting another when the colour changes, but there is a much simpler method: transparent eyelids.

The most basic blinking-doll construction is a cel of a base doll with open eyes drawn on the face, and a cel of closed eyelids which are periodically mapped to cover the eyes. This howto requires that the open eyes become a separate cel. You now have: a doll with no eyes, just two holes filled with the flesh tone of the base doll (and possibly outlined, to make it easier to fill in the eyelid colour cels later) a pair of eyes that completely covers these holes, and a pair of closed eyelids that also completely covers these holes. You may want to add a pair of half-closed eyes for smoother animation. Now, the eyelid cels must be flooded with the transparent background colour. You can keep the lashes and any outlines, but the "flesh" part should be the background colour. The rim of eyelid visible on each open eye should also be filled with the background colour. (As should the eyelid part of the half-closed eyes cel, if there is one.) The blink cycle, rather than just mapping the eyelid cels over the eyes now and then, should now map the eyelid cels and unmap the eye cels, so that the eyelid cels lie directly on top of the eyeless face. What colour are the eyelids going to be? That's right, the same colour as the face.

Now I want to add blue eyeshadow. Rather than making extra closed-eyelid and half-open-eye cels with the eyelids coloured blue, I make two patches of blue that exactly cover the eye holes. (This is where it's handy to have the eye holes outlined on the face: I can copy the base doll image, flood-fill the eye holes with the eyeshadow colour, then erase the rest of the copy.) In the cnf, these two patches of colour go over the face, but under the eyes and eyelids. When I want the doll to have blue eyeshadow, I map those colour patches, and the blue can be seen through the transparent rim of eyelid over the open eye. When the doll blinks, the area of eyelid increases, showing more blue. (Hence the unmapping of the open eyes; else you'd still see them staring through the eyelids.) Next, I want green eyeshadow, so I copy the image file of the blue patches and flood-fill them green. When I want the eyelid colour to change, I unmap the blue patches and map the green ones. Now the eyelids appear to be green, although it's still the same open-eyes cel alternating with the same closed-lids cel when the doll blinks. I can add as many differently coloured patches as I like and cycle through them with any colour cycling method described under the colour-cycling howtos.

This method can be used to simplify any shape-changing cycle where the shape-changing parts can change colour. The original tip had a bar of colour lying under a face with two transparent eye holes in it, rather than a face with two flesh-coloured eye holes with the colours mapped over them, but if the colours lie over the face, the eyelids always have a basic flesh tone which automatically changes when the whole doll's flesh tone does (from pale to tan, for instance). In the case of, for instance, different lipstick colours and a smile cycle, the original method works better: a face cel with a lip-shaped transparent section, an alternate face cel with a transparent section in the shape of smiling lips, and a bar of lipstick colour underneath that shows through either shape.





Back Previous Next