home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Club Amiga de Montreal - CAM
/
CAM_CD_1.iso
/
files
/
110.lha
/
Weird_Bird.readme
< prev
next >
Wrap
Text File
|
1986-11-20
|
7KB
|
135 lines
Weird_Bird -- A Motion Hierarchy Animation
By Marcus Brooks
The Weird_Bird animation was created to provide an example of motion
hierarchies. In flight, the bird has a an overall motion, an
up-and-down rythm caused by the beat of its wings. The wings
themselves have a motion as well, the swinging arc of their beat, and
the flapping of their flight feathers. In addition, the tail pulses
up-and-down in countercadence to the bird's body. All of these
motions are combined so that one part's motion is likely to be
described by several factors.
The complexity of this rather simple motion can be almost
mind-boggling, if you imagine trying to accurately describe it in
mathematical terms, and then translate it by hand into positional data
for a computer. Part of the beauty of this motion, then, is that it
can be described with surprising ease in Sculpt Animate 3D.
The Weird_Bird object itself was created with three primary goals in
mind: visual realism, realistic movement, and a minimal number of
vertices for faster editing and rendering.
The object was in some ways harder to create than the motion. It was
done almost entirely by hand-placing vertices in the tri-view and
building edges between them. This sort of object creation generally
leads to a cleaner, more easily animated object with fewer vertices,
since it must be based on an understanding of the genuine article's
structure. This places some demands on the designer, but also on the
software. Sculpt Animate 3D's interactive editing environment is
absolutely essential for this sort of object creation. The object was
created in just a few hours, by a non-artist.
This file is interested not so much in the object itself, but in how
it came to be animated. Most of the details of how this works are in
the manual, so this is simply a step-by step list of what tools were
used, and when.
1) The bird object was created. I can't help you much here, I just
picked a bird that I had studied some, and used it as a basis (see
if you can guess what it is). There were some considerations,
however, that I had in mind.
-- A bird's wing flaps from the shoulder, and is thickest at the
shoulder. The bird object's shoulder is a half-ring of vertices
that provides the desired effect
-- A bird's wing structure fans out from a place near the center
of the leading edge (ignoring some structure for simplicity).
Thus the entire wing (beyond the body) is five vertices, four
that fan out from a fifth at the leading edge. The shoulder
is connected so that the wing appears solid along the inner
leading edge, but the outer panel is a single thickness.
-- A bird's tail fans out similarly, pivoted at the base.
2) One of the wing path curves was created. It started out as a 20
subdivision circle, but three vertices on the "upswing" side were
selected and subdivided once, making 22 vertices. This slows down
the upswing of the wing, making the downbeat seem faster. The
circle was shrunk to a tight vertical ellipse, tilted forward some,
and then curved toward the bird's body to make the path arc. The
curving is done by selecting progressively smaller portions of the
ellipse, and "bending" it with the rotate gadgets. MAKE PATH was
used to make the curve a path.
3) The second wing path was created by selecting the path, centering
the cursor on the bird's body and doing a REFLECT. Then the
resulting new curve was made a path with MAKE PATH. Make sure both
paths start at the same vertex.
4) MODIFY INDICATED TUMBLE was used to walk around each wing path,
adjusting the tumble axes so that the five vertices that make up
the wing would tilt and flap to match the wing's motion.
5) The left wing's path was indicated and NAME INDICATED PATH was
called. The following hierarchy names were entered.
+--bird
|
birdpath--+--lwingpath----lwing
|
+--rwingpath----rwing
|
+--tailpath-----tail
These names can all be entered now, they don't need to be attached
to anything right away, in the meantime they are tagged "empty".
After the names were entered, "lwingpath" was made the current name
and OK was clicked, naming the path. Then the other path was
indicated and ESC was hit to recall the NAME INDICATED PATH command
again. This time "rwingpath" was clicked into the current slot
and OK clicked. Be careful not too click OK unless you mean to!!
It's a good habit to get used to clicking CANCEL, this way you
can't accidentally rename something when you are just browsing.
6) A similar 22-vertex loop path was made for the tail, with the
tumble axes set to wag the tail up and down more-or-less in rythm
with the wings. Since all we care about here is the tumble axes,
the path was made very small. The path was given the name
"birdpath+tailpath" (tailpath, offspring of birdpath).
7) Another 22-vertex loop path was made, this one shrunk to a small
vertical ellipse in the center of the bird. The starting point on
this ellipse was placed opposite the starting point on the wing
paths, as was the extra two-vertex subdivision. This gives the
whole bird an "equal and opposite" motion to balance the wing
motion. This path was given the name "birdpath" on the top level.
8) Once everything was set, the local origins were set for each
object. The tail's local origin is in its base, each wing's local
origin is near its leading edge vertex, and the bird's local
origin is in its center.
One more thing. There are three paths attached to "birdpath".
Remember that anything that's attached to a path will probably
need a local origin setting, including other paths! The local
origins for all three "sub-paths" are set to their centers.
It can be confusing when you have paths attached to paths, and you
want to know the effect of the local origin. Remember that the
local origin of an object (or path) is the part OF THAT OBJECT that
follows along the path higher up.
9) The animation is essentially finished. Load take is called and a
name given to it. Modify Take is called, the Number of frames set
to 22, and the global scene saved with SAVE GLOBAL SCENE. Now
PREVIEW or RENDER ALL can be called. A few PREVIEWs would be in
order, as well as RENDER FRAME in the FRAME mode requester.
This prevents "surprises". Once the animation is rendered, enjoy!
That's It!