Henry -- An Object Cycling Animation by Marcus Brooks Henry uses an advanced hierarchy technique, called object cycling, to create the illusion of motion. The idea is that there's no visible difference (in an animation) between one object displayed first in one position and then another, and two objects displayed, one after the other, in different positions. Henry has sixteen legs in any one frame, but the illusion of motion in his legs is created by switching between eight sets of legs, one frame after the other. This technique is explained on page 6-2 of the manual, but this is a step-by-step sketch of how Henry was created. There's no need, of course, for you to re-create this animation, in fact, it is far more involved and complex than most. What's worse, it seems more involved in writing than it seemed in doing. Many handy object creation techniques were used on it, though, so some users may find this a valuable resource. This text doesn't explain how to use all the commands it mentions, the Sculpt Animate 3D manual does that. This file is intended to give an example of how these commands can be put to use. Some repeated mechanical steps such as doing a DESELECT ALL before selecting anything (often a necessity) are left out of the discussion. Also take note that scenes and portions of scenes were saved frequently to a temporary file, as a backup. Step by step: 1) It was decided that Henry would be an IC chip with sixteen legs that move in a typical centipede "wave" motion. Since there are eight legs on each side, it seemed natural to use an eight-position cycle. This actually turned out to be a pretty coarse movement, but it's OK. 2) The "box" portion of the chip was created using normal Sculpt 3D techniques. The basis was a cube, resized to proportion with EXPAND. "Bumper" edges were created by duplicating a parallel edge (just select the two vertices), this made them easier to align. The grabber and edgemaker gadgets were used to finish off the box. 3) One leg was created, using as few vertices as possible. Note that the leg was filled by hand so that faces could be made with horizontal edges. This makes the leg easier to "bend". The leg was created "flat", then the top edge was bent towards the chip by selecting the part to bend, placing the cursor at the desired bend location, and using the appropriate rotate gadget. 4) The leg was copied using ADD DUPLICATE, and the duplicate placed next to the original using "eyeball" spacing. Note the value of staying in only one window when doing this, so you only have to worry about alignment in two dimensions. Next, the two legs were selected and duplicated, and the duplicates positioned. This made four legs total, these were likewise duplicated, making the eight legs for one side of the chip. These are all the legs needed for now. EXPAND was used to adjust the leg's spacing all at once to match the side of the chip. 5) An eight-subdivision circle was created, to be used as a positioning aid for the legs. The circle was shaped with the grabber tool and EXPAND to approximate a reasonable eight-position motion for the leg's tip. Three of the eight vertices were placed in a row "on the ground" (for better traction :). The rotate gadget was used to tilt the circle at an angle from vertical, so the legs would swing up and out when lifted. Again, this circle was NOT a path, just an aid in placing the legs. It was erased after use. 6) The eight existing legs were positioned one by one. First the placement circle was moved to a leg, set so that the bottom center vertex was at the point of the leg. Then the circle was deselected and the point vertex selected. (This requires a trick, since it's hard to select just one of two very close vertices. Indicate some other vertex on the leg, then use EDIT SELECT CONNECTED to select the whole leg. Now scroll just the point vertex of the leg out of the tri-view bottom with the arrow gadgets, so that only the top part shows. This makes the point vertex the only selected vertex that isn't in the tri-view. Hitting the three-dot select gadget now deselects the rest of the leg, so you can scroll back and grab the point. This is a little faster than just zooming in closer every time.) Once grabbed, the leg's point can be moved to the appropriate position on the reference circle. There are eight legs and eight positions, you can just "walk" down the row of legs, moving the circle along and placing each leg at the next position on the circle. This takes care of the leg's tip, but the upper part of the leg should bend out while the lower part swings around. This was done by selecting the middle vertices of each leg and using the rotate gadgets in the "edge on" view to place them in a pleasing fashion. 7) This takes care of eight legs, but since there are only eight positions possible, all of the necessary shapes have been created. The rest of the animation can be done by selecting, copying, and moving sets of legs, then saving them in a hierarchy. 8) The eight legs so far created were duplicated yet again, and the copy added on to the end, to make sixteen in a row (be patient, there's a method in this madness...). Then a second duplicate was made (just of the eight still selected), and appended again. Now there were three complete leg cycles in a row, 24 legs. 9) Next, the chip body was positioned correctly next to the legs in the endwise view of the tri-view. The legs were all selected by first doing SELECT ALL, then indicating a vertex on the chip and doing a DESELECT CONNECTED. With the cursor placed as close to the center of the chip as possible, again in the end-on view, REFLECT was used to make the legs for the other side. This procedure provides a proper "fit" between the legs and chip. 10) It was decided that the legs on either side should be four positions out-of-step with those on the other side. This was accomplished simply by selecting the row of legs on one side and shifting it lengthwise four positions with the grab gadget. This left four legs "hanging" on either side, so these were deleted (with SELECT CONNECTED and ERASE SELECTED VERTICES) to make twenty pairs of legs. 11) Each pair of two legs was connected together using a single edge (with double-click selection and the edgebuilder gadget). Single edges will not render, except in wireframe, so they may be used to connect things whenever you like. 12) Next, the first eight pair of legs were selected with the SELECT CONNECTED command. ESC was used to call the command repeatedly, this key "replays" the last menu command used. 14) Once the first set of legs was selected, The cursor was placed precisely on a vertex of the first selected pair of legs. Any vertex would do, but the same one had to be used for each set. NAME SELECTED VERTICES was used to name this first set of legs "1/8legs", (see manual page 6-3 for the precise meaning of the numbers), then SAVE NAMED OBJECT was used to save just this set with the filename "legs1". The cursor's position, relative to the saved object, will also be saved. Having the cursor on a particular vertex will help us later. 15) Next, the first selected pair of legs was deselected with DESELECT CONNECTED, and the ninth pair was selected. Think about this carefully. If you consider only the selected legs, then each leg has advanced to the next position. This is the whole idea. Again, the cursor was placed on the same vertex of the first selected leg. The newly selected set of legs were named "2/8legs", and saved in the file "legs2", just as above. This step was repeated, going up the line of legs, until the file "legs8" had been saved. Note that there were five extra legs in the "master" that never got saved, because they weren't needed for the loop. 16) Once the eight sets of legs had been saved to disk, all the names were cleared from the hierarchy using ERASE NAME in NAME SELECTED VERTICES, and all of the legs were erased by doing a SELECT ALL, deselecing the chip body with SELECT CONNECTED, then doing an ERASE SELECTED VERTICES. This made the chip body the only object in the scene. 17) The chip's path was created simply by adding a 24 division circle in the "Down" window, and using DO MAKE PATH. Then it was named "path" with NAME INDICATED PATH. The chip was given the name "path+chip" by calling NAME CONNECTED VERTICES. 24 divisions were selected because that makes the take an even multiple of eight frames, for smooth looping. 18) The eight sets of legs were added to the hierarchy on the same level with "chip". This was done with LOAD NAMED OBJECT for each set of legs. Before calling the LOAD command, the cursor was placed in the location where the "special vertex" chosen before should be loaded. This ensured that it would be loaded at a convenient location. As long as the legs were all loaded in the same place, the the chip's body could be easily repositioned. 19) A pair of eyes were made from hemispheres and placed on the chip's front end. The eyes were named path+chip+eyes (chip's offspring). 20) SET LOCAL ORIGIN was used to set the local origin for the chip and for each set of legs. Remember, this sets the part of Henry that follows the path, in this case all the local origins were in the same place, at the center of the chip. The legs could also have been made offspring of the chip, so only the chip's local origin would have had to be set (local origins don't count for offspring of vertices). That would have been easier, but nobody's perfect. 21) MODIFY INDICATED TUMBLE was used to set the tumble axes along the path. The chip was created facing north, so the white North tumble axis was set so it always points along the path. 22) The observer, lighting, and target were verified to be adequate to give a proper view of the path (not necessarily the chip, which can be placed anywhere in the global scene). Then LOAD TAKE was selected to name the take "Henry". MODIFY TAKE was called up and SAVE GLOBAL SCENE used to store the assemblage. The number of frames was set to 24, for a smooth loop. A few previews and RENDER FRAMEs were tried, adjustments made, and changes saved with SAVE GLOBAL SCENE. Finally, DELETE ALL IMAGES was used to clear the slate, and RENDER ALL was selected. And that's all there was to it!