The Polygons The series of lights scrolling vertically was done by making a series of very narrow polygons. In this example, there are four embedded polygons that are wicked narrow. However, the outermost one doesn't have any high or low sides. The three polygons that face us have a total of seven (yes hamish) sides. (See the diagram below to understand what I mean by a facing side.) The facing sides are the ones that we're going to put lights on. I mistakenly made the diagram with only two polygons, or five facing sides (Hamish: two and five equal), but Grendel doesn't think this will confuse anyone except Grendel. Setting up the geometry is rather simple: we made the polygons and then adjusted the floors and ceilings of the polygons so they "staired" as you look in. We didn't make the polygons extremely small until the very end of the task, when we turned off the grid, zoomed in as far as we could go, and adjusted the positions of the points using the arrow keys on the keyboard. Keeping the polygons big until the end makes texturing much easier. |
||
The Lights We created seven lights, and put them out of phase with each other. The phase of each light was seven more than the previous light (Ok. I admit it. I like the Number Seven. It's the best number in the world.). As you can see the first light has a phase of 0, the second one a phase of 7, and the last one a phase of 42. So what happens with these lights is this: the first light starts its cycle at game-tick=0 (there are 30 ticks in a second). The second one starts at tick 7, and so on. Reading over this, the only thing that seems like it might be confusing is the cycling part. (Go read the manual..) No, ok. The normal state for a light is when it's cycling between a primary and secondary mode. If a light gets turned off, it uses the "becoming inactive" mode and then begins cycling between the "primary inactive" and "secondary inactive". Likewise when it turns on again, it uses the "becoming active" mode, and then the active primary and secondary cycles. If any of the modes have a period of zero, that mode is skipped. In this example, I left out all of the "inactive" and "becoming" information because none of it is used. These lights never turn off, on, or anything else. While we're on the subject, phases don't work for lights that get turned on or off - or at least I've never gotten them to work. |