

Dare to Imagine
===============

Compiled by Shane Davison
 (daviso@cs.uregina.ca)


This is a compilation of almost all the tutorials and fun things to try
from the archives of the Imagine Mailing List.  I have carefully read
each and every archive since the start of the IML to the present day
(Feb. 14, 1995) and extracted this valuable information in the process.
The authors of the messages deserve full credit for the great tips and
hints contained within and, if you use any part of this compilation
elsewhere, please credit me for the time and effort to put it together.

Each new topic begins with ### and is followed by one or more KEYWORDS.
Source text begins with an asterisk and is one of Subject, Date, or From.
The archive number in [] follows the date.  The order is chronological.

Note:  I have snipped but not modified the original text.

Enjoy!


### GOLD

* Subject: metal attributes by M. Halvorsen
* Date: Thu, 31 Jan 91 11:34:19 PST [0]
* From: "\"davis@soomee\""@rust.enet.dec.com

I make the object color Red 205, Green 205 and Blue 80.
Refelctive settings are Red 180, Green 160 and Blue 125
I use hardness at 255 and specular 255 on all guns Red
Green and Blue.

* Subject: Re: metal attributes by M. Halvorsen
* Date: Fri, 01 Feb 91 09:11:23 EST [1]
* From: Mark Thompson <mark@westford.ccur.com>

specular R = 255, G = 255, B = 160 should yield more
realistic results.

### REFRACTION INDEX

* Subject: Glass
* Date: Wed, 13 Feb 91 16:05:09 EST [1]
* From: spworley@ATHENA.MIT.EDU

Air             1.02
Ice             1.309
Alchohol        1.329
Water           1.333
Glass           1.50
Quartz & salt   1.644
Diamond         2.417

### GLASS

* Subject: Glass
* Date: Wed, 13 Feb 91 16:05:09 EST [1]
* From: spworley@ATHENA.MIT.EDU

Also, glass has a SLIGHT bluish tinge, so I use
RGB=250,250,255. Cherry Jello might be 240, 140, 140.

Glass is a real light reflector - It has very bright,
tight highlights.  I crank specular up to 255,255,255,
and hardness up to 255. 

The color that you set glass determines the shade
Imagine will give to non-perfect glass - ie glass
without transparency set at 255 255 255.

Black ( 0 0 0 ) works well, since then the  color
doesn't cover up the image.  You can experiment, though.

One last important attribute of glass is reflection.
Glass reflects light a little bit, so should be slightly
reflective. Too reflective, and the transmitted image gets
overpowered. Think of a window- you see though it quite
clearly without seeing much reflection. At night, when
there is little light coming though, you can see the
mirror-like qualities of the glass. Transparency should
almost always dominate. Good value for reflection are in
the range 30-60, and again, I use a SLIGHT blue tint.

Steve's cool transparent ball-

Color =0 0 0
Transp= 250 250 255
Reflec= 49 49 53
Specular= 150 150 150
hardness= 255 255 255
rough=0
shininess=0 (CRITICAL)
Index=1.08

### FORMS EDITOR

* Subject: Forms Tutorial Part III
* Date: Wed, 29 May 91 13:17:15 EDT [6]
* From: spworley@ATHENA.MIT.EDU

As a final demonstration of how the Form Editor is used, I'll describe
three tutorial objects you can make. You are EXTREMELY advised to sit
down an make these objects. Reading the tutorial is fine, but moving
the mouse around is the best way to learn how to make these sorts of
things yourself.

There are some screen grabs of some key steps in these tutorials in a
file called Form_Tutorial.lzh on hubcap.clemson.edu in the
/pub/amiga/incoming/IMAGINE/MISC directory. These screen grabs show
the step by step evolution of the examples, as well as a couple of
rendered examples. You might want to get these (especially for the
last example) but you're welcome to wing it by using the text alone.
The file also has a copy of this text in it, so you won't have to
separate this mail message out if you're getting it on the mailing list.
If you don't know what FTP is, ask a local computer wizard and hope
you have access. :-)

---------------------------------------------------------------------
		       A Coke (TM) Can
---------------------------------------------------------------------

The Detail Editor has a powerful tool called sweep that can create
simple radially symmetric objects like a soda can or a candlestick
holder. However, the Forms editor can one-up sweep pretty easily.

Our goal is to create an object in the shape of a standard 12 ounce
soda can with all the details like the hollow on the bottom and the
little metal ridge on the top. The Forms Editor can create objects
like this with no trouble, and do it faster and much easier than using
the Detail Editor to spin a line outline of the can would take.

Enter the Form Editor, and make a new form (in the Object menu) with 4
slices and 20 points. A can at first approximation is just a cylinder.
We need many points around the radius to get a nice smooth circle
cross-section, but only a few slices to define the rectangular
vertical cross-section. For this example, we'll never muck with the
20-point circle cross section.

The cylinder is obviously radially symmetric, so we will probably want
to turn on 90-degree symmetry from the symmetry pull-down menu.  The
points that you manipulate in the front and right views will now move
their corresponding siblings, keeping the object radially symmetric.

To make a quick and dirty cylinder, move each point in the vertical
cross sections so that they are on the same Z line- they should stack
vertically on top of each other. I like manipulating the right hand
cross section in the Front view. Remember, the symmetry mode will move
the other three points for you. You can use the perspective view to
see what effect you're having on the form.  You might look at the
screen-grab called can_one to see how the first simple model should
look.  Again, these screen-grabs have to be downloaded from the FTP
site hubcap.clemson.edu.

What do we get? Well, our horizontal cross section is unchanged, its
still a nice circle. We don't want to muck with it. Our horizontal
cross section is a nice straight vertical line. If you think about it,
this should give us an object in the form of a tube. If you look at
your perspective view and don't see a tube, something is wrong. Look
at the can_one picture again to see what the problem is.

There are two problems with this tube. First, the sides are a bit
wavy, since each point was moved manually and they might not be
exactly on the same vertical line. Second, if we really want to make a
Coke can, we should at least get the proportions and scale right so we
don't have to squash and stretch things later to get it to look
reasonable.

To fix the wavy line problem, we just use "lock" mode from the
select menu. Remember, this will make any point we move jump to grid
intersections, so if we move the points around by the same Z line
they'll all line up on the same grid line.

We should also figure out how to get the right can proportions. If you
get out a ruler, you'll find a standard Coke can is 12.2 cm tall and
the main body is 3.25 cm in radius. It is difficult to accurately
change the radius of our form, but we can make every other measurement
use the default radius of 100 Imagine Units as a reference. Hence,
there are 3.25 cm in 100 Imagine Units, so the can should be 375 units
high.  If we change the grid spacing to 25, our can should be fifteen
grids high.  It is easy to automatically set the height of our object,
because the points will leap to the right position when we move them
to the correct (coarse) point. You might want to turn on "coordinate"
mode from the display menu to help identify where you are moving your
points.

It might occur to you that we also don't want a tube, we want a solid
cylinder, with ends. This is easy to make, we'll just take the top
cross section point and move it to the Z axis to enclose the top and
move the bottom point to the Z axis to enclose the bottom. This gives
us the rectangular cross-section we need to form a cylinder.

We'll make our can so that the axis is at the very bottom, at 0, 0, 0,
and the can rises to a height of 375 in the Z direction.

To actually change our rough tube to this properly proportioned, capped
cylinder, set the grid size to 25, turn on lock, and move the top
right point in the FRONT view to the 0, 0, 375 grid intersection. The
other views should show the corresponding points moving up as well.
Move the second point to form the outside top edge of the can, to 100,
0, 375. The third point forms the side, at 100, 0, 0, and the last
point will define the bottom, and should go to 0, 0, 0.

Your can should look like the picture can_two.

Ok, this DOES indeed look like a nice cylinder. So how do we get the
nice details like the top rim, and the dent on the bottom, and the
narrower "lip ridge" just below the top rim?  I said that it was easy
to add detail once you had a basic, crude form. Let's make the bottom
dent of the can.  Turn _off_ lock, so that we can move the points
freely to whatever location we want. We want to add come points to the
vertical cross sections so we have more control over the shape of the
can.

Select 'Add' from the mode menu. Now, whenever you click on a point, a
new point will appear at the midpoint of the line below it. We want to
add a point to the very bottom line segment (Which is currently the
horizontal line making the bottom of the can).  Just click on the
bottom outer point and a new point should appear on the bottom
horizontal line. Enter 'Edit' mode from the mode menu, and you'll find
this new point is just as easy to manipulate as the originals.

To form the bottom dent, we want to move the very last point on our Z
centerline UP to make a cavity. The point should be moved about a third
of a cm, or 10 units. You might want to turn on 'coordinates' from the
display menu to help measure the distance. Once you move the point up,
you'll see the dent in the perspective view if you move it so you can
view the bottom of the can. The new point that we added can be moved
up to make the bottom dent more bowl-like instead of a cone.

The trick to adding detail is to identify where you want to add a new
feature. If you want to add a new dent or bulge, a new point added at
the location you want can be moved in or out to make the feature.  If
you need to line things up, judicious use of changing the grid size
and using 'lock' will let you place the points accurately. Note that
the Forms editor LACKS the transformation requester that you find in the
Detail Editor, so you can't just type in coordinates for critical
points. You have to use grid size and lock to accurately place
objects.

OK, we know how to add details. Now how do you take the measurements
off of the can? There are a few ways- you could judge by eye, you
could take a ruler and measure everything, or you can try sneaky
tricks. If you fake it by eye, your model is obviously going to be
somewhat inaccurate, even if you use a can sitting right next to you as
a model. Measuring distances works quite well, though. I used a finely
measured rule and a sheet of graph paper to transcribe the shape of all
the ridges and bumps. Inputting these coordinates to Imagine involves
using the Coordinates display and matching points.

However, there is a quick and dirty trick you can use, though this
probably isn't applicable to most objects you model. Zoom the front
view so that it takes up the whole screen. Center your can in your
display by using the "set center" command in the Display menu and
clicking at the center of your object. Now, zoom in or out until the
size of the outline on your monitor approximates the real size of a
Coke can. Take a real can, and press it against your monitor, then
eye it. Use the radius as the determining factor, not the height.
Now repeatedly use the "set zoom" command from the display menu and
muck with the zoom to get the screen can size as close as you can to
the real can size when you press it against the monitor. On my 1950
monitor a zoom of 1.05 worked well, but it will vary from monitor to
monitor.

Once you match sizes, you can actually press the can against the screen
with one hand, and move points to match the can outline with the
other. [You'll look like a fool if anyone else is around, too!]
However silly this seems, I found it the easiest way to input the
shape of the can. When I sat with a ruler and some graph paper, my
paper diagram turned out to be less accurate as the screen method and
took much more time.

A rehash on adding the fine details: You have a rough outline. To
refine it, just pick the area you want to refine, add a new point on
that line, and drag it where you want it. I found that getting a highly
accurate cross-section (using 17 points) took less than 3 minutes with
the admittedly stupid screen trick. Using a ruler I spent 10 minutes
measuring and converting before I even moved the mouse.

When you're done, you should have an outline similar to mine, which is
shown in the picture can_three.

Take a look at your object in the perspective mode with the window zoomed
to full screen, and solid display mode on. Rotate the view up and down.
Nice, huh?

What about the top hole, and the tab? The tab is easy to add in the
Detail Editor, by extruding a flat outline. If you expected to make it
as an integral part of the can form, I'm sorry to say you were
expecting a bit much. The Form Editor likes to make single-piece
objects, and you can see how the tab is really a separate part of the
can "form." This doesn't prevent you from making a separate tab object
and sticking it on, and this is exactly what I did.

The hole, on the other hand, is pretty easy to include using the Form
Editor! If the hole is facing towards us as if we were going to take a
drink, the hole is obviously non-radially symmetric, and it is not
front-back symmetric. It IS left-right symmetric. Turn the symmetry
from the radial '90-degree' to 'right'.  Now, in the FRONT view, move
the top point (that is now on the Z axis) straight OUT about a third
of the way to the outer radius.  This is the WIDTH of the hole on top.

In the RIGHT view, move the left-top point (which is the front-top on
the can) about 90% of the way to the can rim. Leave the right-top
point where it is. The finished can form can be seen in picture
can_four.

See what we've done? Moving the points away from the center made a
hole. We made the front-to-back cross section asymmetric to one side,
so the hole location is moved. Look in the perspective view. Play
around with moving the hole around and turning symmetry on and off.

Why did this make the asymmetric hole? Remember how the form is
generated? Each cross-section is interpolated from the 4 defined cross
sections. The front cross section blends to the right, which then
blends to the back, then to the left, then back to the front. This is
very hard to describe, but play with the points and you'll see the
kind of control you have.

Note that the hole is an oval, which is not quite true for a can. The
Forms editor really won't let you do much more unless you want to
start mucking with radius modulation, but that's for the next example.

This completed can object can object can be loaded into the Detail
editor, at which point it becomes a normal object. You can move
individual points, apply brush maps, attributes, textures, and
manipulate it in any way you would a normal object. After manipulation
in the Detail Editor, the objects are generally not reloadable back
into the to the Forms editor. Using the Detail editor, you might make
and attach the can tab, or move individual points on the top hole to
make the ellipse to match a real can's hole more accurately.

A final rendered view of a can generated using this tutorial can be
seen in the HAM image 'Craftsman', where you can see two separate
versions of the can. The carved wood Coke logo was an experiment that
turned out well. The Coke logo itself was made with wire cutters, a real
can, Digiview, and an hour's touchup in DPaint III.

The can could have also been generated in the Detail editor by using
the powerful "Sweep" mold function. However, sweep certainly does not
provide the interactive updates that the Forms Editor does, and can
only make completely symmetric objects. The next examples will show
how much more powerful the Form Editor is when it makes very
non-lathed objects.

---------------------------------------------------------------------
		     Building a Water Splash
---------------------------------------------------------------------

Think of a ball dropping into a pool, and how a corona of water spurts
out around it. The splash is vaguely symmetric, and is certainly not a
group of primitive cylinders and tori merged together.

Building a splash like this using the Forms Editor is obscenely easy,
much easier than the Coke can!  It is even simple to animate the
splash!

If we want to make a crude splash model, we should first envision what
a cross section of such a splash would look like. The picture
splash_one is a 10 second DPaint line drawing of how I see water would
splash up and away at the peak of the splash. The center is disturbed
but mostly flat, and there is a steep "wall" of water at at certain
radius pointing out and up. It curls a bit at the top, with a bulge at
the peak, and slopes back IN and down. Outside the wall the water is
less disturbed. The wall is the 'shock wave' and is expanding (and
falling) with time.

It is very, very easy to make a primitive version of this in the forms
editor. We pretty obviously want our main axis that our slices are
centered around to be vertical. Start a new form, with 30 points and
10 slices, which should give us enough detail to rough something out.

Initially, we'll want to make the splash symmetric. Later, we can add
asymmetric details, but for now we want the coarse primitive to be
radially symmetric, since it will define the basic structure of the
form. Use the '90-degree' mode in the Symmetry menu.

The initial spherical horizontal cross section is completely useless
for our purposes.  Pick a height at which you want to base the splash
(the bottom point of the cross section is a logical choice) and when
you're building the splash, imagine that it is sitting on top of this
water. It will give us a good reference point.

Pull the top point of the cross section way out and down to the water
level. Keep the bottom point in at the center, and also at the water
level. The inbetween points should be moved into a crude outline of
the sloping water wall that we envisioned. My initial model is shown in
the picture splash_two. It took about a minute to build.

Look at the perspective view. A bit bland, but it is certainly on the
right track. Add a few points to the cross section at the top of the
water wave to give it a more complex, bulging appearance. You might
want to add some points near the base, especially on the inside, and
make the water near the wave a bit more ragged.

Now what? Our coarse form was trivial to make, but is far to
artificial. Let's jazz it up! Turn OFF symmetry, and muck around with
ALL FOUR cross sections. You can increase the height of the wave in
one, make the water a little rougher in another, make the peak on one
a bit more curved... give them character. DON'T make huge changes like
adding a second wave (you're welcome to try!)  but certainly make them
a bit different from each other. Think of adding a 25% noise level.
You might keep an eye on the perspective view, as well- it will show
you how the Forms Editor copes with blending these different shapes
together.

Now what? A little more variation? There's no reason the splash has to
be a perfect circle, or even an oval, is there? Of course not. The TOP
display shows what the HORIZONTAL cross section of our splash looks
like. Right now it's a nice circle. Now, our splash really should be
pretty circular when looked from above, but not perfectly... Go ahead
and muck with the shape, and again, watch the perspective view to see
what happens. You might want to leave SOLID mode on, especially with a
fast machine, since the wireframe of such a non-structured object is
often very confusing.

You can move the radial points any way you like. I suggest that you
only move them generally in and out, or the splash will get somewhat
lopsided. Also, avoid having sharp spikes. You can see how easy it is
to make our splash look like the Statue of Liberty's crown. 2 or 3
point bulges look very nice, major details formed with just 1 point are
sharp and look like knives. Not very appropriate for a soft water splash!

My final splash is shown in the picture splash_three. A
rendered version with three different splashes is called Ocean_Sunset.
Ocean_Sunset is actually a still from the current version an anim I'm
working on.  It has the dolphins jumping around, the water moving with
wind-driven waves, and eventually will have a ship slowly steaming
along with a nice wake and smoke. The animation of the splashes
still need a lot of tweeking, but it's getting better. This is still a
work in progress, but it looks nice even now.

What about animation? I said it was easy to animate, but how?  Well,
let's think of what the animation SHOULD look like, then figure how to
implement it. How does a splash evolve? The big wall of water starts
at the center of the circle and moves outward at a pretty constant
speed. It grows in height, curls over, and crashes down as is
progresses. If we make maybe 4 or 5 splashes, one for each stage of
the splashes growth, we can just move from one to the other. How?
Morph! Morph is easy to forget when you're dealing with complex
objects like splashes. Since morph requires its objects to have the
same structure, different complex objects often won't work with each
other.  However, if we use the same basic starting form for each of
the splashes (same # points and slices) we can have Imagine smoothly
interpolate from one form to the next.

Considering the fact that creating the splash took maybe 5 minutes,
you can see that making an entire animated splash is a 15 minute task.
You don't even have to make new splashes, just modify old ones! When
animated, you might add frills like separate objects for flying water
droplets, and have them follow parabolic arcs.  The Form Editor won't
let you make detached objects like that, so you'll have to make them
as separate objects that fly out, as opposed to pinch off and fly
away... You might also use two different splash forms superimposed to
give the splash a more complex character. The splash we built is still
a bit plain.

This example should impress how easy it is to make complex shapes with
an amazing amount of speed and control. Asteroid-maker, indeed!


---------------------------------------------------------------------
		     A Complex Boat Hull
---------------------------------------------------------------------

Making a boat hull might not seem very easy. If we want to use the
Form editor, shouldn't there be some sort of near-radial symmetry? It
turns out that you can really push the Forms Editor around in ways
Impulse hoped we'd discover.

A boat hull is a pretty simple object, right? Well, sorta. If you
wanted to build one in the Detail editor, you'd make an outline the
shape of an iron (as in for pressing clothes), then you'd extrude it
and use slice to make the bottom.

Well, this would work, but it's a pretty cheesy boat hull, no matter
how good your iron outline was. Even if you were a good modeler, made
a series of outlines and used skin to blend them, you are going to get a
hull that is boxy as opposed to a nice graceful curve.

Think of a big ocean-going vessel, not a cheeseball rowboat. The prow
is sharp, to cut into the water, and it angles down and back. The body
of the hull is fairly straight, and the stern rounds off smoothly with
a flat face as opposed to the prow's sharp point. At no point,
however, does the hull look like it was constructed of different sections.
To reduce drag, the shape smoothly changes both from the top
view (a teardrop with a squashed bottom?) and the side view. It has
one axis of symmetry (left/right).

How could we ever model this in the Detail Editor? Not easily, and
certainly not in one piece.

Well, fine. But how could we ever model this in the Forms Editor,
either? It certainly is not very obvious.

A big hint of how we would design a form for the hull lies in where
we place the center, the radial point, of our cross sections. We also
have to decide whether the slices should be coming out horizontally
(like the axis was a vertical mast) or at right angles. The choice is not
obvious.

If the axis is horizontal, then the radial sections would tend to
form a dome over the hull. If you made the radii of the
overhead portion negative (There is no problem doing this!)
we could just make a double-thickness of hull. This is messy, but
workable.

The second option is to use a vertical axis, which gives us the
benefit of a simpler object since there is no "dome" to add extra
needless points.  We want to make a new form object with an XY cross
section. Select 3 slices and 7 points and we'll make a very simple
version of the hull and work from there.

The question is where to but the center of our (vertical) axis. There
are three places on the hull where there is a sudden change in
cross-section -- the bow, and the two stern corners. If we want to
make these changes fairly sudden, we probably want to define each one
of them as one of our 4 cross sections. The interpolated cross
sections by definition are interpolated, so there's no major change in
shape. Thus, we want the bow to be in line with one of the four cross
sections, as well as in line with the two stern corners. This makes
our choice easy- the only place we can do this is the very back of the
boat, along the (port-starboard) centerline.

Now that we've decided where to put the axis, how do we want to define
the cross sections? Well, we want something that is left-right
symmetric, and NOT front-back symmetric, so we should turn on
left-right symmetry.

We want to change the default nearly-closed spherical cross section to
something more resembling an open gravy dish. Move the very top point(s)
way out and down some. The front cross section point (the left one in
the Right view) should be moved the most. The back cross section point
should be moved down, but not out very much. Remember that the stern is
very close to the axis, and does not have much detail.

The Front view should look somewhat like a big "U", and the Right view
should look like a sideways stretched "U" with one end (the bow) sloping
back and the other pretty vertical.

The horizontal cross section (top view) should look (reasonably) like
a boat viewed from above. The front should be pointed, the back should
be fairly blunt, but rounding off to the sides.

Describing the shape of these forms is harder than describing a Coke
can. Look at the picture hull_one to see what my crude shape looks like.

You can see in the perspective view that this basic form has a little
hull-like character. It is sharp in front, and has a blunt rear. You can
add extra points to each of the views to make a smoother form with
more details. My final boat hull is shown in picture hull_two. To get an
idea of how complex the real object is, there is a picture of the same
hull shown in the detail editor in picture hull_three.

-Steve Worley   5/28/91

---------------------------------------------------------------------------
Steven Worley                                       spworley@athena.mit.edu
---------------------------------------------------------------------------
 
Because I was erked when my brush and texture tutorials were posted on
Compuserve sans credit, I include the following:

The text contained within this document as well as the associated 
computer files are (C) Copyright 1991 by Steven P. Worley. 
They be distributed freely under the following conditions: 1) The entire
text, including this copyright notice, is kept entire and 2) Steven Worley
is duly credited as being the author. The author reserves all other rights
to this text.

### DETAIL EDITOR

* Subject: Introductory Detail Tutorial
* Date: Tue, 11 Jun 91 23:49:06 EDT [7]
* From: spworley@ATHENA.MIT.EDU

		   An Introduction to the Detail Editor
			 Last Revised 6/11/91
			   By Steven Worley

-------------------------------------------------------------------------
		   I.  What are Imagine objects?
-------------------------------------------------------------------------

When a computer program wants to draw a 3D object, it must have some
way of internally representing it. Some modelers store each object as
a bunch of 2 dimensional polygons- a 3D object is a formed from a
whole bunch of these polygons pasted together. A cube might be defined
as six 2D squares arranged in a group. Since our final picture just
has to LOOK like it is solid, defining the outer surface is usually
all we need to do to make it seem as if the objects ARE solid.

Any object can be defined as a bunch of flat polygons. Curved surfaces
like a sphere can use a lot of polygons in order to approximate the
surface closely; certain computer tricks (including a very important
one called Phong shading) can smooth out the surface even more. Most
of the 3D objects, or models, that you've ever seen in any 3D computer
graphic were defined as polygons. Sometimes advanced programs define
surfaces with a mathematical equation, or by a certain type of curve,
and sometimes a computer model will have certain objects it "knows"
how they should look (like a mathematically defined sphere or cone)
but most use polygons for definition, Imagine included.

All objects in Imagine are defined as a bunch of triangles. Nothing
more.  It is particularly easy for a computer to decide what a
triangle would look like when viewed as a 3D image. Any more complex
polygon (like a square or octagon) can be broken down into a bunch of
triangles pretty easily.  Having only one "shape" to deal with is
actually a convenience for us, as we don't have to worry about
questions of what type of polygons a certain object is made of, or how
to convert one type of polygon into another. The computer likes
dealing only with triangles because it can optimize it's renderer, the
program that actually draws the pictures, to expect and deal with just
one shape simple instead of 246 different ones.

Although an object is made of only triangles (called FACES) it has
points and edges which define where these faces go. If you think of a
simple triangle, it has 3 defining points at the corners, three edges
connecting these points, and one face which actually makes up the body
of the triangle. Imagine can better deal with the objects by defining
these sub-parts, and it allows us to manipulate the objects much more
easily.

Every object has a number of defined POINTS. Imagine understands an
EDGE to be a line segment that connects any two of these points. A
face is defined by naming the three edges that make it up. Instead of
storing nine numbers for each triangle (the X,Y,Z location of each
corner) it just names the edges, which in turn name the points. This
reduces the size of a description of an object considerably. It also
helps in editing objects, since if you move a point, each face that it
is part of will adjust itself to the include the new location of the
point. The other alternative would be to have each face manually
manipulated individually, which is obviously a big pain.

Think of a square. Imagine would store a square as two triangles that
share one edge together. The square would actually contain FIVE edges
(the four sides and the diagonal) and FOUR points (one at each of the
corners.) It would have two faces, or triangles.  A cube is stored as
twelve faces, formed by eighteen edges, which are in turn defined by
eight points.

This definition of objects actually gives us some extra leeway in how
we define our model. Imagine doesn't require your object to be
connected at all; that is, your object could be two completely separate
surfaces that never touch. You might want an object to be a flying
logo. The letters don't actually touch and form one solid object; they
are independent from each other. Imagine doesn't care; you can call
any collection of points, edges, and faces an object. Imagine also
gives you tools for splitting off part of an object (like a letter) or
joining two parts together.

Since this is a computer model and not a physical one, we can violate
physics and have objects self-intersect. You might overlap two spheres
half-way and join them together to form one object. You'll only see the
outer surface when you render the new double-sphere object. 

There actually are two objects that Imagine does not define as a group
of points, edges, and faces: a perfect sphere and an infinite plane.
These are the only exceptions to the normal definition of objects in
Imagine. Well, OK, there's another. An axis containing NO points can
still be manipulated as an object. It certainly won't show up in a
render, but sometimes it's nice to use a lone axis as an invisible
object in certain cases. You can also use the axis as the start of a
brand new object.

There are certain "Editors" in Imagine that allow us to view and
manipulate objects in different ways. Some editors let you place
objects in scenes, or define how the objects change with time. The
Detail Editor is where objects are usually created and modified. It
allows low-level editing of objects; you can add points and faces by
hand, move them, delete old ones and in general be as picky as you
like in adjusting every point.

Defining objects point-by-point is obviously not very suited to
complex objects, sometimes with THOUSANDS of points. There are more
powerful controls that let you modify your object in more global ways.
You can add pre-made 'primitive' objects like a cylinder or a torus
(doughnut shape.)  These primitive objects have the points, edges, and
faces that define it already defined. There are certain tools that
let you draw an outline, say the profile of a chess pawn, which is
converted to a three-dimensional `spun' object, as if it was chiseled
out on a lathe. Other tools let you slice off parts of your object
using knives that you can build yourself. In general, object creation
is done with these powerful tools, and picky touch-ups are the only
time you grab and move individual points. A sculptor does not glue
sand grains together!

-------------------------------------------------------------------------
	       II. Looking at Stuff in the Detail Editor
-------------------------------------------------------------------------

The Detail Editor is the program that lets you manipulate and modify
objects in Imagine. Like the other editors (and any Amiga program, for
that matter) Imagine gets input and directions from you by either
moving the mouse and clicking it's buttons, or by typing on the
keyboard. Most advanced options use pull-down menus to select the
function you want to perform. An important trick, especially when you
start using Imagine a lot, is keyboard-equivalents. This lets you
select menu items via the keyboard, by pressing the right Amiga key
along with another letter or number. All of the keyboard equivalents
can be selected via pull-down menus, although not all menu items have
keyboard equivalents.  You'll find that learning the most used
commands' keyboard equivalents can save a LOT of time. Its quick and
easy to punch right-Amiga-o to zoom your view out; pulling the menu
down repeatedly is a pain. A few other commands (especially moving,
rotating, and scaling objects) use the keyboard to indicate what you
want to do (move, rotate, or scale) while simultaneously using the
mouse to control the extent of the transformation.

You can get into it from any point in Imagine by selecting the menu
item 'Detail Editor' from the Project pull-down menu.  The screen
should then split into four smaller windows with a thin status line at
the bottom of the screen and another at the top.

When you start up the Detail Editor, you'll see what is known as a
"Quad-View." Are four windows labeled "top", "front", "right", and
"perspective", which are different ways of viewing the object you are
manipulating. It is difficult to manipulate 3D objects with a 2D mouse
and a 2D screen, and the tri-view is a compromise that makes the best
of these unfortunate 2D restrictions.

The top, right, and front views show you the wire-frame skeleton of
the object you're editing. A wire-frame is a view of your object with
each edge shown as a line segment. Faces are NOT shown, so the object
looks like it's built from pieces of wire that join at the outside
edges of the object, hence the name wireframe. Wireframes have two
advantages; they are much faster to draw than "solid" models, and
since you can see _into_ the object, you can manipulate points and
edges on the interior of the object that you wouldn't normally see.

The top, right and front views are just that- a wireframe view of your
object shown from the three orthogonal (right angle) directions. There
is also a small axis at the bottom left corner of each view that shows
the world's X,Y,Z coordinate system. In Imagine, the X,Y,Z is defined
just like it is in mathematics- X is left to right, Y is in to out,
and Z is down to up.  Some 3D programs define Z to be in-and-out, so
note Imagine's difference. 

There is an absolute "world" coordinate system defined by these axes.
You can select "Coordinates" from the Display menu, which will
continually display the coordinates of the mouse pointer in the
world's X, Y, and Z system. The units that it measures in are
arbitrary, but it is often convenient to call them "Imagine Units."
Objects tend to be on the order of 10 to 100 Imagine Units in size,
since this is a comfortable scale to deal with when we design
scenes to be rendered.

There is a grid shown in the three main windows. This grid is used to
give you a sense of scale, and can be turned on or off in the Display
menu.  The spacing between the lines can be set by choosing "Grid
Size", also from the Display window. The default is 20, which is a
reasonable starting size. Some commands let you use the grid to snap
objects to precise locations- these are the most common reasons you
want to change the grid size.

The fourth window (with no grid in it) is called the "perspective"
window, which allows you to view your object from any direction. You
can also change modes to view your object as a wireframe or as a
"solid" model, where the faces become opaque so that you cannot see
through your object. In this window, you CANNOT manipulate your
objects- it is a view only.

Each of the four windows can be quickly zoomed to take up the full
screen very easily by merely clicking on the tall narrow box to the
left of each view that contains the name of the window. The window
will expand to take up the entire screen, allowing you to have a
better view of whatever you're working on. To zoom back to the
quad-view, just click on the name to the left again. To go immediately
from a full screen display of one view to a full screen display of
another, you just click the name of the new view to the right. Being
able to see all four views at once is often an advantage, but so is
seeing a larger, more detailed view. This method allows you to quickly
and easily change how you look at your model.

Just to get a sense of how this works, pull down the menu item
'Functions' and select 'Add primitive'. Click on the 'Torus' button
and click on 'OK' to accept the default parameters. All this did was
make a pre-defined object that we can look at when we manipulate the
views. 

You should see an object in all four of the windows. This is the same
object, just viewed from different directions. Remember the three main
views (Top, Front, and Right) all show a WIREFRAME view from their
respective directions, so the inside of the doughnut might look very
complex.

Perspective, the remaining view, also shows a wireframe view of the
doughnut. You can change the view by manipulating the two white
sliding boxes on the top and left of the window. The bottom white
slider lets you view from different directions AROUND the object. If
the slider is in the middle, you're looking at the front. If it's 3/4
of the way to the right, you're looking at the right hand side, and if
it's all the way in either direction, you're looking at the back. The
vertical slider on the right controls the ANGLE you're looking at the
object from. Centered is a level perspective, all the way up gives you
a straight-down view, and all the way down gives you a straight-up
view.  By combining these two sliders you can look at your object from
any direction.

You can change the perspective view by selecting 'wireframe' or
'solid' from the Display pull-down menu. Solid takes longer to show
your object, but removes the points that are hidden, getting rid of
the X-ray wireframe view. A final way of changing the perspective view
is by selecting 'shaded' from the Mode pull-down menu and zooming the
perspective view to the full screen. This shades the object in false
black and white colors which sometimes lets you see the shape of the
object more clearly.

There are a few commands that let you change your absolute vantage of
your object.  You can zoom your view (on all windows) in and out by
using 'zoom in' and 'zoom out' from the View menu. This lets you see
more of your object at once, or just a certain portion. Each zoom in
or out will double or halve the scale respectively. You can also
select a numerical zoom by selecting 'set zoom' in the View menu,
which allows more precise magnification levels by simply typing in a
number. Zoom in and zoom out are often used, so knowing the keyboard
equivalents of right-Amiga-i and right-Amiga-o can save a lot of time.

To scroll the views around, you can click in one of the three main
views, then use the arrow keys to move the view in whatever direction
you like. You'll notice that if you change one view, the others will
change as well- all of the views are linked so they show the same
volume of space. You can also scroll the view by telling Imagine where
you want the view centered. You select 'Re-center' from the View menu
and click on where you want the new center of your view to be. Usually
you click right in the middle of the object or area you're interested
in. The keyboard equivalent of right-Amiga-. (period) is very
convenient.

The display that Imagine shows you is very important, as it is your
interface in dealing with everything in the program. One important
option is found in the Display menu; it is called "interlace".
Interlace will change the screen resolution which the display uses. An
interlaced screen is 400 pixels high, whereas a non-interlaced screen
is only 200.  Unfortunately, the interlaced display will flicker on
many Amigas. An Amiga 3000 or a "flicker-fixer" equipped Amiga will be
able to use interlaced mode without the flicker. The interlaced mode
allows much more detail and more precise location of points, so it is
by far the preferred mode to work in. Even if you do have a flickering
display, it is probably worth the annoyance to have the extra
resolution.

A couple ways to reduce the flicker if you have it: you can muck with
the monitor's contrast and brightness, or you can change the screen
colors using the imagine.config file (see my Project tutorial). My
favorite solution is wearing sunglasses- it works very well indeed,
and you look cool while using your computer.

-------------------------------------------------------------------------
	       III. Moving Stuff in the Detail Editor
-------------------------------------------------------------------------

Knowing how to move your views around is important, as when you're 
manipulating an object you'll find yourself changing your viewpoints
around constantly. There is a whole new set of commands for moving
the OBJECTS in the editor around. 

In order to manipulate an object, we either have to load an existing
one or start one from scratch. Imagine comes with several simple
pre-built objects called 'primitives' that are very convenient to use
as starting points for creating your own objects. Talking about these
primitives doesn't really belong at this point in the tutorial, but 
it would be nice to be able to have something to look at and manipulate
as each of the viewing and manipulation commands are presented.

To make a primitive object, select 'add' in the Edit menu, and
'primitive' in the sub-menu. There are six simple shapes that Imagine
will automagically create for you. They are a sphere, a cylinder, a
cone, a disk, a plane, and a torus. When you select one, Imagine will
ask how many points the object should have.

With primitives like a sphere, the more points that define it, the
smoother its appearance is going to be when rendered. Remember that
even curved surfaces are made from triangles, and the surface becomes
better defined with each point added. However, an object with more
points than are necessary can become a burden; drawing the object in
the editor takes more time, and although the final rendered picture
with be higher quality with extra points, it will also take longer.
Thus, when you add new primitive objects, Imagine asks what level of
detail you would like.

For example, the sphere primitive asks how many circle sections and
how many vertical sections will make it up. The default is a
reasonable number of defining points. If you were looking for a higher
quality sphere because you were going to zoom in very closely to it,
you might use extra points. If the object is going to sit in the
background and not be examined closely, you might select fewer points.
Most of the time, the defaults serve as a nice compromise, but you are
much more likely to simplify the object as opposed to increase the
default level of detail. The plane primitive in particular lends
itself to simplification- most of the time you can bear with defining
the simplest plane possible (2 triangles) as opposed to the
overburdened default of a grid of 200 triangles.

Each primitive lets you define the numbers of points that define it;
the parameters that you can vary are all pretty self-explanatory.  For
example, the cylinder lets you define how many points are to form the
circle around the rim, and also how many sections the body of the tube
should be defined as.  Other options (available for some primitives)
are simple flags that define whether to close the ends of the cylinder
(to create a hollow tube versus a log) or to 'stagger points' in some
models. Staggering points increases the smoothness of curves- you
should almost always leave it on.  Note that the disk and the plane
are actually flat objects- the others all have depth. All objects also
let you define their size; this is quite straightforward.

When you have loaded an object or added a primitive, you'll notice
that you can see each point and edge in the wireframe. In addition,
you'll see an AXIS, usually near the center of the object. In Imagine,
EVERY OBJECT HAS IT'S OWN INDEPENDENT AXIS. An object's axis helps
Imagine determine which way an object is facing, how it is scaled, and
even what it's position is. Imagine doesn't understand what the
objects ARE; it doesn't realize that a complex object like an airplane
should orient itself with wheels down instead of balanced sideways on
a wingtip.  The axis actually defines the object's position; if you
ask Imagine to move an object, Imagine really just moves the axis, and
the object's points, edges, and faces are dragged along with it. When
you rotate an object, the rotation occurs around the object's axis, as
opposed to the world's absolute reference system. Scalings, where you
change the size of the object, also use the object axis as a basis.

When you want to manipulate a certain object, you have to tell Imagine
which one (or ones!) that you're interested in, since you might have a
dozen different object loaded at once. The way of choosing an object
so you can manipulate it is just by clicking on it's axis. The object
will turn a pretty blue color (or sometimes purple- more later!) which
indicates that the object is chosen- any manipulation commands will
be done on this one object. The object is said to be "picked", and
Imagine knows that you want to apply commands to this object as
opposed to another.

Once you've picked an object, the most common manipulations are to
move it around, rotate it, or scale it. These basic commands are often
used, so Impulse has made it pretty easy to do. When you have a
selected an object, you type the letter 'm' for move. The object will
disappear (!)  and be replaced by a big yellow "bounding box" which
encloses the volume where your object was. This bounding box
represents the size, shape, position, and orientation of your object.
Since the box is so simple to draw, Imagine can update it in realtime
as you manipulate it, allowing you to position it quickly and easily.

After selecting the object and pressing "m", Imagine knows you want to
move the object. Putting the cursor in any of the three main views,
pressing the left mouse button and then dragging the mouse will drag
your object in the direction you move. You do not have to click on the
yellow box; anywhere in the view is fine. You can keep moving the
object as long as you like; you can let go of the mouse button, move
the pointer to another position in any of the three views, and
continue moving the object. You are also welcome to zoom in and out,
make one view full-screen, or re-center your views at any time. When
you are finally done moving your object, pressing the space bar will
accept the change and your object will be displayed as a wireframe in
it's new location.  If you've made a mistake, you can press the ESC
key instead of the space bar. This also exits the move mode, but the
object's position is unchanged from where it was before you started to
move it. This is obviously useful for fixing mistakes or changing your
mind.

Two other commands work much like move: rotate and scale. If you
select your object and press "r", you will rotate your object, and
you'll see the yellow bounding box spin as you drag the mouse with the
button down.  You can also change spin axes (to pitch or bank the
object, as opposed to yawing it) by pressing "x", "y", or "z" to
define which axis you want to rotate around. All rotation is done
around the OBJECT'S axis.

Scaling is done by selecting "s" and dragging the mouse. Again,
scaling is done relative to the OBJECT's axis. If the axis is in the
center of the object, the object will grow in all directions. If it is
at the bottom, the object will grow up and out, but not down.

Each of these three commands (move, scale, and rotate) can be called
either when you've picked an object or during any other move, scale,
or rotate command. For example, you might pick an object, press "m"
to move the object, position it in a new place, press "r" to spin it,
then "s" to scale it. You do not have to press the space bar after
every change; only after you are finally satisfied with the new
location, size, and orientation of your object do you want to press
the space bar to accept the changes you've made.  Aborting by using
the ESC key will remove all of the changes (movements, rotations, and
scalings) that you've made.

These manipulation commands are easy to use, and they have other
controls that make certain manipulations even easier. At the bottom of
the screen, there is a status bar that will highlight which mode
you're in. If you are moving, the "M" in the "M=Move" at the bottom
of the screen will be highlighted, and the "R" and "S" highlight when
you're rotating or scaling.

The "x", "y", and "z" commands that allow you to change rotation axes
also work in moving and scaling. They act in these two modes as
toggles- when you start a move, you are free to move it in all three
directions, X, Y, and Z. You might want to restrict a direction of
motion, though, if for example you are moving a table along a floor
and you didn't want to accidentally lift the table into the air as you
moved it left and right. Pressing the "x", "y", and "z" keys will
toggle the allowable directions on and off, so pressing "z" will
anchor the table's height, and pressing "z" again will allow you to
lift it up if you change your mind. This also works in the scaling
mode; if you want to make an object narrower without changing its
height, you might toggle "z" and scale the object down. With the "z"
toggle off, the object will maintain it's Z height, but will shrink in
the X and Y directions.  At any time, the display at the bottom of the
screen shows the letters "X-Y-Z" and highlights the directions that
are "active" or changeable.

A related shortcut is using the capital letters "X", "Y", and "Z",
which set the toggles to allow movement and scaling in one direction
only.  If you wanted to lift a table straight up, you just type "Z"
and the table will be free to move up and down, but not in the X or Y
directions.  This method of setting the toggles overrides whatever
position they were set in before, but you can use the individual
toggles afterwards to set whatever freedoms you like.

Imagine gives you even more flexibility if you want to use it.
Whenever you move, rotate, and scale an object, it is based on a
certain coordinate system. The default is to use the standard
coordinate system- the set of axes that is fixed in place and shown at
the bottom left of the three main views. This is called the "world"
coordinate system.  However, each object has it's own "local"
coordinate system, defined by it's own axis. Imagine allows you to use
a local coordinate system instead of the world system if you like.

For example, if you have an object in the shape of a plane, the local
coordinate system probably has the Y axis (going front to back) in
line with the main fuselage of the plane. Using "r" to rotate the
plane, you can easily position it so that it is angled up like it is
climbing into the sky. If you then wanted to move it in a straight
line along it's "flight path", the direction it's pointing, you could
select move, and try to judge by eye the new position in the direction
in front of the plane. If, instead, you select local mode (by using
"l") and restrict motion along the Y direction by typing "Y", the
plane will move smoothly along the line it's pointed along. In the
world coordinate system, it's moving in both the Y and Z directions,
but in it's local coordinate system, it's moving only in it's Y
direction.

To switch between coordinate systems, you just type "l" and "w"
whenever you want to change. The current coordinate system has L or W
highlighted at the bottom display just like the X-Y-Z indicators.
Many times the local and world coordinate systems will be the same, so
one is equivalent to the other.

One final option when you're manipulating objects allows you to
manipulate the axis of the object independently. If you want to move,
scale, or rotate an object's axis [without simultaneously affecting
the object!] you can use "M", "R", and "S", the capital letter
versions of the object manipulation commands, to affect only the axis.
There are some occasions you might want to do this for fancy tricks,
but most of the time, you just want to move the axis around just so
that it lies near the center of your object.

The standard commands to move, rotate, and scale objects have been
streamlined for ease of use since they are performed so often.
Sometimes, however, they are somewhat lacking, especially when you
need precise control over how your object is to be manipulated. For
the precise control of object manipulation, Imagine has a special
command called "Transform" which allows you to numerically control
your object as opposed to judging by eye.

The transform command works much like the standard interactive
commands in that you first select your object (by clicking on it's
axis) and then telling Imagine what to do to it. To enter the
transform command, you click on the object (it becomes blue or purple)
and pull down the menu item "transform" from the Object menu. A small
requester will appear. You have six options you can choose from:
translate, rotate, scale, position, alignment, and size. You also
enter X, Y, and Z arguments.

Translate takes the X, Y and Z arguments and moves (translates) the
object that distance.

Rotate will rotate the object around the axis you specify by an amount
(in degrees) you specify in X, Y and Z. Performing more than one
rotation at once is legal, but it is easy to make mistakes in final
orientation. If you rotate around more than one axis at once, the Z
rotation is performed, then the X rotation, then the Y rotation.

Scale will scale your object by a certain factor. To double the size,
just enter 2 in each of the X, Y, and Z boxes. A negative number is
completely legal, and if one or three of the scalings is negative,
you'll actually get a scaled mirror image of your original object.

Position is like Translate in that it moves your object. Instead of
moving a certain distance, however, it moves to absolute world
coordinates.

Alignment is also absolute; it will rotate your object in whatever way
necessary to align in the direction you specify, regardless of the
original orientation. Setting X, Y, Z all to zero will make the object
line up exactly with the world axes.

Size is again absolute. It uses the axis size as a benchmark, and will
scale the object (and it's axis) to an absolute size. The "default"
size that all axes start out at is 32 Imagine Units, so entering an
XYZ size of 32 32 32 will bring most objects back to their virgin
sizes.

To use any of these sub-commands, just click on the box next to it's
name and type in the appropriate X, Y, and Z arguments in the boxes to
the right. Selecting "OK" will perform the manipulations, "cancel"
will abort without affecting your object.

You have the option to use world or local coordinates, just as in the
interactive commands; just click on either box to decide. The default
is the world system. You can also manipulate only the axis (like the
capital letter commands in interactive manipulation) by selecting
"transform axis only."

Most manipulations use the interactive controls, and the
transformation requester is used only for accurate, measured changes.

One problem that you may run into after an interactive or a
transformed manipulation is a "dirty" screen. Imagine erases the old
object from before your move or scale or rotate, and draws it in the
new position. However, to save time, it will not redraw any other
wireframe object that was in view. This means that the areas were the
old object intersected any other object in the view will be blank;
part of the other object will be erased. If you want to check to see
if this is the case, you can select "Redraw" from the Display menu,
which will redraw all of the objects, eliminating the problem.  One
case where this is almost necessary is when you have multiple copies
of an object at the same place. If you move one copy, the other isn't
redrawn. Since it was in the exact same location as the old, erased,
object, it looks like it has disappeared!  This is easy to fix with
redraw. It is another oft-used command, so knowing the keyboard
equivalent of right-Amiga-r is handy.

A problem you'll run into when manipulating complex objects is the 
sheer time it takes to redraw the wireframe model (in three views).
Imagine has a way to speed the display of these objects- it shows
the bounding box of the object (like the one shown in interactive
manipulation) instead of the wireframe. You LOOSE the detailed view
of your object, but you can still see the position, size, and
orientation. To make an object "quickdraw" in this mode, you can
use three commands in the Functions menu. "Quickdraw all" will make
all of the objects display in quickdraw mode. "Quickdraw none" will
make all objects display the normal wireframe. "Quickdraw pick" will
make your picked (blue or purple highlighted) object display in
quickdraw mode. These quickdraw boxes are very handy, and since
they can be toggled at any time in the Detail Editor, it makes sense
to use them when screen updates start to get too slow.

-------------------------------------------------------------------------
	       IV. Harvesting and Sorting with Pick
-------------------------------------------------------------------------

Since you can have many objects loaded at once, there has to be a way
for you to tell Imagine what object or objects you want to deal with.
You've done this already, by clicking on an object's axis, and
watching it turn color. This shows that the picked object is ready to
be manipulated on.

What if we want to manipulate more than one object at a time? A
standard way to "multi-pick" things (like icons in AmigaDos, or
objects in Imagine) is to use the shift key. By holding the shift key
as you click on objects, Imagine knows you want ALL of them picked,
not just the latest one. In fact, if you press the shift key, the
display line at the top of the screen will change to show how many
objects are picked. Commands will affect all of the picked objects,
not just one. In the case of moving, scaling, and rotating more than
one object, the FIRST picked object's axis defines the basis of all
the manipulations, as well as the local coordinate system for
manipulating all of the objects.

There are easier way to pick many objects than by repeatedly clicking
on each object's axis. Imagine allows you to change how objects are
picked by the "Pick Method" submenu in the Modes menu. The default is
"click", which means that when you click directly on an object's axis,
it will become picked.  Other methods of picking can be chosen from
the pick method submenu. If you use "drag box", instead of clicking on
the object axes, you should press and hold the mouse button while
dragging the mouse. A large box will follow your mouse, and when you
release the button, an object within the box will become picked. If
you press and hold the shift key when you release the mouse button,
ALL of the objects within the box will become picked.

Lasso is similar, but more versatile. You press and hold the button
while drawing a large circle or oval or squiggly shape. When you
release the button, an object within the region you've drawn will
become picked.  Again, you can hold the shift key to pick ALL of the
objects within.

A final option in the pick method submenu is called "Lock". Lock isn't
a method of picking; it really has more to do with when moving picked
objects. Lock is a flag; you can toggle it on and off by selecting it
from its submenu. When Lock is on, any moved object will snap to the
nearest grid location when released. This is automatic and is easier
than using the one-time "Snap to Grid" (described later, I promise!)
again and again when you're trying to get precise placement.

Two other utility commands can be found in the Pick/Select menu.
"Pick all" will pick ALL of the objects in your workspace. "Unpick
Last" will allow you to remove the last object you picked from your
set of picked objects. This is handy when you pick one too many
objects and you want to unpick the last one you chose.

It is easy to pick objects or sets of objects using the different pick
methods. There is actually another powerful way to change what object
or objects are picked; it is called "select."  There is a very, very
important difference between a "picked" object and a "selected"
object; you've been using pick to highlight objects and manipulate
them. Select is sort of a pick-wanna-be.

One problem that can occur is when two object axes are directly on top
of each other. If you click on the common axis location, one of the
objects will become picked. (The first one that was created or loaded
into the Editor). If you click again, the same object will remain
picked and the second object will just sit there.  If you hold the
shift key and click on the common axis again, the second object WILL
be picked, but now BOTH objects are picked. If you want to pick just
the second object and not the first, you can either MOVE one object
just to uncover the other axis, or you can use select.

There is a solution when picking (or unpicking) objects becomes
awkward (or impossible!). SELECT allows you to control what objects
are picked by allowing you to add and remove objects from your set of
picked objects one at a time.

Think of buying lunch at a cafeteria, and you pick which food you want
to eat. One way of "picking" food to add to your tray is by having the
lunch worker point to each of the cafeteria's food bins, and saying
"No, the next one, the next one, the next one- yes! That one!"  as the
worker points to the foods in turn.  As the worker selects item after
item, you can choose to PICK the item he's pointing to at any time.
The analogy extends; What if your arms are full of cafeteria food and
you want to put some back? Your arms are busy holding all the food;
you can't easily grab an item and put it down.  You can, however, ask
a friend to "unpick" the item for you.  If your friend has trouble
with big words (like the names of food), he can just point at each
food in your arms in turn until he points to the granola yogurt you
want to put down. You then say "Yes, yes! Get rid of that!"

This is exactly what select allows you to do. Your arms are full with
picked objects. You can't just click on an object to "unpick" it
because Imagine thinks you're just making sure you have it picked. You
also might have problems indicating the right object to pick, as in
the case of two objects on top of one another. The major difference
between the the cafeteria and Imagine is that your mentally challenged
friend is also the cafeteria worker, and will point to both types of
objects for you.

Select works by allowing you to highlight different objects in a
controlled way. A "selected" object might be picked or not; A normal
object is white, a selected object is orange, a picked object is blue,
and a picked AND selected object is purple.

Only one object is ever be selected at once, which is helpful in
reducing confusion. The commands for selecting objects are completely
different from those of PICKing objects; the whole point of select is
that sometimes the methods used to pick objects are awkward, and
select gives you an alternative way to pick them.

The easiest and most common method of selecting an object is by using
two commands, "Select next" and "Select previous", both found in the
Pick/Select menu. Using "Select next" repeatedly will cycle through
all of the objects in the order that they were created or loaded.
This command does NOT care whether the object is picked or not; it
will select all objects one at a time. "Select next" is often a
command you want to repeat, so knowing the keyboard shortcut of
right-amiga-n is almost necessary.  By repeatedly using select next,
ANY object can be selected because Select next will eventually reach
it. "Select previous", right-amiga-p, will select objects in the
opposite order, in case you overshoot with select next.  One
convenience is that when an object becomes selected, your view will
jump to center the object on the screen, always allowing you to see
what you just selected.

When an object is selected, there are certain commands that will cause
it to become picked or un-picked. The most common command is called
"pick select", which can be found in the Pick/Select menu. When you
use this menu option, the selected object will become picked. If the
selected object is picked and you want to un-pick it, you can use
"unpick select" from the pick/select menu to unpick it.

"Select next" is kinda klunky, especially if you know exactly what
object you want to select. One quick command that is sometimes useful
is "Home", which selects the very first object you created or loaded
into the Editor.

Two other useful commands to quickly select specific objects are "Find
by Name" and "Find requester", both found in the Functions menu. "Find
by Name" allows you to type in an object's name (assigned in the
Attributes requester, more later) and your view will shift to center
on the object you named. In addition, the object becomes selected,
allowing you to pick-select or unpick-select it. The "Find by
Requester" does the same thing except it displays the names of all of
the currently loaded objects, and you just click on the name you want
to select. This requester is also useful because it tells you the size
(# of points, edges, and faces) of each object, which is an excellent
judge of object complexity. It's also fun to say "Cool! My tomato has
1,821 points!"

-------------------------------------------------------------------------
		   V. Hierarchies and Complex objects
-------------------------------------------------------------------------

With complex models, sometimes you don't want to make one huge, mungo
object to represent the entire model. You might want to make a forest
object that has 20 trees in it, and it seems silly to carve the whole
thing out of one block. Or, you might be building an object that is
logically a bunch of separate parts, like a clock with a face, a
pendulum, two hands, and a frame.

Another important ability you might want is to be able to give
different parts of a complex object different attributes, or colors.
Imagine lets you color and define the look of your objects in
different ways, and you can even tell it to make different parts of
the same object look different. But when you're building something
like a window, the glass panes are considerably different than the
wood frames; it is easier to define each as a separate object then
somehow group them together.

There is a function that lets you do exactly this- group objects
together.  When you have a model that you want to make (and keep!) in
separate sections, Imagine allows you to establish a group of objects
which will stay together. It allows you to treat the group as an
entire ensemble (if you want to move everything, or apply a command to
the whole set), or you can pick out one particular object and deal
with it independently.

Grouping is very easy to do. If you want to group two objects
together, you click on one object, then press the shift key and click
on the other.  Remember that this is just the method of picking more
than one object at once. When you have multi-picked the objects, you
select "group" from the Object menu. A purple line will appear joining
the axes of the objects.  The first object that was selected becomes
the "parent" of the group.  If you group more than two objects, the
purple "group" lines all run from each "child" object to the parent
object. This lets you see which axis to click on to pick the entire
group. Sometimes it is nice to assign a lone axis as the parent of a
group, especially when no part of a group really doesn't lend itself
to being a parent.

Splitting a group back into it's component parts is also easy; just
pick the group by clicking on the parent. The entire group will become
picked, and selecting "Ungroup" from the Object menu will split the
group. The purple joining lines will disappear, and each child will
be independent again.

Once a group is made, it can be treated almost identically to an
ungrouped object. You can pick it (by clicking on the parent) and the
entire group will become highlighted. You can then move, scale, or
rotate the entire group as a whole. If you click on a CHILD object,
the child will be picked, but not the group. You can then move, scale,
or rotate it independently of the group, assign it individual
attributes, or perform a command on it independently of the rest of
the group. Even when you move the child object around, it will STAY
grouped; you must use "ungroup" to ungroup objects. There are modes
where you can pick parents separate from their children; this is
described in the next section.

In addition, you can make groups of groups. Or groups of groups of
groups. This is done exactly the same as before; you can pick one
group, multi-pick a second, and group them. Having these multi-layer
groups is sometimes very useful. One excellent example would be in
modeling a human figure. You might make a finger group that contains
all of the knuckles, a hand group including a palm, four finger
groups, and a thumb group, an arm group consisting of a hand group, a
wrist, a forearm, and an elbow, and a body group consisting of a head
group, a torso, two leg groups, and two arm groups. This kind of
nested grouping is called a "hierarchy", where the body is the
great-granddaddy of a knuckle. One great advantage is obvious when you
want to move an arm.  You pick the arm, and rotate it around the
shoulder. All of the arm's children follow it, so the arm moves as a
whole. You do NOT have to move 15 knuckles, a palm, a wrist, a
forearm, and so on. If you want to adjust a finger, you can manipulate
it and the knuckles will move together, but the arm will be
unaffected. If you move the main parent body group, everything follows
along as if the body were just one solid object, as opposed to dozens
of parts. Hierarchies are obviously suited for complex models.

Groups are useful when you have sub-parts of an object you want to
keep together. Sometimes grouping simple objects is still useful even
if there is no hierarchy to follow, since the individual objects are
free to move apart from the parent, and can easily be assigned different
attributes.

For example, if you're designing a human face, you might cause the
eyeballs in the head to be an additional grouped object as opposed to
just molded into the main face. Later, if you wanted to change the eye
(make it a different color, or replace it with a different type of eye
(chrome eyeballs!  Cool!)) you can easily select the eye and change or
replace it. This advantage compounds the other advantages of grouping;
you can later animate the eyes looking in different directions, and
you can easily change the attributes or texture of the eye while
leaving the face undisturbed.

-------------------------------------------------------------------------
       VII. Pick, Add, Drag.  Pick, Add, Drag. Geez, how boring!
-------------------------------------------------------------------------

There are some useful commands that act on picked objects other than
just moving, rotating, and scaling. Two of the most obvious are "Load"
and "Save". Load will load a new object in from disk- it will give you
a file requester which you can choose the filename from.  The most
common place to put objects are in your "objects" subdirectory in your
project directory.See the Project Editor tutorial for the complete
Imagine file structure.

Am important suggestion; use descriptive names and extensions. I
talked about this a lot in my Project tutorial, but it's worth
repeating. "Obj1" is going to mean nothing to you an hour from now.
"tablecloth.iob" tells you that this is an Imagine object of a
tablecloth- a useful description. Some suggested file extensions:

 .iob    Imagine Object. Loads into the Detail Editor 
 .iout   Imagine Object which is a faceless outline
 .ifm    Imagine Form. Loads into the Form or Detail Editor
 .iff    Amiga picture or brush  (standard)
 .ham    Amiga picture or brush in Hold-And-Modify format
 .iff24  24-bit Amiga picture of brush. Highest quality.
 .spth   Imagine spline path
 .lpth   Imagine line path
 
Save will take the picked object or group and save it onto disk.
Note that GROUPS will save as one big group, as long as you have the
whole group picked by clicking on the parent. You can give the saved
object or group any name you want, and you'll probably want use an
extension of ".iob". If you pick a child of a group and save it, 
you save ONLY that object (and its children), and NOT the entire group
it belongs to.

Another command you can apply to picked objects is "Snap to Grid" from
the Functions menu. It operates on all picked objects, moving each of
them so that their axis lies on top of the nearest grid intersection.
This is very useful in trying to line up objects or for precise
positioning. This is much like a one-time "Lock".

There are a few other utility object commands. "Cut", "Copy", and
"Paste" are found in the Object menu. "Cut" will remove your object
from the Imagine world and store it in memory. When you select
"Paste", the object will be re-inserted into the world at the same
place it was prior to the cut. In fact, the object is STILL retained
in memory, so you can move the restored object around and use "Paste"
again to get a second copy to manipulate.  You can repeat "Paste" as
many times as you like to get copies of objects. "Copy" is like cut,
except the object is not removed from the world after being copied to
memory. You can use "Paste" to add multiple copies to the world.

Since the pasted objects are all put in the same location, often
you'll have to move one copy to get to the next. Judicious use of
"Redraw" can help in showing exactly what copies are still floating
around.

An incredibly useful command for making complex objects is called
"Join", which can be found in the Functions menu. If you pick two or
more objects, join will assemble them into one single object. The
new conglomerate object will have use the axis of the first object
that was picked, and will contain all of the points, edges, and faces
of all of the joined objects. Joined objects are difficult to 
unjoin later, so only use it when you WANT a solid object. Join
is used constantly- you might build a car with the body sides, and
"join" on a side mirror, then join the  roof on, then join the floor. 
Remember the advantages of groups though; you probably DON'T want
to join the tires to the car; if you group them you can rotate them
later, as well as define the chrome hubcap separately from the car's
paint and the rubber tire.

"Merge" is also found in the Functions menu. It is more of a utility
command. It will remove any duplicate faces, edges or points in your
object. Especially after you JOIN objects, you might have a lot of
points lying on top of one another. Merge removes these extra,
unneeded points, speeding rendering and even display in the editors.
Merge also helps Phong shading; more about Phong shading in the soon
to come Attribute Tutorial. 

Delete is pretty obvious command. It can also be found in the Functions
menu.  When you use delete, every picked object will be removed from the
world. This command is used a lot to get rid of cruft and deadwood, so
knowing the keyboard shortcut of right-amiga-d is useful.

As with all of the editors, Imagine has one level of "Undo", which can
be selected from the Project menu. When using dangerous commands like
Delete, being able to recover from the command is important. Undo will
work with almost any command. You can also undo an undo, reinstating a
command you decided you wanted anyway. 

-------------------------------------------------------------------------
		   VIII. Spraypaint and Picture Frames
-------------------------------------------------------------------------

The low-level commands to create and manipulate objects are sufficient
to create any model you can think of.  An additional level of control
you have is the ability to define the surface color and attributes of
your object. A flat plane might be made of two triangles, but
depending on how you set the attributes of the plane, it might render
as a pane of glass, a reflective mirror, a wood tabletop, a piece of
graph paper, or a picture of your grandmother. Defining the surface
characteristics of objects gives them their character. Luckily,
Imagine gives you excellent control of these attributes.

Every object has a set of attributes that can be modified. In a group,
every object can have different attributes from the parent; when you
select a group, you only modify the parent's attributes. To change any
attributes, just pick an object and select "Attributes" from the Object
menu. A requester will appear, and you can select different properties
to change. In addition, you can place brush maps and textures on the
object, as well as add or change the object's name.

Choosing and setting attributes is immensely important to make your
objects look good. Setting textures and especially brushmaps give you
near-infinite control on what your object's surface looks like.  I
have written full tutorials on both the use of texture and brushmaps,
and plan to write one on setting attributes.  The choices in the
attributes requester are so important that they deserve a tutorial
unto themselves. I haven't written the attribute tutorial as of today
(6/11/91), but look for it by the end of July.


-------------------------------------------------------------------------
		    IX. A Mode for Every Season
-------------------------------------------------------------------------

The basic commands to pick, move, and view the world and everything in
it are very important, as they are used constantly. The actual work
you perform in building objects depends on the user changing the view
and manipulating the objects almost without thought.

No matter how good we are at manipulating objects and changing the
view, using these commands will never BUILD an object for us. To do
this, Imagine has different MODES that it performs different actions
in. Some modes allow us to manipulate objects and groups, as we have
been doing already. Other modes let us pick and manipulate not
objects, but the POINTS of an object, or the edges, or the faces.
Still other modes let us drag points around in different ways. Some
let us add NEW points, edges, and faces.  (Aha! So that's how we can
build our own objects!)

These modes are easy to change; you can just pull down the Mode menu
and select which mode you would like to be in.  The current mode is
always displayed in the status line at the top of the screen; this is
often handy when you get confused about what you're doing. The
keyboard equivalents for changing the current mode all use right-Amiga
and a digit; this makes the keypad become a "mode selector" if you
don't want to use the pull-down menus and have stuff it takes to
remember which digit is which mode.  Personally, I don't have the
stuff, so I bear with the pulldown menu rather than strain my poor
brain.

The default mode is "Pick Groups", which means that whenever you click
on a group, it will be picked. (Simple!) If you want to pick
individual objects, EVEN IF THEY ARE THE PARENT OF A GROUP, there is
a mode called "Pick Objects."  Just select it from the mode menu, and
now when you click on any object (in a group or not, child or parent)
it will be selected. You cal obviously multi-select it using the shift
key. When you are dealing with ungrouped objects, "Pick groups" and
"Pick objects" work identically.

Different modes let you deal with the different parts of an object. Up
until this time, we've always dealt with entire objects at a time. We
could rotate, scale, and move them, add them, group them, and delete
them, though we could not affect their basic structure. The remaining
modes all work on PARTS of objects, not objects themselves. One
important note is that to even enter these other modes, you must have
selected at least one object (or group) for the new modes to act apon.

You'll also find that I consistently lied to you in most of the
previous sections. I always referred to picking objects as opposed to
picking anything else. ALL of the pick and select commands except Find
work equally well in picking faces, edges, or points as opposed to
just objects or groups. Most other commands like Delete will work on
the parts of an object as well.

One new mode is "Pick points." If you pick an object or group and
enter the pick points" mode, the object will turn white (the object is
NOT picked anymore!) and it's points will all become visible (they
will show up as small squares.) Now you are in a different mode; you
are no longer picking and selecting OBJECTS, you are dealing
exclusively with points. You can then click on the points which will
turn orange as you pick them. You can use the shift key to multi-pick,
or the lasso and drag box to grab many points at once. You can also
select points, and use all of the selection tools to help you get any
subset of points you want. Selected points are green, picked points are
orange, and picked and selected points are yellow.

When you're picking points, edges, or faces, Imagine will work ONLY
with the points, edges, or faces in the object that was picked before
you chose the "pick points (or edges or faces)" mode. This prevents
you from confusing one object's points with another's. When you scroll
around your view or redraw the screen, the other objects won't even be
updated, so don't get scared if they seem to disappear. When you
re-enter pick objects or pick groups mode, all of the objects will
re-appear.

Just because you can pick something doesn't mean you can perform every
command on them. In the case of points, you can delete your picked
points, or use the transformation requester to translate them;
interactive dragging is actually another mode of it's own, though.
When you delete a point, you delete any edges and faces that that
point help form. You cannot do things to selected points that make no
sense (like grouping them, or saving them to a file)- that's just
weird.

You can perform some other commands that aren't applicable to objects
as a whole, however. For example, a very useful command is called
"split." It takes the selected points,  removes them from the
original object, and gives them their own axis. In effect, the
original object is split into two parts defined by the points you
picked. Any connecting faces or edges are deleted (two objects do NOT
share!).  This might be very useful when you have a logo and want to
pull one letter out of the object to do something special with it.

One command that is unique to pick points mode is "taut", which is
found in the Functions menu. If you select three or more points and
select "taut", the middle points will jump to the line segment defined
by the first and last points. This command might be useful to line up
a bunch of points in a straight line quickly. Taut does NOT work with
anything other than picked points.

Picked points can be manipulated with the Transform command. The
picked points can be translated, scaled, rotated, and positioned
INDEPENDENTLY of the rest of the object. Rotations and scalings all
use the object's axis as a reference point. Absolute positioning will
move the FIRST point you pick to the location you choose, and the
rest of the picked points will be translated an equal amount. Interactive
dragging is accomplished using the "drag points" mode.

Picking edges is similar to picking points, except to specify an edge
you just click on the two points that make it up, or lasso or drag box
the entire edge. Just like points, you can't perform every command on
them. You can delete them and split them.

You CANNOT translate edges or use taut on them. Deleted edges will 
delete any face they belong to, but the points in the edges will NOT
be removed.

A new command you cannot perform on points but can use on faces is
called "fracture." This command is in the Functions pull down menu,
and is often very useful. The fracture command will take and break 
each edge into two edges, with an additional point added to the
midpoint of each selected edge. This command is very useful when you
need to increase the detail level at a certain area of an object; the
extra edges that appear allow you to manipulate them to add finer
details and structures.

Select Faces is again pretty straightforward. You must click on ALL
THREE of the points that make up the face to select it. Fracture works
very well on faces; it splits each face (one triangle) into four
triangles defined by the midpoints of the face. The new faces can then
be manipulated for higher object definition.

Deleting faces removes the faces, but not the edges or points that it was
made up of.

Picked faces allow you to characterize an object's appearance in local
areas. The attribute requester normally allows you to give the object
overall color, reflection, and transparency values. You can actually
set these for every single face, if you like. You can pick one or more
faces, select "attributes" from the Object menu, and use the sliders
to set the color, transparency, and filter values for the face or
faces.

You will NOT see any change in the appearance of your object when you
do this, but when you render, the faces you selected will all override
the default object color with the attributes you selected. A danger is
that face attributes are somewhat fragile. If you join or merge
objects or start deleting or adding points to it, all face coloring is
often lost. To keep this from happening, color individual faces LAST,
just before saving your object.

A final note about face coloring; don't depend on it for coloring your
objects in complex ways. Using grouped objects or brush maps is much
more robust and allows better control. Coloring individual faces is
useful mostly for quick and dirty attribute definition or for making
small details that aren't worth the bother of a brushmap or extra
object.

Both "pick edges" and "pick faces" will allow you to split off the
selected parts of the object to create two new objects by using
"split", just as split works with selected points.

Three additional modes are "add points", "add edges", and "add faces".
Add points will add an additional point to your object in the location
you click on. Add edges lets you click on TWO points and will add a
new edge joining them. Add faces mode will let you add a new face to
an object by clicking on the THREE points that make it up.

"Add lines" mode is a convenient combination of "add points" and "add
edges". As you click, a new point is added in the location you point
to, and further clicks will add additional points along with an edge
joining the latest point to the one that was immediately preceding it.
Thus, a few clicks around the border of a rough circle will make a set
of points with the edges following the outline of that circle.
Carefully clicking on the location of an existing point will cause the
new line to connect to to that point, so making closed shapes is
easier.

"Drag points" mode allows you to interactively drag individual points
in your object around. If you select this mode, you can click on any
point and drag it to a new location interactively. Any edges or faces
that this point is connected to will follow the point to its new
location.

Dragging multiple points is also easy- just use the shift key,
multi-pick the points by clicking on each in turn, and when you want
to start dragging them, just release the shift key.

AN IMPORTANT TECHNIQUE: What if you want to select a point or points
in one view, and drag them in an orthogonal direction? For example,
you have a plane defined by a horizontal 10 by 10 grid, and you want
to select a bunch of points from the middle and pull them up. If you
click on the points from the top view, you can easily select any of
the points you're interested in, but you can only drag them left and
right, forward and back. You want to be able to drag them UP.

Here's the method for doing this: it is invaluable, so remember it.
Whether you want to move one point or a hundred, press the shift key
to multi-pick the points.  Click on the points you want to move in ANY
view, keeping the shift key depressed. To move all of these points,
KEEP THE SHIFT KEY DEPRESSED and move the mouse to the view where you
want to move the points in. Press and hold the left button, then
RELEASE the shift key. The picked points will move with your mouse for
as long as you keep the button held down. Releasing the button will
anchor the points.

In the example with the 10 by 10 horizontal grid, you would press
shift, click on the points you want in the top view, move to the front
(or right) view, release the shift key, move the points up, and
release the mouse button.  That's it!

Magnetism, a more complex way of dragging points will be covered in
the "advanced" Detail tutorial.

One problem with manipulating points, edges, and faces is picking the
RIGHT point. When the object is complex, the wireframe displays can
get very cluttered. There is a convenient way of simplifying a view to
get points out of your view- it is a mode called "hide points". In
hide points mode, any points you select (with click, drag box, or
lasso) will disappear from view- they will go away. They still exist,
they just aren't displayed and can't be picked or manipulated. You can
"hide" whatever points that get in the way of your work area, then
change modes, and manipulate the non-hidden parts of your object.
Selecting "pick objects" or "pick groups" will make the hidden points
re-appear.

For example, if you're working on a helicopter model and you want to
work on the rotor alone, you might select "hide points" mode, and use
the lasso to indicate the main helicopter body. The rotor is left
alone, and after changing into drag points or select faces mode, it is
easy to indicate what portion of the rotor you want to deal with
without accidentally modifying the helicopter body. Selecting "pick
objects" mode makes the entire helicopter, with the rotor changes,
reappear.

In theory, you can create any object by adding an axis, then adding
points, edges and faces. In practice, these are very low level
commands; you generally use the more powerful commands like "mold" and
"slice" found in the Object editor. The low level select and add modes
are built to give you the low level control that you sometimes need;
however, they are more for defining basic outlines that are then used
in the more powerful Object commands, or for touching up small details
on nearly complete objects. The next Detail tutorial will talk about
these commands. 

This file and the text therein is Copyright 1991 by Steven P. Worley.
All rights reserved.  This file may be distributed freely in computer
or paper form as long as 1) It is unchanged and unedited 2) is
distributed in its entirely 3) gives proper credit to the author,
Steven Worley.

### COLOR RGB

* Subject: Colors
* Date: Wed, 26 Jun 91 13:00:01 -0600 [7]
* From: webbs@mozart.cs.colostate.edu (Steven Lee Webb)

COLOR                       R   G   B
--------------------------------------
alice blue                 240 248 255
aliceblue                  240 248 255
antique white              250 235 215
antiquewhite               250 235 215
antiquewhite1              255 239 219
antiquewhite2              238 223 204
antiquewhite3              205 192 176
antiquewhite4              139 131 120
aquamarine                 127 255 212
aquamarine1                127 255 212
aquamarine2                118 238 198
aquamarine3                102 205 170
aquamarine4                 69 139 116
azure                      240 255 255
azure1                     240 255 255
azure2                     224 238 238
azure3                     193 205 205
azure4                     131 139 139
beige                      245 245 220
bisque                     255 228 196
bisque1                    255 228 196
bisque2                    238 213 183
bisque3                    205 183 158
bisque4                    139 125 107
black                        0   0   0
blanched almond            255 235 205
blanchedalmond             255 235 205
blue                         0   0 255
blue violet                138  43 226
blue1                        0   0 255
blue2                        0   0 238
blue3                        0   0 205
blue4                        0   0 139
blueviolet                 138  43 226
brown                      165  42  42
brown1                     255  64  64
brown2                     238  59  59
brown3                     205  51  51
brown4                     139  35  35
burlywood                  222 184 135
burlywood1                 255 211 155
burlywood2                 238 197 145
burlywood3                 205 170 125
burlywood4                 139 115  85
cadet blue                  95 158 160
cadetblue                   95 158 160
cadetblue1                 152 245 255
cadetblue2                 142 229 238
cadetblue3                 122 197 205
cadetblue4                  83 134 139
chartreuse                 127 255   0
chartreuse1                127 255   0
chartreuse2                118 238   0
chartreuse3                102 205   0
chartreuse4                 69 139   0
chocolate                  210 105  30
chocolate1                 255 127  36
chocolate2                 238 118  33
chocolate3                 205 102  29
chocolate4                 139  69  19
coral                      255 127  80
coral1                     255 114  86
coral2                     238 106  80
coral3                     205  91  69
coral4                     139  62  47
cornflower blue            100 149 237
cornflowerblue             100 149 237
cornsilk                   255 248 220
cornsilk1                  255 248 220
cornsilk2                  238 232 205
cornsilk3                  205 200 177
cornsilk4                  139 136 120
cyan                         0 255 255
cyan1                        0 255 255
cyan2                        0 238 238
cyan3                        0 205 205
cyan4                        0 139 139
dark goldenrod             184 134  11
dark green                   0 100   0
dark khaki                 189 183 107
dark olive green            85 107  47
dark orange                255 140   0
dark orchid                153  50 204
dark salmon                233 150 122
dark sea green             143 188 143
dark slate blue             72  61 139
dark slate gray             47  79  79
dark turquoise               0 206 209
dark violet                148   0 211
darkgoldenrod              184 134  11
darkgoldenrod1             255 185  15
darkgoldenrod2             238 173  14
darkgoldenrod3             205 149  12
darkgoldenrod4             139 101   8
darkgreen                    0 100   0
darkkhaki                  189 183 107
darkolivegreen              85 107  47
darkolivegreen1            202 255 112
darkolivegreen2            188 238 104
darkolivegreen3            162 205  90
darkolivegreen4            110 139  61
darkorange                 255 140   0
darkorange1                255 127   0
darkorange2                238 118   0
darkorange3                205 102   0
darkorange4                139  69   0
darkorchid                 153  50 204
darkorchid1                191  62 255
darkorchid2                178  58 238
darkorchid3                154  50 205
darkorchid4                104  34 139
darksalmon                 233 150 122
darkseagreen               143 188 143
darkseagreen1              193 255 193
darkseagreen2              180 238 180
darkseagreen3              155 205 155
darkseagreen4              105 139 105
darkslateblue               72  61 139
darkslategray               47  79  79
darkslategray1             151 255 255
darkslategray2             141 238 238
darkslategray3             121 205 205
darkslategray4              82 139 139
darkturquoise                0 206 209
darkviolet                 148   0 211
deep pink                  255  20 147
deep sky blue                0 191 255
deeppink                   255  20 147
deeppink1                  255  20 147
deeppink2                  238  18 137
deeppink3                  205  16 118
deeppink4                  139  10  80
deepskyblue                  0 191 255
deepskyblue1                 0 191 255
deepskyblue2                 0 178 238
deepskyblue3                 0 154 205
deepskyblue4                 0 104 139
dodger blue                 30 144 255
dodgerblue                  30 144 255
dodgerblue1                 30 144 255
dodgerblue2                 28 134 238
dodgerblue3                 24 116 205
dodgerblue4                 16  78 139
firebrick                  178  34  34
firebrick1                 255  48  48
firebrick2                 238  44  44
firebrick3                 205  38  38
firebrick4                 139  26  26
floral white               255 250 240
floralwhite                255 250 240
forest green                34 139  34
forestgreen                 34 139  34
gainsboro                  220 220 220
ghost white                248 248 255
ghostwhite                 248 248 255
gold                       255 215   0
gold1                      255 215   0
gold2                      238 201   0
gold3                      205 173   0
gold4                      139 117   0
goldenrod                  218 165  32
goldenrod1                 255 193  37
goldenrod2                 238 180  34
goldenrod3                 205 155  29
goldenrod4                 139 105  20
green                        0 255   0
green yellow               173 255  47
green1                       0 255   0
green2                       0 238   0
green3                       0 205   0
green4                       0 139   0
greenyellow                173 255  47
honeydew                   240 255 240
honeydew1                  240 255 240
honeydew2                  224 238 224
honeydew3                  193 205 193
honeydew4                  131 139 131
hot pink                   255 105 180
hotpink                    255 105 180
hotpink1                   255 110 180
hotpink2                   238 106 167
hotpink3                   205  96 144
hotpink4                   139  58  98
indian red                 205  92  92
indianred                  205  92  92
indianred1                 255 106 106
indianred2                 238  99  99
indianred3                 205  85  85
indianred4                 139  58  58
ivory                      255 255 240
ivory1                     255 255 240
ivory2                     238 238 224
ivory3                     205 205 193
ivory4                     139 139 131
khaki                      240 230 140
khaki1                     255 246 143
khaki2                     238 230 133
khaki3                     205 198 115
khaki4                     139 134  78
lavender                   230 230 250
lavender blush             255 240 245
lavenderblush              255 240 245
lavenderblush1             255 240 245
lavenderblush2             238 224 229
lavenderblush3             205 193 197
lavenderblush4             139 131 134
lawn green                 124 252   0
lawngreen                  124 252   0
lemon chiffon              255 250 205
lemonchiffon               255 250 205
lemonchiffon1              255 250 205
lemonchiffon2              238 233 191
lemonchiffon3              205 201 165
lemonchiffon4              139 137 112
light blue                 173 216 230
light coral                240 128 128
light cyan                 224 255 255
light goldenrod            238 221 130
light goldenrod yellow     250 250 210
light gray                 211 211 211
light pink                 255 182 193
light salmon               255 160 122
light sea green             32 178 170
light sky blue             135 206 250
light slate blue           132 112 255
light slate gray           119 136 153
light steel blue           176 196 222
light yellow               255 255 224
lightblue                  173 216 230
lightblue1                 191 239 255
lightblue2                 178 223 238
lightblue3                 154 192 205
lightblue4                 104 131 139
lightcoral                 240 128 128
lightcyan                  224 255 255
lightcyan1                 224 255 255
lightcyan2                 209 238 238
lightcyan3                 180 205 205
lightcyan4                 122 139 139
lightgoldenrod             238 221 130
lightgoldenrod1            255 236 139
lightgoldenrod2            238 220 130
lightgoldenrod3            205 190 112
lightgoldenrod4            139 129  76
lightpink                  255 182 193
lightpink1                 255 174 185
lightpink2                 238 162 173
lightpink3                 205 140 149
lightpink4                 139  95 101
lightsalmon                255 160 122
lightsalmon1               255 160 122
lightsalmon2               238 149 114
lightsalmon3               205 129  98
lightsalmon4               139  87  66
lightseagreen               32 178 170
lightskyblue               135 206 250
lightskyblue1              176 226 255
lightskyblue2              164 211 238
lightskyblue3              141 182 205
lightskyblue4               96 123 139
lightslateblue             132 112 255
lightslategray             119 136 153
lightsteelblue             176 196 222
lightsteelblue1            202 225 255
lightsteelblue2            188 210 238
lightsteelblue3            162 181 205
lightsteelblue4            110 123 139
lightyellow                255 255 224
lightyellow1               255 255 224
lightyellow2               238 238 209
lightyellow3               205 205 180
lightyellow4               139 139 122
lime green                  50 205  50
limegreen                   50 205  50
linen                      250 240 230
magenta                    255   0 255
magenta1                   255   0 255
magenta2                   238   0 238
magenta3                   205   0 205
magenta4                   139   0 139
maroon                     176  48  96
maroon1                    255  52 179
maroon2                    238  48 167
maroon3                    205  41 144
maroon4                    139  28  98
medium aquamarine          102 205 170
medium blue                  0   0 205
medium orchid              186  85 211
medium purple              147 112 219
medium sea green            60 179 113
medium slate blue          123 104 238
medium spring green          0 250 154
medium turquoise            72 209 204
medium violet red          199  21 133
mediumaquamarine           102 205 170
mediumblue                   0   0 205
mediumorchid               186  85 211
mediumorchid1              224 102 255
mediumorchid2              209  95 238
mediumorchid3              180  82 205
mediumorchid4              122  55 139
mediumpurple               147 112 219
mediumpurple1              171 130 255
mediumpurple2              159 121 238
mediumpurple3              137 104 205
mediumpurple4               93  71 139
mediumseagreen              60 179 113
mediumslateblue            123 104 238
mediumspringgreen            0 250 154
mediumturquoise             72 209 204
mediumvioletred            199  21 133
midnight blue               25  25 112
midnightblue                25  25 112
mint cream                 245 255 250
mintcream                  245 255 250
misty rose                 255 228 225
mistyrose                  255 228 225
mistyrose1                 255 228 225
mistyrose2                 238 213 210
mistyrose3                 205 183 181
mistyrose4                 139 125 123
moccasin                   255 228 181
navajo white               255 222 173
navajowhite                255 222 173
navajowhite1               255 222 173
navajowhite2               238 207 161
navajowhite3               205 179 139
navajowhite4               139 121  94
navy                         0   0 128
navy blue                    0   0 128
navyblue                     0   0 128
old lace                   253 245 230
oldlace                    253 245 230
olive drab                 107 142  35
olivedrab                  107 142  35
olivedrab1                 192 255  62
olivedrab2                 179 238  58
olivedrab3                 154 205  50
olivedrab4                 105 139  34
orange                     255 165   0
orange red                 255  69   0
orange1                    255 165   0
orange2                    238 154   0
orange3                    205 133   0
orange4                    139  90   0
orangered                  255  69   0
orangered1                 255  69   0
orangered2                 238  64   0
orangered3                 205  55   0
orangered4                 139  37   0
orchid                     218 112 214
orchid1                    255 131 250
orchid2                    238 122 233
orchid3                    205 105 201
orchid4                    139  71 137
pale goldenrod             238 232 170
pale green                 152 251 152
pale turquoise             175 238 238
pale violet red            219 112 147
palegoldenrod              238 232 170
palegreen                  152 251 152
palegreen1                 154 255 154
palegreen2                 144 238 144
palegreen3                 124 205 124
palegreen4                  84 139  84
paleturquoise              175 238 238
paleturquoise1             187 255 255
paleturquoise2             174 238 238
paleturquoise3             150 205 205
paleturquoise4             102 139 139
palevioletred              219 112 147
palevioletred1             255 130 171
palevioletred2             238 121 159
palevioletred3             205 104 137
palevioletred4             139  71  93
papaya whip                255 239 213
papayawhip                 255 239 213
peach puff                 255 218 185
peachpuff                  255 218 185
peachpuff1                 255 218 185
peachpuff2                 238 203 173
peachpuff3                 205 175 149
peachpuff4                 139 119 101
peru                       205 133  63
pink                       255 192 203
pink1                      255 181 197
pink2                      238 169 184
pink3                      205 145 158
pink4                      139  99 108
plum                       221 160 221
plum1                      255 187 255
plum2                      238 174 238
plum3                      205 150 205
plum4                      139 102 139
powder blue                176 224 230
powderblue                 176 224 230
purple                     160  32 240
purple1                    155  48 255
purple2                    145  44 238
purple3                    125  38 205
purple4                     85  26 139
red                        255   0   0
red1                       255   0   0
red2                       238   0   0
red3                       205   0   0
red4                       139   0   0
rosy brown                 188 143 143
rosybrown                  188 143 143
rosybrown1                 255 193 193
rosybrown2                 238 180 180
rosybrown3                 205 155 155
rosybrown4                 139 105 105
royal blue                  65 105 225
royalblue                   65 105 225
royalblue1                  72 118 255
royalblue2                  67 110 238
royalblue3                  58  95 205
royalblue4                  39  64 139
saddle brown               139  69  19
saddlebrown                139  69  19
salmon                     250 128 114
salmon1                    255 140 105
salmon2                    238 130  98
salmon3                    205 112  84
salmon4                    139  76  57
sandy brown                244 164  96
sandybrown                 244 164  96
sea green                   46 139  87
seagreen                    46 139  87
seagreen1                   84 255 159
seagreen2                   78 238 148
seagreen3                   67 205 128
seagreen4                   46 139  87
seashell                   255 245 238
seashell1                  255 245 238
seashell2                  238 229 222
seashell3                  205 197 191
seashell4                  139 134 130
sienna                     160  82  45
sienna1                    255 130  71
sienna2                    238 121  66
sienna3                    205 104  57
sienna4                    139  71  38
sky blue                   135 206 235
skyblue                    135 206 235
skyblue1                   135 206 255
skyblue2                   126 192 238
skyblue3                   108 166 205
skyblue4                    74 112 139
slate blue                 106  90 205
slate gray                 112 128 144
slateblue                  106  90 205
slateblue1                 131 111 255
slateblue2                 122 103 238
slateblue3                 105  89 205
slateblue4                  71  60 139
slategray                  112 128 144
slategray1                 198 226 255
slategray2                 185 211 238
slategray3                 159 182 205
slategray4                 108 123 139
snow                       255 250 250
snow1                      255 250 250
snow2                      238 233 233
snow3                      205 201 201
snow4                      139 137 137
spring green                 0 255 127
springgreen                  0 255 127
springgreen1                 0 255 127
springgreen2                 0 238 118
springgreen3                 0 205 102
springgreen4                 0 139  69
steel blue                  70 130 180
steelblue                   70 130 180
steelblue1                  99 184 255
steelblue2                  92 172 238
steelblue3                  79 148 205
steelblue4                  54 100 139
tan                        210 180 140
tan1                       255 165  79
tan2                       238 154  73
tan3                       205 133  63
tan4                       139  90  43
thistle                    216 191 216
thistle1                   255 225 255
thistle2                   238 210 238
thistle3                   205 181 205
thistle4                   139 123 139
tomato                     255  99  71
tomato1                    255  99  71
tomato2                    238  92  66
tomato3                    205  79  57
tomato4                    139  54  38
turquoise                   64 224 208
turquoise1                   0 245 255
turquoise2                   0 229 238
turquoise3                   0 197 205
turquoise4                   0 134 139
violet                     238 130 238
violet red                 208  32 144
violetred                  208  32 144
violetred1                 255  62 150
violetred2                 238  58 140
violetred3                 205  50 120
violetred4                 139  34  82
wheat                      245 222 179
wheat1                     255 231 186
wheat2                     238 216 174
wheat3                     205 186 150
wheat4                     139 126 102
white                      255 255 255
white smoke                245 245 245
whitesmoke                 245 245 245
yellow                     255 255   0
yellow green               154 205  50
yellow1                    255 255   0
yellow2                    238 238   0
yellow3                    205 205   0
yellow4                    139 139   0
yellowgreen                154 205  50

### MIRROR

* Subject: Re: mirrors
* Date: Sun, 14 Jul 91 15:18:46 EDT [7]
* From: spworley@ATHENA.MIT.EDU

Some attributes that give a nice mirror polish:

Color:  RGB = 150 150 170
Reflect:RGB = 200 200 210
Transparency 0 0 0
Specular 255 255 255
Hardness 255
Rough = 0
shiny = 0

### BOTTLE WINE GLASS LIQUID

* Subject: Green glass & Wine Attributes
* Date: Sun, 8 Sep 1991 14:04 MDT [11]
* From: SL3B4@cc.usu.edu

John's wine-bottle-green glass & Wine:

Color  : 10 49 9                Color  : 50 10 10
Reflect: 15 20 15               Reflect: 0 0 0
Filter : 205 230 205            Filter : 255 110 110
Specul : 235 255 235            Specul : 255 0 0
Dither : 50                     Dither : 50
Hardn  : 230                    Hardn  : 200
Rough  : 0                      Rough  : 0
Shine  : 0                      Shine  : 0
Refraction: 1.5                 Refraction: 1.33

### LINEAR FLYING LOGO ENTRANCES

* Subject: Re: Hmmm Revisited 
* Date: Wed, 11 Sep 91 17:55:59 EDT [11]
* From: spworley@ATHENA.MIT.EDU

If you want fun and exciting entrances, Wayne was right, linear
textures would work great! Here's another fun linear texture trick.
 Make an extruded tube of your logo that is REALLY long. Add TWO
linear textures with the Z axis facing backwards.  make the first
texture color the object a solid red, the second a transparent red.
Put the z width of both to -zero- and the first at the front of your
object and the second a bit into the tube, as far as you want your
final object to be thick. Save this object. Now move the second
texture about 50 "logo thicknesses" back with the same texture
settings but a z transition width of maybe five "logo thicknesses".
Set the second texture z transition to about one "logo thicknesses"
and a position about 2 "logo thicknesses" in front of the back
texture. Save this second object. The default attributes for both
objects should be complete filter so they are invisible.

Anyway, take these two objects and morph from one to the next. Loads
of fun!! You get a fuzzy blob flying at you and it finally condenses into
a sharply defined logo right where you want it. Boom, instant 
dramatic entrance!

### REFRACTION INDEX

* Subject: Re:  Refraction Index
* Date: Tue, 15 Oct 91 11:06:15 -0600 [13]
* From: HURTT CHRISTOPHER MICHAEL <hurtt@tramp.Colorado.EDU>

	Air 1.02
	Ice 1.309
	Alcohol 1.329
	Water 1.333
	Glass 1.50
	Quartz & Salt 1.644
	Diamond 2.417

### ROPE BRAID BREAD

* Subject: Some Cool Object Tutorials...
* Date: Wed, 25 Dec 91 10:04:07 -0500 [17]
* From: mbc@po.CWRU.Edu (Michael B. Comet)

    The first one is basically a braid.  You can use this to
create bread, or rope and perhaps even columns for a Persian
like design.

     To start with, go into the DETAIL editor and a PRIMITIVE
DISK.  Select, 20 for the 20 for the radius and then OK.  Now
comes the part which makes the braid work.

     Rotate the AXIS (axis only- SHIFT-R) around the Z-Axis
so that the Y-Axis of the object is facing left from the top
view.  ie: You are rotating counter clockwise.  This can also
be done from the TRANSFORMATION requestor and making the
ALIGNMENT of the Z-AXIS = 90, then clicking on TRANSFORM AXIS
ONLY, and then on PERFORM.

     Now select EXTRUDE from the MOLD requester and then
change the following in the EXTRUDE requestor. Make
Sections=25 and Y Rotation=720.  You may also wish to turn on
Mirror Ends.  Click on perform and the braid is done. Nice
thing is, phong shading works properly.

### HANDLE

* Subject: Some Cool Object Tutorials...
* Date: Wed, 25 Dec 91 10:04:07 -0500 [17]
* From: mbc@po.CWRU.Edu (Michael B. Comet)

     Another object created similarly is a ring.  Once again
add a PRIMITIVE DISK and select 20 for the radius. Next
rotate the Z-Axis to +90.  Then once again get into the
EXTRUDE requestor and set Section=25 and Y Rotation=720 and
click on Mirror Ends.  But also set BOTH the X Translate and
Z Translate = 100.  Click on Perform, and an instant bicycle
handle appears.  (At least that's what it looks like to me -
maybe you can thing of other uses for it).

### RING

* Subject: Some Cool Object Tutorials...
* Date: Wed, 25 Dec 91 10:04:07 -0500 [17]
* From: mbc@po.CWRU.Edu (Michael B. Comet)

     This next object is basically a ring (the kind you
wear), but it is detailed with indentations in almost a
honeycomb fashion.  First, add a PRIMITIVE DISK as before
and select OK to accept the defaults.  Now rotate the X-AXIS
(SHIFT-R and then X) or use the transformation requestor so
that the AXIS (AXIS ONLY!) is set to 45.

     Now select the MOLD requestor, and then SWEEP. Then
finally click on PERFORM to accept the defaults (note: you
can raise or lower the # of Sections to change the number of
'facets' on the ring).  You can then set the alignment back
to zero to make your ring in a normal position.  NOTE: Before
you render it you should turn OFF PHONG shading.  If you do
not, the phong shader will simply smooth out the detail.

### TEAR DROP

* Subject: Some Cool Object Tutorials...
* Date: Wed, 25 Dec 91 10:04:07 -0500 [17]
* From: mbc@po.CWRU.Edu (Michael B. Comet)

     The next object is a very nice Tear Drop.  Actually
rather simple to make, without using magnetism and dragging
points.  First, add a PRIMITIVE SPHERE and accept the
defaults by clicking on OK.  Then scale the OBJECT so that
its Z-LENGTH is 30.  This is most efficiently done by using
the TRANSFORMATION requestor, and then clicking on size, and
then setting Z=30.  Then click on PERFORM.  You should now
have a 3-D ellipse.

     Now, click on CONFORM TO SPHERE from the MOLD requestor
and accept the defaults which should be 50 for the Sphere
radius, and 160 for the Object radius.  Click on Perform.
Selecting higher Object radii will result in a more elongated
tear drop.

### STAR

* Subject: Some Cool Object Tutorials...
* Date: Wed, 25 Dec 91 10:04:07 -0500 [17]
* From: mbc@po.CWRU.Edu (Michael B. Comet)

    The Star is basically made up of 2 TORUS's with the
proper angle between them.  Add a PRIMITIVE TORUS and change
the Ring Sections to 3 and Tube Sections to 6.  Also turn OFF
stagger points.  Click on okay, and one (beveled) triangle is made.

    Select it and then make a copy (RightAmiga-C). then
Paste the copy down (RightAmiga-P).  Then select the copy
(pick select or F1 depending on whether or not you've changed
your preferences file).

    Now select the TRANSFORMATION requestor and then
ALIGNMENT.  Enter 60 for Z, then click on perform. Now you
may wish to redraw using the RightAmiga-R option.

    Finally select pick all (RightAmiga-A).  Then Join (Right
Amiga-J).  This will give you 1 complete object.

     Assuming that you picked the axis which was at 60
degrees first before you joined, your star will be lying down
and the axis is 60 degrees from the standard Y axis. To
correct both problems first go into the TRANSFORMATION
requestor and select ALIGNMENT, then 30 for Z.  Also click on
TRANSFORM AXIS ONLY.  Then click on PERFORM. Then go into
the TRANSFORMATION requestor one more time and select
ALIGNMENT.  Then set X=90 and Z=0 and click on perform.
Finally if you wish your axis to be oriented the same as the
WORLD axis, go into the TRANSFORMATION requestor once again,
click on TRANSFORM AXIS ONLY.  Next, click on ALIGNMENT and
set X=0.  Then click on SIZE and set Y=50 and Z=150. Click
on perform.  That should create one star object, with its
axis in perfect alignment with the WORLD axis, and facing
front.  This looks pretty cool in both phong or facet mode.

    You can do some neat anims with falling raindrops simply
by scaling them.  Also creating a braid as above, and then
another not braided braid you can make a neat morph.

### FOG

* Subject: Fog trick
* Date: Sat, 15 Feb 92 20:28:10 PST [20]
* From: Mike.G.Wilson@mtsg.ubc.ca

A simple fog trick: Using global fog, set Top to 0, bottom to, say, -5000
and then pick everything (cam, lights, objects) and rotate it 90 deg on the
X axis: presto, a Wall O Fog, easily controlled.

* Subject: Another Fog trick
* Date: Sun, 16 Feb 92 11:27:44 -0500 [20]
* From: mbc@po.CWRU.Edu (Michael B. Comet)

	Another 2.0 fog trick, or use really is to make stars or suns.
Simply add a sphere, make it a yellow-white, set it's fog length so it
is a thick fog, but somewhat less dense at the outer area, and you have
an instantaneous sun!  Look really good, much better than if you had
just added a sphere and made it bright.

### FOG LIGHTS

* Subject:     Foggy Lights
* Date:        Sun,  1 Mar 92 18:08:29 PST [21a]
* From:        Len@cup.portal.com

However, Imagine 2.0 offers a much more elegent solution! After you create
the light/bright object, set the FOG to some small value (I used 1.0).
Since a fog object doesn't create a shadow, all the light passes through it
and you have something that actually looks like a light bulb (or candle
flame etc.) without having to turn the intensity up!


### SPACESHIPS PLANETS

* Subject: Re: Planets
* Date: Wed, 10 Jun 92 19:49:29 -0400 [23]
* From: mbc@po.cwru.edu (Michael B. Comet)

	I have recently made an anim of this spaceship coming around a
planet in 24 bit and found that the PASTELLA texture for Imagine 2.0 is
great for this, if you just want swirls of color.

	Try these settings for a blue planet with some swiling lighter
blue shades.  Note:  If you are not rendering in 24 bit, they really
don't look that good....you kind of need 24 bit to get the full effect:

	ATTRIBUTES:
			R       G       B       Value
	Color:          0       0       255     *
	Reflect:        0       0       0       *
	Filter:         0       0       0       *
	Specular:       0       0       0       *
	Dithering:      *       *       *       255
	Hardness:       *       *       *       0
	Roughness       *       *       *       0
	Shininess:      *       *       *       0
	
	Texture:        PASTELLA

	Detail Size:    32
	RandomSeed:     123
	Red1:   255
	Green1: 255
	Blue1:  255
	Red2:   0
	Green2: 0
	Blue2:  255
	Red3:   255
	Green3: 255
	Blue3:  255
	Red4:   0
	Green4: 200
	Blue4:  255

	This is done for a sphere with size 40,40,40.

### GEMSTONES REFRACTION INDEX

* Subject: Index of Refraction's
* Date: Wed, 8 Jul 92 11:12:09 PST [24]
* From: kennys@terapin.com (Kenny Sequeira)

Here are a few index of refractions for some gemstones.

Opal    1.44 - 1.46
Amber   1.54
Garnet  1.73 - 1.89
Cubic Zirconia  2.15  Did you not want to create a fake diamond.

### SHELLS SNAIL

* Subject: Snail shells
* Date: Fri, 06 Nov 92 10:27:01 -0800 [29]
* From: mvilaubi@sfsuvax1.sfsu.edu

	Add a primitive disk with default diameter. Delete the center point. Rotate it
90 degrees on X. Realign the axis only to 0 rotation on X. Translate the axis only
50 units on X, so it is in line with the edge of the disk. Scale the disk to .5 on X.
Extrude to Length 1, Y Rotation 720, X Scaling .1, and Sections to 36. Afterwards you
can Conform to Sphere with a Sphere Radius of 150. I have gotten interesting results
by scaling the disk larger on X and setting Extrude Length to 100 or more.

### GOLD

* Subject: uuencoded gold attributes
* Date: 02 Dec 1992 01:59:52 -0500 (EST) [30]
* From: VISHART@ubvmsb.cc.buffalo.edu

The gold attributes of which I spoke are simply settings....
No textures, mapping, or brushes are required...
The settings are as follows :

	color, reflect, filter, specular all set as follows :
      red             255
      green           207
      blue             95

	dither          255   only necessary if not using 24 bit
	hardness        255
	roughness         0
	shininess         0

### WOODEN TABLE

* Subject: Re: settings for color, reflectivity, filter, & realistic objects
* Date: Mon, 7 Dec 92 10:02:59 CST [30]
* From: tes@gothamcity.jsc.nasa.gov (Thomas E. Smith [LORAL])

VISHART@ubvmsb.cc.buffalo.edu writes:
> you design an old, unpolished wooden table top with the COLOR set
> as follows :
>         COLOR
>                 red     - 100
>                 green - 52
>                 blue    - 30
>
> ... all the FILTER settings should be zero.
> If you follow the above guidelines, however,
> you will calculate that the REFRACTION must be set
> to exactly the same values as the COLOR settings.
> For example , in the case of the old wooden table top,
> the calculated settings would be :
>         REFRACTION
>                 red     - 100
>                 green - 52
>                 blue    - 30

### SHADOWS

* Subject: Shadow Object attributes
* Date: Mon, 18 Jan 93 16:37:14 -0500 [31]
* From: mbc@po.cwru.edu (Michael B. Comet)

	I have recieved a couple of requests for this so here are the
attributes for a "shadow" object:

	COLOR:  R,G,B = 5,5,5
	REFLECT: R,G,B= 0,0,0
	FILTER: R,G,B = 210,210,210
	SPECULAR: R,G,B= 0,0,0
	DITHERING=255
	HARDNESS=0
	ROUGHNESS=0
	SHININESS=0
	PHONG = ON      (probably doesn't matter)

	Now make you normal object, and then make a simple flat object
which would look like the shadow and place it in the proper location.
(Ie: on the floor, wall, and parts of the object itself)

	You can add a texture (linear say...etc...) and set it to have
the same texture color, but to have a higher filter...ie:255,255,255
thus the part that becomes textured will fade into nothing and will have
the effect of a shadow with fuzzy edges.  If you want a darker shadow
set teh above filter settings lower.

### CARPETS FLOORS

* Subject: Re:  Rendering Rooms
* Date: Sat, 22 May 93 13:23:38 -0500 [37]
* From: pjfoley@sage.cc.purdue.edu (PJ Foley)

I find that a good way to make carpet is to use the dreaded lame-o,
cheapy, "gause-screen," ant-crawling, don't-animate-this, roughness
setting.  I crank it way up.  I also add the Bumps texture from
Essence to give it that "lived-in look."  Here are my settings:

Color: 150,150,150 (arbitary, I suppose)
Specular: 230,230,230 (adjust to your color)
Dithering: 255 (I usually set this to zero since I deal with 24bit exclusively)
Roughness: 100 (more or less depending on how far you view the carpet)
Everything else: 0
And for Essence "Bump"
Initial Scale: 2.0
# of Scales: -1.random (take off the negative if this is too slow for you)
Scale ratio: 0.5
Amp: 0.5
Alt: 0.5

### WOOD

* Subject: Good Wood
* Date: Sun, 27 Jun 1993 03:11:59 -0300 [41]
* From: LEYEN%VORTEX.UFRGS.BR@UICVM.UIC.EDU

object RGB: 83 14 19

wood texture
RGB: 102 33 27
ring spacing: depend on the object's size

pastella texture
RGB1: 130 54 54
RGB2: 160 72 54
RGB3: 143 73 38
RGB4: 128 62 38
detail size: depends on the object's size

### LIGHTBULB

* Subject: Re: Shadows and Light Objects
* Date: Mon, 4 Oct 93 10:46:18 CDT [43]
* From: setzer@comm.mot.com (Thomas Setzer)

The best setting I got for a lightbulb
was as follows.

Make the bulb glass(transparency 200, 200, 100 or what ever, I used the settings

       from Understanding Imagine 2.0)  Not sure if you need this since you are
       going to be setting fog.  I need to play some more.

Make the object a light source by clicking on the light box in the attributes
  requestor.  No need to set the bright box.  In light requestor select
  spherical and put the light to 400 400 250, kindof yellow.  Select cast
  shadows if you like.

Put the object axis of the bulb where the filiment of the bulb would be.
    (shift-M to move the axis)

Set the fog length as suggested by another Imagineer.  You will have to play
with this as it depends on the distance from the object axis to the edge of
the bulb.  My bulb was 40 units across(turn on coords and measure) and my
fog length was 10 or 15, can't recall which.  The smaller the setting, the
more opaque the bulb will be.  The fog will be the color of your object.
My bulb was white.

Some weirder results occured when the object was not transparent.  It still
seemed to emit light, but the bulb was completely black.  Turn on "bright"
and the bulb turned white(but it didn't look right, kindof flat looking").
I makes sense to make the bulb transparent and this seems to work the best.

### FIRE CANDLE FLAME

* Subject: Candle flame
* Date: Thu, 11 Nov 93 23:20:41 [44]
* From: greg.tsadilas@hofbbs.com

Read the info on the FIREBALL texture.  It describes how to make a candle
flame.  If you don't have time to hunt for it, here it is:

"To do fire:  create a candle flame shaped object.  Apply the texture and
selext "Edit Axis" from the texture requestor.  Move the center of the texture
axis to the base of your flame.  Now scale the texture axis until ... [the]
axis extends beyond the top of your object.  In the texture requestor, set the
noise to 0.3 and the "Filter 2" param to 1.0.
Make the object bright."

### STARFIELD STARS

* Subject: Starfield
* Date: Fri, 10 Dec 93 10:14:27 [45]
* From: greg.tsadilas@hofbbs.com

Ok fellow Imagineers, we all know that Imagine's starfield is very cheesy at
best.  Here's a great solution for Imagine 2.9 users.

Create a sphere that is as large as your world, minimum size should be
at least 1000 units along each axis.

Set the sphere's filter values to 255 for each R,G,B component.

Apply the CONFETTI texture and make these adjustments to the default values:
  SIZE - .25
  V1   - .53
  V2   - .55
  COLOR 1 - R,G,B values to 255 each
  COLOR 2 - R,G,B values to 100 each

Make sure the camera is somewhere in the center, and render.  Voila!  a great
Starfield!  As Impressive as FractInt's starfield, BUT this one is in 3D and
takes up very little valuable RAM.
  Refer to the docs on the confetti texture to make any adjustments that you
like.
  Also, try making a short anim with just the sphere, and just change the
Camera's perspective, you can get a nice space warp effect.

1] Make the sphere bright to make sure the stars show up
2] Make a copy of the sphere and scale it slightly smaller
or bigger and rotate it so it's at a diff angle.
Then, you'll get a cool rotate effect when you move the camera.

* Note: I can't seem to find the author of the following paragraph (??)

However, you are on the right track to creating a better looking starfield.
Create a large sphere, make it black in color.  Make it BRIGHT.  Apply
the confetti.itx to it.  Give it the two colors to use to interpolate
all the different colors...give it a dark grey, and a light grey or white.
Read the texture doc for all the parameters in CONFETTI.ITX, and how to
control how many "stars" are rendered, and how their size is controlled.

### PANELS SPACESHIP

* Subject: Textures
* Date: Thu, 16 Dec 93 22:37:16 [45]
* From: greg.tsadilas@hofbbs.com

Imagine 2.9's DETHSTAR texture leaves much to be desired for my tastes.  Here's
a solution I came up with....use the RADWIND,TUBEWIND,RECTWIND
textures to create multicolored spaceship panels:

- Add a primitive sphere with it's default values.
- Apply the RADWIND texture
- Make these adjustments to the texture variables:
Column One     Two
      ____    ____
       1       210       *These params will gill give you panels that are
       3       210        randomly colored from the two color ranges defined
      60       210        in column two.
       0       190       *Play around with some of the variables to get the
       1       190        affect right for you.
       0       190
       0        -1
       0         0
--------------------------------------------

### BARK MARBLE STONE

* Subject: Textures
* Date: Thu, 16 Dec 93 22:37:16 [45]
* From: greg.tsadilas@hofbbs.com

BARK, MOUNTAIN RIVULETS, GRANITE, MARBLE EFFECTS
      -Use the WRINKLE texture for all these and more!

- Add default cylinder and CLOSE the TOP
- Select the top edges of the cylinder and MAKE SHARP
- Apply the WRINKLE texture and render.
    This will look like bark around the cylinder....play with the noise
    functions to adjust the look of the bark.

Now make these changes to the Texture:

Column One     Two
       ___     ___
       0.5     150      * This will look like the sides of a mountain around
       0.5     150        the Cylinder.  On the top of the cylinder it will
      10.0     150        look like granite.
       1.0      20      * When applied to organic object the vertical faces
       0.5      50        will have the rivulets, the horizontal faces will
       0.0      20        be granite-like.
       0.0       0
       1.0       0      * Try changing the first three variables in Column
			  one to 10,10,1 respectively.  The resulting look
			  will make the cylinder look like a core sample
			  around the cylinder, while the top of the cylinder
			  will have a marble-like quality.

### BUBBLE SOAP

* Subject: Soap 2.nd time.
* Date: 05 Jan 94 17:05:22 GMT [46]
* From: izi@scala.ping.dk (Soren Wind)

After i've got a few requests on the attributes for my Soap Bouble, here it
is... :

Make a Sphere.... "no matter what size but lets make it 50 :D"

COLOR  REFLECT  FILTER  SPECULAR
R 250    10      192      255
G 215    10      162      245
B 225    10      133      238

Dithering     Hardness    Roughness  Shiniess  Index of refraction
   0        245 (Or less)     0         0            1.08

Then Add a Pastella Texture.
With the following datas.

102.333374   100.00
  0.0          0.0
255.0        255
  0.0        180
100.0         80
  0.0        110
255.0          0.0
100.0          0.0

Now, try render it, and remember to put a object behind, and try to make
several copies, and make a complet BoubleBath :D

### TRANSPORTER EFFECTS LOGO ELECTRICITY

* Subject: Electric Field effect
* Date: Sun, 9 Jan 94 11:09:53 GMT [46]
* From: Andrew Nunn <apn@moby.demon.co.uk>

Here's an interesting texture effect to try.
1. Create an object (in my case a logo)
2. Set the Filter Attribute to 255,255,255.
3. Set the Bright attribute.
4. Add the 2.9 Worm Vein Texture, set the vein colour to your choice eg
   electric blue,and adjust the Filter setting to 0,0,0.
5. Create a second version of the object with the texture axis moved (in the
   logo case say from one end of the logo to the other).
6. Create a short animation morphing the two versions.

Further, it is then possible to morph the object filter setting to 0,0,0
and the texture filter setting to 255,255,255, creating a transporter
beam materialization effect. However for this to work fully,the Bright
setting must be removed at some point.

### FIRE FLAMES

* Subject: Re: Lens Flare texture
* Date: Wed, 12 Jan 94 20:06:07 PST [46]
* From: ua197@freenet.victoria.bc.ca (Christopher Stewart)

     For the person that was wondering if Imagine can do re-entry flames.
Try the fireball texture, a teardrop and some fractel noise. Morphing the
object's shape and textures while entering an apmosphere (you'll run into
the fog/transparency bug here) looks pretty good at a distance.

### CAMERA SIZES FOCUS LENS

* Subject: Re: Camera sizes
* Date: Mon, 17 Jan 94 0:43:15 EST [46]
* From: tmarshal@st6000.sct.edu (Tyrone Marshall)

* Note: The next paragraph was written by greg.tsadilas@hofbbs.com

>   If you are using Imadine 2.9 all you have to do is set the Camera's
> POV (Point Of View) to the desired focal length.  Imagine 2.9's is 90 for
> default.  But 45 equates to a 35mm camera, and 65 is a zoom lense. Human
> vision is around 55.  Of course if you are using Imagine 2.0 you can't use
> this.

### CLOUDS

* Subject: 33300 lines of drivvel from Scott...
* Date: Tue, 1 Feb 1994 09:45:54 -0600 (CST) [46]
* From: kirvan@SSESCO.com

I use FilNoiz2.itx (Filter Noize 2).  Apply the texture to a white ground,
set the texture's filter values to whites and blacks (doesn't really matter
which ones you set to what), mess with the noise parameters to try and get
the shapes you want, and set the scaling parameters to something big and
more equivalent than the defaults (maybe 200x200x200).  Put the textured
ground up in the sky and tweek the numbers until it looks like what you
want.  This won't give you cumulo nimbus type clouds, but will do a light
whispy, hazy, overcast look. (to do smoke, copy the cloud-plane, and paste
the copy a little below (underneath) the cloud-plane.  Now change the color
of the lower plane to a gray and you got smoke).

### WATER DROPS

* Subject: 33300 lines of drivvel from Scott...
* Date: Tue, 1 Feb 1994 09:45:54 -0600 (CST) [46]
* From: kirvan@SSESCO.com

Here's how I've done this - first, though, an explanation of why water drops
won't work that well as a texture:  The refraction effects that water drops
have on the surface of a pop can is dependant on the actual thickness of the
drop.  A texture doesn't actually add any thickness or bumps with real depth
to a surface, it only changes the way the surface looks, giving the
impression of bumpiness.

Ok, how to do it:  take your pop can, copy and paste it in the same spot,
and scale one up just a tiny bit bigger than the other.  Brush map the
can's label onto the smaller of the two cans (also set up the can's
spec/hard).  The bigger of the two cans is going to be the water droplets.
Make that can totally  transparent, set the index of refraction to that of
water (1.5 I think - I don't have space in my head for things I can look up
when I need them), and give it a white specularity and hardness of about
200 to 255.  Add DinoSkin to the larger can, set the scaling to make very
small drops, reduce the values in the noise functions so the bumps won't be
kinked up so much, put a negative number in one of the color boxes (to turn
off the coloring), and set the dispersion to a small number (like .1, maybe
even less) to turn off most of the bumps.  You may want to experiment with
the DinoSkin parameters on a non-transparent can to get the size /
distribution you want.  To finish off the look, make (actually build
objects) several small water drops and stick them on the can.  The drops
you build should be the bigger water droplets on your pop can.  That way
the errors in the DinoSkin refraction are not seen because your eye is
attracted to the bigger drops.  You can also animate the bigger drops for
more effect.

### WRINKLES FOLDS DRAPES

* Subject: 33300 lines of drivvel from Scott...
* Date: Tue, 1 Feb 1994 09:45:54 -0600 (CST) [46]
* From: kirvan@SSESCO.com

I've worked on some Wrinkle textures (they will probably be released with
V3.0), but haven't been to impressed with how they look.  I've had the
best luck actually modeling the draped/wrinkle look by actually pushing
points around.  Let's see if I can explain the process I use to do a
draped table cloth.... Start out with the flat object (like a flat piece
of fabric for a table cloth).  Set up the part of the fabric that is
touching the table with enough faces around the table edge to get the
phong shading to look correct after you bend the cloth.  The parts of
the table cloth that hang down the sides of the tabel have to be built
so that every other triangle that hangs down has one edge alligned to the
edge of the table and that edge's opposite point on the outside edge of
the cloth (every other triangle points out like teeth from the table to
the edge of the cloth).  The remaining triangles around the edge are
inverted to those just mentioned (like teeth pointing from the cloth's
edge in towards the table).  (Sorry, this isn't really that difficult,
it's just tough to explain in text.)  Now pick all the points that make
up the edge of the cloth and using move and scale, drag them down and
under the table like they would be if hanging from the table top.
Use Hide points to make all the table top points go away (you should
only have the points that make up the edge of the cloth after this).
Using Drag Points, just randomly push the points that make up the
bottom edge of the table cloth around to make folds and wrinkles.
That's it - render it.  Should give you some ideas for doing more
detailed wrinkles and for animating them (using states - states now
has spline interpolated morphing - looks great, REALLY great!).

### SPONGE

* Subject: 33300 lines of drivvel from Scott...
* Date: Tue, 1 Feb 1994 09:45:54 -0600 (CST) [46]
* From: kirvan@SSESCO.com

Try Peened.itx with coloring shut off and the Bump Adjust cranked way up.

### HELMET SHINY COPPER

* Subject: 33300 lines of drivvel from Scott...
* Date: Tue, 1 Feb 1994 09:45:54 -0600 (CST) [46]
* From: kirvan@SSESCO.com

Here's a cool finish for the helmet:  Use a brush mapped pattern as a bump
map for the patterns on the helmet. Apply the same brush again as a color
map.  Apply Antique.itx with the texture parameters set to do shiny copper
and crank up the noise value a bit to get a good grainy look - This gives
a really good 'used' look to the objects.

### FOOTBALL LEATHER

* Subject: 33300 lines of drivvel from Scott...
* Date: Tue, 1 Feb 1994 09:45:54 -0600 (CST) [46]
* From: kirvan@SSESCO.com

To whomever was having trouble doing a football:
Try the textures, Pebbled and/or Leather.

### LATTICIZE LATTICES WIREFRAME

* Subject: RE: textures
* Date: Thu, 17 Feb 1994 11:20:15 +0000 (GMT) [47]
* From: "Alex..." <eezer@dcs.warwick.ac.uk>

Ahh, well, this is really easy to do in Imagine 2.9.  Use the
Lattice function (under the New Stuff menu) and enter a value of
about -0.05 in the requester.  This will turn your entire
object into a wireframe, made up form narrow tubes.

* Subject: Wireframe
* Date: Fri, 18 Feb 94 01:51:51 [47]
* From: greg.tsadilas@hofbbs.com

Here's another way for creating the wire-frame with square or rectangular
wireframe openings.

Set the objects filter values to 255, 255, 255.  Apply one of the Death Star
family of textures to the object.  Set the Bevel Filter value to 0 (zero).

What you get is the bevel portion of the texture showing only.  Voila!
"Wireframe".   Of course, you may or may not want to adjust the bevel width and
the bevel slope.

### BUBBLE SOAP

* Subject: Re: Renderings
* Date: Thu, 24 Mar 1994 07:46:55 -0700 [48]
* From: Lesk@cc.snow.edu (Lesk)

Soren Wind put the basis of this buble out here on the IML and this is how
I used them (Thanks Soren).

Color     Reflect        Filter       Specular
R 250      10             192           255
G 215      10             162           245
B 255      10             133           238

Dithering Hardness Roughness Shiness Index of refraction
   0      245 less   0          0            1.08

Than add pastella with the following settings
102.333374              100.00
0.0                     0.0
255.0                   255
0.0                     180
100.0                   80
0.0                     110
255.0                   0.0
100.0                   0.0

### GOLD METALS

* Subject: Re: GOLD attributes
* Date: Wed, 6 Apr 94 13:32:00 EDT [49]
* From: jgoldman@acs.bu.edu (Jeffrey Goldman)

As for what the base attributes should be for your object,
just use a goldish/yellow color (try 255,255,90), a reflection of a
lighter gold/yellow (try 255,255,200), no filter, a specular color of
yellowish white try (255,255,220), and a high degree of hardness
(around 200).  I'm doing this all from memory so I can't guarantee the
results with these attribute values. But, remember that the illusion
is in the global reflection map (as assigned in the globals bar of the
stage editor).

### GLASS

* Subject: Re: A Transparent Question
* Date: Mon, 11 Apr 94 16:44:52 EDT [49]
* From: jgoldman@acs.bu.edu (Jeffrey Goldman)

	Well, if you figure glass is transparent then I'd say that the
background has a lot to do with it. Glass always looks terrible
against a black background. Try it against the old checkerboard floor
or something...
	My glass is never always the same (it always depends on the
use), but try the attribute settings:

	Color           255,255,255
	Filter          220,220,220
	Reflect         30,30,30    <---(Play with this)
	Specular        255,255,255
	Hardness        255
	IofRef          1.5

### SPACESHIPS BORG WIREFRAME LATTICE

* Subject: RE: C= and the Borg
* Date: Tue, 12 Apr 94 15:07:00 PDT [49]
* From: Stethem Ted <TedS@ms70.nuwes.sea06.navy.mil>

  The Borg ship is generally in the shape of a cube but it looks like layer
after layer of tangled pipes and tubing.  Have you thought about using the
Latticize function in V2.9 to do this?  Take a primitive plane, say 50x50,
and extrude it by 50 with 50 sections. This gives you a cube with 50x50x50
faces.  Use Latticize with a fairly small value like .05. Make another cube
with 20x20x20 faces, Latticize and scale it so it is slightly larger than
the previous one.  Do this for several cubes with a different number of
faces.  The other thing you can do it give it the more tangled, random look
of the Borg ship is to remove edges/lines in the cube before Latticizing and
rotating various layers by 90 degrees in the X, Y and/or Z axis.  You can
also add different brushmaps and textures to the differenct layers.   I
think this will create a more convincing Borg ship, although it may end up
to be a huge object in memory size.

### FORMS EDITOR THUMBS

* Subject: Re: Forms editor and hearts... (long)
* Date: Wed, 13 Apr 94 0:13:09 EDT [49]
* From: jgoldman@acs.bu.edu (Jeffrey Goldman)

	A Basic Form Example-

	Take a simple example, your thumb. Treat your thumb as if it
were an object on an axis. Say that the Z-axis runs from the base of
your thumb to the tip. The X-axis runs across the top of your thumb.
The Y-axis goes through your thumb. In other words, if your thumb were
an Imagine object it would be oriented as if you were viewing a
painting with your thumb out in front of you...
	First trace the right profile of your thumb. If you want to do
this the extra step way, lay your thumb down on a piece of paper and
trace it for all three views (you'll have troubles with the top view,
so just eye it.). Then, just copy what you see on paper to the screen.
Do this for all three views. What you get is a pretty crude looking
thumb. To get a better looking thumb you have to go in and edit
individual cross-sections. But first...
	Remember that if the object is solid you must have a totally
enclosed profile (the endpoints are separated normally. You have to
place the endpoint points at the same location. An easy way to do this
is to select the cursor lock and lock the endpoints to similar grid
locations).
	In the case of the heart, do the same thing as the thumb...

	What the Forms Editor Really Does-

	It's important to understand what exactly you're doing when
manipulating points in the forms editor, so go back to a simple sphere
(new object and new defaults). Turn on the solid wireframe option and
view the sphere object from the front. Notice how many points are on
your front view profile. You will see that they equal the number of
vertical sections in the wireframe object divided by two. Every point
in an editor view has a twin on the opposite side of the object
(except for the top view). If you add a point in the front view you
will notice that two points are actually added. One on one side of the
profile, and one on the other side. When altering an object's profile
you actually directly manipulate a specific point, but because of the
forms editor's nature it changes other points around it to tween and
smooth the change.
	
	Editing Individual Cross-Sections-      

	Look at a forms object like several horizontal cross-sections
(which are circular by default) connected like skin. Think of the top
view as the cross-section editor. By default only one cross-section
can be manipulated, the top one. It can be considered a controlling,
or key, cross-section. Because it is the only key cross-section
defined on the object then whatever you change will affect every
cross-section below it.
	To have ultimate control of the individual cross-sections you
have to define the cross-section you want to manipulate as a key
cross-section. You do this by selecting '+ KEY' and selecting the
cross-section you want to manipulate (in the front or right view).
When you perform this operation (or 'Select') Imagine will display
which cross-sections have been defined as key cross-sections in red.
At first, you will notice that only the top cross-section is
highlighted in red because no others have been selected to act as key
cross-sections. Make the middle cross-section a key cross-section.
The object now has two cross-sections which can be separately
manipulated as keys. Use 'Select' to pick the cross-section you want
to alter.
	Think of key cross-sections as animation frames. In an
animation you can set an initial postion for an object on one frame
and a final position on another frame. These two frames are now key
frames. When the animation is generated the object's position will
tween between the two key frames. The same process occurs with key
cross-sections.  All non-key cross-sections tween between key
cross-sections.
	Take an example of a salt shaker with a circular top and
square bottom. If you create a circular key cross-section as the top
of the shaker and a square key cross-section for the bottom all the
cross-sections between the top and bottom will blend to form a smooth
transition from cirle to square.
	So now you know how to alter the individual cross-sections.
Remember that you can also delete key key cross-sections. Just be sure
you select the appropriate cross-section. BTW, Imagine tells you waht
cross-section you're manipulating in the upper menu bar. Also,
remember that Imagine's cross-section tween goes from key to key in a
downward order. If there is no key cross-section at the object's base
Imagine will use the next highest defined key section.

	So Where do the Front/Right Views Come into Play?-

	If the top editor edits individual cross-sections then the
front and side view editors locate the cross-sections in space. The
default sphere has all the cross-sections parallel to each other. You
can change the orientation of a cross-section (so that it is not
parallel to the ground) by moving points on the front and right views.
Basically, the front and side view alter an objects overall profile
shape.
	This particular explanation only really works with the default
sphere, but the results can be translated to any object. The front
view controls all the points along the object's x-axis. The side view
controls all the points along the object's y-axis. This effectively
splits the sphere into four sections; a front profile, back profile,
left profile, and right profile.
	In the front view select the right-most point and you'll
notice that it's twin point will be highlighted on the left. These two
points define the right-most and left-most points of one
cross-section. Specifically, these two points represent two outermost
x-axis points on the middle cross-section.
	Similarly, the same two points in the side view control the
farthest points on the y-axis of the middle cross-section.
	You will find that by altering these you alter the orientation
of the cross-section. If you raise the right-most point in the front
view and lower the left-most point the middle cross-section now tilts.

	What Does It All Mean?-

	It's tough to explain exactly how the forms editor operates,
and in particular what alters what exactly. So my greatest advice is
to experiment.
	The easiest way to create object was illustrated in the first
section. Create profiles for the object you want to create. If you
need better form edit the individual cross-section as if you were
manipulating spars on and airplane wing or bulkheads on a boat.
	I can tell you now that only experience can show you what will
go wrong, and believe me something will go wrong. I can only say, keep
things simple. You probably won't understand this now, but try and
keep cross-sections relatively parallel to each other. If this means
adding more cross-sections then do it. You'll find that some really
complex things can't be done with small numbers of cross-sections, and
it's important to realize when you need more...

### LATTICE PIPES LAYERS

* Subject: Re: c= and the
* Date: Wed, 13 Apr 94 06:31:08 [49]
* From: greg.tsadilas@hofbbs.com

Here's a way to add many layers of lattice or piping work with very little
memory...

Apply the DETHSTAR texture to the cube object.  Make the cube 100% filtered.
In the DETHSTAR texture requestor make the BEVEL FILTER 0 (ZERO).  The result
will be a lattice in the shape of the cube.   Several imbedded cubes with
varying DETHSTAR parameters would make a good base to add attitional object
details to.

----- START FAQ

* Subject: IML Frequently Asked Questions
* Date: April 18, 1994 Monday [IML-FAQ #5]
* From: Michael B. Comet, Steve Mund, Mark Oldfield, Dave Wickard

### GLASS

	You can use the following Attribute setting for a default glass:

		   RED  GREEN  BLUE   VALUE
    COLOR          0    0      0      *
    REFLECT        0    0      0      *
    FILTER         255  255    255    *
    SPECULAR       255  255    255    *
    DITHERING      *    *      *      255
    HARDNESS       *    *      *      255
    ROUGHNESS      *    *      *      0
    SHININESS      *    *      *      0     (Very important see below!)

    PHONG = ON
    INDEX = 1.50
    FOG LENGTH = 0.00

    This should give you glass.

    One thing many people get confused by is:

	 1) Shininess must be set to ZERO.  If you set this to anything
	    but 0, the FILTER setting will not work.  This is just the
	    way Imagine works since FILTER usage assumes shininess
	    automatically.
	 2) No background.  To get glass, you need surroundings.  If you
	    render a glass cup on a pure black screen, you'll probably
	    just see the highlights.  Adding global colors for Scanline
	    and Ray Trace will give your object something to refract.
	 3) Ray Trace.  To get refraction of surrounding objects
	    exactly, you need to Trace, though scanline WILL approximate
	    refractivity.

### REFRACTION INDEX

	 (All items except Vacuum are in alphabetical order)
	 (STP = Standard Temperature and Pressure)

	 MATERIAL                      Index
	 -------------------------------------
	 Vacuum ...................... 1.00000 (exactly)

	 Air (STP).................... 1.00029
	 Acetone ..................... 1.36
	 Alcohol ..................... 1.329
	 Amorphous Selenium .......... 2.92
	 Calspar1 .................... 1.66
	 Calspar2 .................... 1.486
	 Carbon Disulfide ............ 1.63
	 Chromium Oxide .............. 2.705
	 Copper Oxide ................ 2.705
	 Crown Glass ................. 1.52
	 Crystal ..................... 2.00
	 Diamond ..................... 2.417
	 Emerald ..................... 1.57
	 Ethyl Alcohol ............... 1.36
	 Flourite .................... 1.434
	 Fused Quartz ................ 1.46
	 Heaviest Flint Glass ........ 1.89
	 Heavy Flint Glass ........... 1.65
	 Glass ....................... 1.5
	 Ice ......................... 1.309
	 Iodine Crystal .............. 3.34
	 Lapis Lazuli ................ 1.61
	 Light Flint Glass ........... 1.575
	 Liquid Carbon Dioxide ....... 1.20
	 Polystyrene ................. 1.55
	 Quartz 1 .................... 1.644
	 Quartz 2 .................... 1.553
	 Ruby ........................ 1.77
	 Sapphire .................... 1.77
	 Sodium Chloride (Salt) 1 .... 1.544
	 Sodium Chloride (Salt) 2 .... 1.644
	 Sugar Solution (30%) ........ 1.38
	 Sugar Solution (80%) ........ 1.49
	 Topaz ....................... 1.61
	 Water (20 C) ................ 1.333
	 Zinc Crown Glass ............ 1.517

### MIRRORS

	The trick with mirrors (or especially chrome-like objects) is
not setting the attributes of the mirror correctly, but making sure that
the environment is set up so something will be reflected into the
camera.

	If a mirror is TOO reflective, the mirror can actually become
invisible!  This is because the mirror's own flat glass/metal flat
coloring is overwhelmed by all the reflected light.  You see a PERFECT
reflected image, so the object itself isn't shown.  This is especially
true with flat mirrors.

	Some attributes that give a nice mirror polish:

		       RED  GREEN  BLUE   VALUE
	COLOR          150  150    150    *
	REFLECT        200  200    210    *     (a bit of a blue tint)
	FILTER         0    0      0      *
	SPECULAR       255  255    255    *
	DITHERING      *    *      *      255
	HARDNESS       *    *      *      255
	ROUGHNESS      *    *      *      0
	SHININESS      *    *      *      0

	PHONG = ON
	INDEX = 1.00
	FOG LENGTH = 0.00

### METALS GOLD

	One thing you can do to make your objects look more like metal
is to give them a specular setting close to the main color of the
object, but higher in intensity.  One mistake is to often make the
specular a pure white.  This makes objects look more like plastic than
metal.  For example, if you are trying to make gold, don't make the
specular pure white, but try a bright yellow or yellow/orange creame
color.

	Another problem is that many metals reflect the world.  For
example a chrome ball is pretty much just a shiny mirror.  Thus, if you
want to make realistic metals you will need to at least simulate
reflection. This can be done by adding a global reflect map, doing a
true ray trace or even just setting sky colors in the stage editor.


	You can use the following Attribute setting for a default gold:

		       RED  GREEN  BLUE   VALUE
	COLOR          205  205    80     *
	REFLECT        180  160    125    *
	FILTER         0    0      0      *
	SPECULAR       255  255    160    *
	DITHERING      *    *      *      255
	HARDNESS       *    *      *      255
	ROUGHNESS      *    *      *      0
	SHININESS      *    *      *      0

	PHONG = ON
	INDEX = 1.00
	FOG LENGTH = 0.00

	This should give you something close to gold.  Note that the
reflect values are fairly high.  You may wish to lower them to see how
it would look if you don't have anything to reflect etc...

### BUBBLE SOAP

    COLOR  REFLECT  FILTER  SPECULAR
    R 250    10      192      255
    G 215    10      162      245
    B 225    10      133      238

    Dithering     Hardness    Roughness  Shiniess  Index of refraction
	0        245 (Or less)     0         0            1.08

    Then Add a Pastella Texture with the following data in each column:

    102.333374   100.00
      0.0          0.0
    255.0        255
      0.0        180
    100.0         80
      0.0        110
    255.0          0.0
    100.0          0.0

Now, try render it, and remember to put a object behind, and try to make
several copies, and make a complete bubble bath!

### PANELS SPACESHIP

	This uses the RADWIND, TUBEWIND, or RECTWIND textures to create
multicolored spaceship panels:

    - Add a primitive sphere with it's default values.
    - Apply the RADWIND texture (or other 2 textures depending on the
      shape of your object)
    - Make these adjustments to the texture variables:

Column One     Two
      ____    ____
       1       210       *These params will will give you panels that
       3       210        are randomly colored from the two color ranges
      60       210        defined in column two.
       0       190       *Play around with some of the variables to get
       1       190        the effect right for you.
       0       190
       0        -1
       0         0

### ORGANIC BARK STONE

	This uses the WRINKLE texture.

    - Add default cylinder and CLOSE the TOP
    - Select the top edges of the cylinder and MAKE SHARP
    - Apply the WRINKLE texture and render.
	This will look like bark around the cylinder....play with the
	noise functions to adjust the look of the bark.

Now make these changes to the Texture:

Column One     Two
       ___     ___
       0.5     150      * This will look like the sides of a mountain
       0.5     150        around the Cylinder.  On the top of the
      10.0     150        cylinder it will look like granite.
       1.0      20      * When applied to organic objects the vertical
       0.5      50        faces will have the rivulets, the horizontal
       0.0      20        faces will be granite-like.
       0.0       0      * Try changing the first three variables in
       1.0       0        Column one to 10,10,1 respectively.  The
			  resulting look will make the cylinder look
			  like a core sample around the cylinder, while
			  the top of the cylinder will have a marble
			  like quality.

----- END FAQ

### FOG

* Subject: Imagine v3.0 bug
* Date: Tue, 26 Apr 94 23:01:59 [49]
* From: greg.tsadilas@hofbbs.com

They aren't really broke.  You need to have a backdrop OTHER than the default
worl background.  A fog object in 3.0 only appears when it's in front of
something, or consumes something.  If you want to see the fog shape itself, it
must be rendered or ray-traced in front of some other object in the backdround.
This may or may not be a bug...depending on the reasons for the change.

### LIGHTS TEXTURES GLOBAL EFFECTS

* Subject: Imagine v3.0 bug
* Date: Tue, 26 Apr 94 23:01:59 [49]
* From: greg.tsadilas@hofbbs.com

 > There are several new "LITES" textures, but they are not documented
 > in the

Apply the texture to a light object.  The resulting shadows will be the type of
the texture you select.

 > The EFFECTS.TXT file is missing completely from the IMAGINE PC
 > disks!  There are a couple new effects and I also don't know how to use
 > these!

Ok....lensflare Global Effect.  Create a Light and select it's Lensflare Check
box.  Apply the Global effect to the GLOBALS timeline.  Voila...lenseflare when
rendered. And it DOES animate very well.

HAZE global effects.  HAZE affects only BRIGHT objects.  Create a sphere, make
it bright.  Apply the HAZE effect to the GLOBALS timeline.  Render...get a
HAZE.

### ANTIALIASING

* Subject: Imagine v3.0 bug
* Date: Tue, 26 Apr 94 23:01:59 [49]
* From: greg.tsadilas@hofbbs.com

Yep...it will only look better in RAY-TRACE mode.  Yes, it _is_ slow.  Change
the number of rays that are cast from the Pref editor.  The default is 255 rays
per pixel.  Lower that untill you get a comfortable speed to quality ratio.

### INVERSE KINEMATICS BONES

* Subject: Imagine v3.0 bug
* Date: Tue, 26 Apr 94 23:01:59 [49]
* From: greg.tsadilas@hofbbs.com

The Menu options are in the states Menu.  They are FREEZE, RELEASE, RELEASE
ALL, and CONSTRAIN.   Create three spheresas such:

    O           O             O

Group them like this:  O          O----------O
then:                  O----------O----------O
		     Base       Joint        Tip

Be in object mode.  Select the BASE and FREEZE it. Play with that New Gadget
Box...pretty straight forward.  Do the same for the other two objects in order
to set their constraints.  RELEASE the Joint & Tip.  Select CONSTRAIN.
  Select the TIP while in object mode, move it, the Joint should act
accordingly.  I think the above steps are correct.  I have only played with it
so far.  Impulse has mentioned that they will be providing a supplemental text.

### TEXTURES LIGHTS EFFECTS

* Subject: RE:Imagine 3.0 Bug List
* Date: Wed, 27 Apr 94 05:12:00 UTC [49]
* From: d.kamalsky@genie.geis.com

  Fakely - simluate that cool effect you see with Oakly sunglasses!
  Terra - simulates basic landforms!
  BmpBrnch - soft-edged and bumbed vein like patterns or branches
  Hardwood - much more complex wood texture
  BeamMeUp - animated texture!!  you guessed it!
  DancSpark - animated texture! Dancing plasma spark

Here is a list of the "Lites" textures..
  Caustics
  Frnchwin
  Purphaze
  Softedge
  Strobe
  Venlite

The new EFFECTS..
  Sway
  Spike
  Baloon
  Global effects: Haze, and Lensflar

### SMOKE

* Subject: Nebular Texture
* Date: Sat, 30 Apr 1994 16:42:54 -0400 (EDT) [49]
* From: Andrew McDonald <kingb@echonyc.com>

I've just been playing with the Nebular texture to create a little
animated smoke. Works great, and I just thought some of you with 3.0
might make some use of this info.

Remember to render fog objects in front of a background object, and that
this texture will apply to the area bounded by the texture axis, not the
entire object. Scale the texture axis to affect the shape of the fog.

General Notes:

Noise 1 seems to affect the quality of the swirls. Higher
numbers adjust the thickness and reduce the transparency. Noise 2 affects
color transitions, color intensity of nebular color as set in texture
requester, and color mixture, or grain. Grain appears as a very
pointillated surface, as if there are thousands of dots of color rather
than a smooth gradation or defined boundaries between object and nebula
colors. Higher numbers of Noise 2 intensify the nebular color and increase
grain.

Fog length and the 'T' value work together to determine amount and
density of the fog appearing on the object. For stills I would set the 'T'
value between .6 and .8, object fog length at .1, and adjust the 'Fog
Length at T' to get the right density of fog. I would use the 'T' value
combined with some of the noise values to create a fluctuating fog, or
even to morph from a dense fog to one very nearly dissipated.


A nice, swirly smoke might use the following attributes in the nebular
texture requester. I used these on a sphere primitive with diameter of
300, so use that number as a reference to fog length.

Object color:
R:150
G:150
B:175

Object Fog length:
.1

Nebular attributes:
Fog Length at T:500
T:.8
Noise 1 Magnitude:5.0
Noise 1 Velocity:1.0
Noise 2 Magnitude:.2
Noise 2 Velocity:10.0
R:150
G:100
B:225


The texture axis forms a square completely inside the sphere object,
whose corners touch the inside surface of the sphere.

### STATES ROBOT BONES IK

* Subject: FREEZE, RELEASE, CONSTRAIN
* Date: Tue, 3 May 94 17:49:24 -0700 [50]
* From: etotman@gort.ucsd.edu (Ed Totman)

As GreG already posted, these options in the states menu work fine for
creating linked, jointed object movement such as a robot arm.  You
don^t need faces or points to try it out.  Do this:

Detail editor - front view

1. create an axis
2. copy and move +Z <up the screen)
3. do 2. again so that you have 3 axes in a line
4. select the bottom two axes, group them
5. select the top two axes, group them
6. states menu, select CONSTRAIN
7. mode menu, select PICK OBJECTS
8. pick the top axis, press m for move

9. HAVE FUN!  try out the different freeze options, play with it

If you grouped the axes as I listed, then the top axis is the parent
and nothing will happen if you try to move it.  So move the middle or
bottom axis instead.

### SOLAR CORONA

* Subject: RE: Solar corona and anti-aliasing
* Date: Fri, 6 May 1994 16:30:07 -0500 (CDT) [50]
* From: kirvan@SSESCO.com

The discussion about how to do a solor corona got me curious so I quickly
threw this together.  This is a pretty good example of Imagine 3.0's (cool)
new fog textures.  Move the texture axes and rotate the outer object to get
them to animate.

Red Giant with Corona (from the kitchen of Scott Kirvan)
============
Primative Sphere:   Size: (50, 50, 50)
Attributes:         Bright
Texture:            Fireball
	Size:       (86, 86, 86)
	Parameters:   0.0         0.0
		    255.0         0.0
		    255.0         0.0
		    100.0         0.0
		    200.0         0.0
		     30.0         0.0
		      0.0         0.0
		      0.4         0.0

Primative Sphere:   Size: (75, 75, 75)
Attributes:         Color: (255, 85, 0)
		    Fog Length = 0.01
Texture:            Nebula  (Fog Texture)
	Size:       (4.5, 4.5, 4.5)
	Parameters:   325.0       0.0
		      1.0         0.0
		      0.0         0.0
		      5.0         0.0
		      0.2         0.0
		      1.0       255.0
		      1.0       255.0
		      0.0       100.0

Texture:            Ghost  (Fog Texture)
	Parameters: 1200.0        0.0
		      1.0         0.0
		      0.0         0.0
		      0.0         0.0
		      0.0         0.0
		      0.0         0.0
		      0.0         0.0
		      0.0         0.0

### BONES

* Subject: My bones trouble
* Date: Fri, 13 May 1994 16:19:34 -0700 [50]
* From: Lesk@cc.snow.edu (Lesk)

>ok I am going to be as consistant as I can and for menu items I will put it
>in the form of menu->selection->selection1 and for requesters that ask for
>input I will just say what needs to go in.
>
>Detail editor:
>add->primitive->tube
>                Radius = 30
>                Height = 300
>                circ sec = 12
>                vitr sec = 3
>        close both bottom and top.
>
>I like to work in the front view of the four.
>
>
>        ......
>        ||||||  top section             note that when I refer to a
>        ......                          section that means the points
>        ||||||  mid section             above and below are selected
>        ......
>        ||||||  base section
>        ......
>
>                                        for example the top section is
>
>                                                 ......
>                                                 ||||||
>                                                 ......  <- these points used
>                                                           twice once for top
>                                                           and once for mid
>
>
>
>
>f1 select tube
>mode->pickfaces
>mode->method->drag box
>shift select top section (points above and below)
>        function->make->makesubgroup
>        enter tip1
>        deselect faces
>shift select mid section (all points above and below mid faces)
>        function->make->makesubgroup
>        enter mid1
>        deselect faces
>shift select base section
>        function->make->makesubgroup
>        enter base1
>        deselect faces
>shift select top and mid section
>        function->make->makesubgroup
>        enter midall
>        deslect faces
>shift select top, mid, and base
>        function->make->makesubgroup
>        enter baseall
>        deselect faces
>
>If you think about this for a minute it will all make sense especially
>concerning how this thing is going to bend.
>OK next phase.
>
>mode->pick groups
>        (and go back to pick method points)
>object->add->axis
>        select tha axis
>        select move
>        move axis to center of tip1 (top section)
>        deslect axis
>object->add->axis
>        select axis
>        select move
>        move axis to center of mid1 (mid section)
>        deselect axis
>object->add->axis
>        select axis
>        select move
>        move axis to center of base1 (mid section)
>        deselect axis
>
>Now comes the tricky part the order here is very important and you may have to
>try this a few times until it works just right.
>
>use the find requester and choose the axis in the base section. doing it this
>way should make make the order correct.
>
>mode->pickobjects
>
>select axis in tip1
>        shift select axis in mid1
>        states->group
>        deselect
>select axis in mid1
>        shift select axis in base1
>        states->group
>        deselect
>select axis in base1
>        shift select object axis
>        states->group
>        deselect
>
>go back to group mode and check this out, and make very certain that the
>order is right. click on the tip axis and it should be the only one blue.
>deslect it and click on the axis in the mid section BOTH it and tip axis
>should be highlighted. deslect them and click on the axis in base1 and all
>three axis should turn blue. now the hard part! go back to pick object mode
>and then click on the object axis. it should be blue with a yellow line
>connecting it to the base1 axis.
>        If none of the above is correct all progress is at a halt! go back
>remove all the groups and try it again this order is IMPORTANT!
>
>now having that done correctly we can move on make sure nothing is selected
>and go back to pick group mode.
>
>select axis in tip1
>        States->bones->subgroups
>                bigsub: browse->tip1
>                smallsub: browse->tip1
>        OK
>select axis in mid1
>        States->bones->subgroups
>                bigsub: browse->midall
>                smallsub: browse->mid1
>        OK
>select axis in base1
>        States->bones->subgroups
>                bigsub: browse->baseall
>                smallsub: browse->base1
>        OK
>
>SAVE THAT SUCKER NOW!
>        If you think about this it really makes sense what has happened at
>this point.
>
>
>States->states
>        create
>        default
>        select buttons shape and grouping, the book says this will be the
>        only place you need to have this.
>        OK
>States->states
>        create
>        start
>        OK
>deselect all
>select axis tip1 and rotate in the x 30 degrees.
>space bar
>select entire object
>states->bones->update
>states->states
>        create
>        bendtip1
>        OK
>select axis in tip1 and rotate another 30 degrees in x.
>deslect all
>select axis in mid1 and rotate it in x 30 degrees.
>select entire object
>states->bones->update
>states->states->create
>        midbend
>        OK
>deslect all
>select axis in tip and rotate 30 degrees in x.
>select axis in mid and rotate 30 degrees in x.
>select axis in base and rotate 30 degrees in x.
>select entire object
>states->bones->update
>states->states->create
>        basebend
>        OK
>
>SAVE THIS AGAIN! to much work to loose....
>
>States->stateanim->make
>OK
>start
>15
>bendtip
>15
>midbend
>15
>basebend
>15
>start
>0
>full objects
>states->stateanim->play

* Subject: Re: Lesk's Bones example
* Date: Sun, 15 May 1994 11:40:22 -0700 [50]
* From: Lesk@cc.snow.edu (Lesk)

The object at this point is to set the proper order

mode->pickobjects

select axis in tip1
	shift select axis in mid1
	states->group
	deselect
select axis in mid1
	shift select axis in base1
	states->group
	deselect
select axis in base1
	shift select object axis
	states->group
	deselect

>However, you got it backwards ;^)  When you're grouping axes, you state
>that you have to select tip1 + mid1, mid1+base1...  It's the other way
>around.  You need to group the object to Base1, then base1 to mid1, then
>mid1 to tip1.  Only then do you get the proper heirarchy.
> Paul

### DEPTH-OF-FIELD DOF

* Subject: Depth of Field is cool
* Date: Thu, 19 May 1994 08:09:14 -0700 (PDT) [50]
* From: Ed Totman <etotman@gort.ucsd.edu>

Try DOF.  Neat effect even though the text file on it is somewhat complex.
Add an actor bar to the camera in the action editor.  Use these settings:

Y size is DOF
Aperture size (DOF): set to 2 or 3  (larger numbers = longer render times)
Ap size is actual size
Eye seperation is screen width multiplier  (may be used only for stereo)

I like to have the camera close to the ground with an object nearby,
with lots of background objects.

### PISTON CYLINDER IK STATES

* Subject: Pffffft...
* Date: Fri, 27 May 1994 18:02:37 -0500 (CDT) [50]
* From: kirvan@SSESCO.com

Add an axis and move it to the edge of your work area - this will be a
parent axis for the group you are about to make.  Add a primative disk.
Add another axis and put it on the periphery of the disk (this will be the
pivot point for the cylinder).  Add a tube (piston), scale it down, and
move and rotate it to the right (posative X) side of the disk you already
added.

Now group these all together - parent axis to disk, disk to pivot axis,
pivot axis to piston.

Now you have to set up the constraints by freezing parts of this group.
Freeze the parent axis in X,Y,and Z world position and rotation.  Freeze
the disk in X and Z world rotation (you can still rotate it around Y).
Freeze the piston in X,Y and Z world rotation and in Y and Z world
position (the piston can still move in X).

Now, turn on constraints. Switch to object mode, and rotate the disk around
Y - voila - you should get the piston moving properly.  Now use states to
come up with tween positions (the transformation requester can be used to
get the rotation angle precise).

The group needs the parent axis because the parent object is automatically
frozen, and I don't think you can rotate it.  Also, you will have to create
a lot of tweens, because the constraint info isn't used in animation, and
the piston will take short cuts between key frames.

### PARTICLES PINNATE

* Subject: Re: Particles Question / Help
* Date: Sat, 28 May 1994 12:36:01 -0700 (PDT) [50]
* From: "Randy R. Wall" <rrw@ecst.csuchico.edu>

The actual particle effect worked great though! all the shperes fell off
the logo making the logo fall apart and then they hit the ground and
bounce...I set the Elasticity to 50 which caused them to bounce when they
hit the ground which was set at 0...you also should remember to set the
"time to terminal Z and H velosity to the amount of frames you wish for
the effect to take place..these control the amount of frames it takes for
the effect to take its full effect..at least as far as your particle
distribution is concerned. I used Delayed/bounce and set the travel
distance to 500 as my logo was that high above the ground..you would want
100 for what you are talking about.. hope this helps you out a bit..all
of the other settings are at your discretion...

### SHELLS SNAIL

* Subject: Re: 3d sea-shell
* Date: Mon, 30 May 1994 16:01:46 -0700 (PDT) [50]
* From: Jeremy White <jwhite@efn.org>

This is how I made a 3-d snail shell.

1.)  Create a spiral path
     a.)  Add an axis with a point in the x direction.
		 z
		 |
		 y---x                    . <-point
     b.)  Extrude to a VERY small distance along the y axis, while
	  scaling up and rotating several multiples of 360 degrees.

	  This should give you a spiral path, try playing around with how
	  much you scale and rotate the extrusion.

3.)  Create an extude template
     a.)  Create a disk primative
     b.)  Delete the center point.

      (I also made an edge flat, so that I could overlap the shell rings
       better.)

     c.)  Make sure that the y-axis is pointing up through the disk (x
       and z to the sides of the disk)

4.)  Extrude the disk along the path (1) (Scale it bigger through the
	  extrusion if you desire this effect.)

* Subject: Re: 3d sea-shell
* Date: Wed, 1 Jun 1994 00:40:11 +1000 (EST) [50]
* From: Nikola Vukovljak <nvukovlj@extro.ucc.su.OZ.AU>

Add a primitive tube. Accept the defaults. Go into pick points mode and
delete the top row of points.

Then, move the axis(only)  by 50 units in X direction only. Then scale the
object in x by 1.5x.

Extrude the object as following. To length 1-10 (or more, it is up to you).
No. of sections - 36. Y-rotation 720 (or more), X scaling - .1.

This should give you the right shape. To make it 'bent' use Conform to
Sphere option.

### CLOUDS GROUND

* Subject: Mike's Clouds tutorial
* Date: Tue, 31 May 1994 11:24:46 -0700 (PDT) [50]
* From: Mike McCool <mikemcoo@efn.org>

Set the texture's filter values to whites and blacks (doesn't really matter
[NOTE:  the texture referred to is FilNoiz2 in the 2.9 textures]
which ones you set to what), mess with the noise parameters to try and get
the shapes you want, and set the scaling parameters to something big and
more equivalent than the defaults (maybe 200x200x200).  Put the textured
ground up in the sky and tweek the numbers until it looks like what you
want.  This won't give you cumulo nimbus type clouds, but will do a light
whispy, hazy, overcast look. (to do smoke, copy the cloud-plane, and paste
the copy a little below (underneath) the cloud-plane.  Now change the color
of the lower plane to a gray and you got smoke).

* Subject: Re: Simulating clouds
* Date: Tue, 31 May 94 21:16:40 GMT [50]
* From: Andrew Nunn <apn@moby.demon.co.uk>

I tried this recently: Generate some fractal clouds in Vista. With
the landscape flat, position the camera at the very centre. Render
four pictures with the camera positioned in the four corners ensuring
that the pitch is set the same in each. Then use ADPro (or whatever) to
composite the pictures together side by side in the same rotational
order as they were rendered. The joins do show (just) but could be
ironed out with a suitable Superbitmap capable paint program.

Back in Imagine, create a hemisphere by adding a Primitive sphere and
deleting half the points (z<0).Apply the large brush as a cylinder wrap
(wrap Z) and set the Bright attribute. Position all your other objects,
lights etc inside the dome. The effect is especially good if the camera
moves because the the clouds also move around. The Bright setting ensures=
that no shadows get cast on the sky!

### SOFT SHADOWS LIGHTS

* Subject: Soft Shadows  RE: Is it Possible?
* Date: Wed, 1 Jun 94 13:52:25 EDT [51]
* From: jgoldman@acs.bu.edu (Jeffrey Goldman)

	1. Figure out how many lightsources you will have in the final
packed bundle. In this case it will be 21 (not exactly arbitrary and
you'll see why).

	2. Figure out the final intensity of the packed bundle. In
this case it will be 255, 255, 255 (the default value for an Imagine
lightsource). The packed bundle (with all its lightsources) must emit
as much light as a similar single lightsource otherwise you get too
hot a lightsource.

	3. Divide the final intensity by the number of lightsources
(step #2 divided by step #1). This gives the individual intensity for
any lightsource that makes up the packed bundle. In this case
255/21=~12.1.

	4. Add a primitive disk with radius of 100 and 10 sections.

	5. Add an axis and place it at the center of disk. If you're
using defualts the axis will autmagically appear at the center of the
disk (world center of 0,0,0)

	6. Select the axis you just added and enter the Attributes
requester.

	7. Make the axis a Lightsource with Light Intensity settings
of the number you got in step #3. In this case it's 12.1, 12.1, 12.1.
Have the axis Cast Shadows. If you're using 3.0 and like Lens Flare
disable the feature for now.

	8. This bundled source will act the same as point source. With
that in mind determine whether the light should fall off. For these
purposes have no light fall-off. Exit the Atributes requestor.

	9. Copy the axis (R-Amiga C), paste it (R-Amiga P), and move
it (m) to the top of the disk where the the edge of the disk and the
section parts meet.

	10. Copy and paste the axis at every section around the outer
rim of the disk. This will result in 10 axes at every section and one
axis in the center. Delete the disk to get it out of your way.

	11. Group the outer axes to the center axis by selecting first
the center axis then every outer axis (using shift), and finally
grouping the with (R-Amiga G).

	12. Copy this entire array of 11 lightsources and paste it.

	13. Select one array and scale it by .5. This should bring the
outer axes closer to the center.

	14. Rotate the same array by 18 degrees. This causes a stagger
of the inner array as compared to the outer array.

	15. Enter Pick Objects Mode and delete the center axis out of
one of the arrays (you only want one center axis). Group the
non-grouped axes to the center so that every axis is grouped to the
center axis.

	16. Enter Pick Groups Mode and save the entire bundle.

	A word for Imagine3.0 users. If you want Lens Flare to operate
for this bundle select the center axis and enable the flare. Having
all 21 axes Flare would be tediously slow, and it wouldn't look good.

 === Using the Bundle in the Stage Editor ===

	A warning. This bundle object is made of 21 lightsources.
Rendering times will decrease with its use for obvious reasons.
	The bundle only works in Trace Mode (obviously) because it
needs to cast shadows.
	The current bundle only works in "Studio Situations" or
situations where the bundle only has to work in a near perpendicular
fashion. I.E. The pyramid of spheres on a flat plane would be a studio
situation. You can aim a lightsource as if you were in a studio or
soundstage.
	The bundle must always be perpendicular or near perpendicular
to the subject. You can track the Y-Axis to the subject to achieve
this.

	Each of the axes on the bundle emmits a bit of light. It's the
multiple shadows cast by each of these lights that creates the soft
shadow. You must be prepared to experiment with the scale of the
bundle. Scales should always be done (L)ocally. It's pretty easy to
figure out how large the bundle should be if you understand how the
bundle works. This I leave up to you as it is next to impossible to
explain the 'right' scale setting...

	Always remember that the more lightsources you use in your
bundle the better the results, and sadly the longer the rendering
times. You have to make a trade off between how large your soft-shadow
fall-off will be compared to how many lightsources you have in your
bundle. If your soft-shadow area is too large, and you don't have
enough lightsources, you'll see many clearly defined sharp shadows.

	This the only way to created a soft-shadow lightsource in
Imagine, I believe. It may be a pain in a$$ but it works. It should
only be used for stills for obvious reasons. Only use the bundle where
necessary. For instance, in a conventional three point lighting setup
you only really need the bundle for the Key and Back lights. The Fill
doesn't cast too noticable shadows and can therefore be a point
source.

	Oh, one other thing. Specular hits look way cool with light
bundles. I mean much more realistic...

### SEASHELLS

* Subject:       3d sea-shell: scallop
* Date:          Thu, 2 Jun 1994 08:28:27 GMT+1 [51]
* From: "Wizard" <TESI2@novell.dima.unige.it>

	The following 10 steps show how obtain a scallop  sea-shell  (or
something similar to it!), perhaps I've a problem (credit for thi little
tutorial goes to Wizard):

1.  add axis
2.  add lines (use front view) like this:

				z
		    __    ...   |       ...    __
		.__|  |__|      +---x      |__|  |__.

	      -130         .... 0 ....              130

3.  invoke the extrude req:
    to length 200
    scale x   0.5
    sections  10
4.  add a primitive tube: radius 120
5.  scale down the tube: 70% only y (shift-y)
6.  adjust the tube position to cut the extruded shape like this:
			  _________
			 /         \
			/\         /\        top view
		       /__\_______/__\

			|           |
		      cutted      cutted

7.  select extruded shape then tube and slice them
8.  delete resulting objs except the 2 'planes'
    ('planes' should be part.2 and part.3):
			  _________
	      part.2     /---------\

			   and this          top view
			  _________
			 /         \
	      part.3    /           \
			\_         _/
			  ---------

9.  select first part.2 and then part.3, join them
10. invoke mold req and conform to sphere:
    sphere radius 100
    object radius 320

	After all these 10 steps, the resulting shape should  be similar
to a scallop sea-shell except for its too planar look: anyone has  found
the proper 'conform to sphere' (or what?) to show it much realistic?

### SPOTLIGHTS BEAMS

* Subject: SPOTLIGHT BEAM
* Date: Thu, 2 Jun 1994 02:09:10 -0700 (PDT) [51]
* From: "Randy R. Wall" <rrw@ecst.csuchico.edu>

-Persice 2.9/3.0 version

Heres ONE way to do it, make a cone with an open bottom and size,
and shape it to how you would like your spotlight to appear in the
sceene, then move the axis of the cone to the very top point of the cone
making sure that the axis center matches up axactly with the top point of
the cone. Use shift M and shift Z and move the mouse to do this.

 Then make the cone the color of the light you are planning to
use and then make it BRIGHT, now go and set the Filters to 180,180,180 or
240,240,240 depending on how translusent you want the beam. This will make
it so that when you render it you can see threw it. Now select the object if
its not already and use the Transformation requester to move it to
Position Z 100 and leave the rest of the positions at 0. Now we can save
this object.

Now you nead to make a test project to set the light up in so we can get
the proper setting for our light. Once you have done this load the cone
into the STAGE, now add a light and use the Transformation requester to move
the light to position Z 100 and leave the other positions at 0 as we did
with the cone in the Detail Editor. Save this and goto the Action Editor,
find the light and set it to Conical, Cast Shadows (2.9) or Point Sourse,
Round Shape, Cast Shadows (3.0) and set the color to whatever you set
the cone to. Save this and go back to the Stage Editor.

Once your back in the Stage Editor Go up to the Display Menu and select
Light Lines then use FIND to select the light.

Now use the Transformation Requester and Align  X to -90, Y to 0,
and Z to 0. Now the light should be lined up with the cone pointing down.
So hit the S key to size it, and size it till the center light line in the
Right View reaches the bottom of the cone. While still in size mode go to
the Front View and Zoom in on the bottom of the cone as much as you can
while still being able to see the outer edges of the cone. Now hit
Shift X and then just the L key. This will put you in local size mode of X,
now size the light lines till they match up perfictally with
the outer edges of the cone. Now do the same thing with the Z size
using the Right View and Shift Z then L keys. You need to do
them seperately as they will not match up otherwise. Whew! almost done,
This may sound hard but its really quite easy. You could actually use this
as is in the stage, but just make sure that if you move or rotate either
of them you select them both together. Sence it is only a simple matter
to make them into a group I will continue.....

OK, I hope someone gets some use out of this? if so let me know...

Now that we have this all set up go to the Transformation Requester and
select size, write down the sizes of X, Y, and Z exactly as they are and hit
OK and after all this work why not save it..

Now go to the detail editor and load in the cone object.
Now add an axis and select it, use the Transformation requester
and select Alignment and set X to -90, Y to 0, Z to 0,
then select Size and type in the numbers you wrote down, and
then select Position and type in X 0, Y 0, Z 100. and select OK. Now set
the Attributes of the axis to a Light and set the light to Conical, Cast
Shadows (2.9) or Point Sourse, Round Shape, Cast Shadows (3.0)
and set the color to whatever you set the cone to . Now group the axis and
cone together and save it. You can now move this object freely around in
the Stage and Action Editors as one object.

 If you want the light to have transparency of the cone linearly
over it's length ( basically Fade Out at the end ) you will need to size
the cone maybe twice as large while leaving the Axis Light the same size
and then use the Linear Texture on the cone and rotate the Textures Z axis
so that it is pointing down and drag the Texture axis down to slightly above
the Axis Lights Y axis line. If you made the cone twice the size this would
be halfway down the cones lenghth. Then set the color of the texture to that
of the light and the Transition Z Width to whatever looks good for your
particular light, I like  100 or 150, for a 500 unit tall cone, then set
the Filters for the Texture to 255, 255, 255. You would also have to set
your Axis Light's Attribute to Diminish Intensity 2.9 or Controled Falloff
for 3.0 to pull off the full effect. You may need to play with this to
get it just right though.

-Fairley Persice 2.0 and 2.9/3.0 version.

Make a cone with an open bottom and size, and shape it to how you would
like your spotlight to appear in the sceene, then move the axis of the
cone to the very top point of the cone making sure that the axis center
matches up axactly with the top point of the cone. Then make the cone
the color of the light you are planning to use and then make it BRIGHT,
now go and set the Filters to 210,210,210 so that when you render it we
can see threw it. Now COPY the cone and align the X axis to -90
locally in the Transformation requester by using Tranform Axis Only and
Alignment. Now resize the Y axis locally till the axis line not letter
reaches the bottom of the cones Bounding Box, then resize X axis locally
till the axis line reaches the very end of the Bounding Box, and then do
the same with the Z axis. Now change the Attributes, turn off Bright, set
Filters back to 0,0,0 and set the object to a light and set it to Conical,
Cast Shadows (2.9) or Point Sourse, Round Shape, Cast Shadows (3.0) and
set the color to whatever you set the cone to. Now go into
Edit Points mode and delete all the points in this object. You can now
PASTE the old copy and group the two objects and save them out as a Spotlight
This method is easier than the other one and produces good results as well,
I just feel the other method is more presice if you plan to zoom up on
something like a logo and have the spotlight moving acrossed it.

If you want the light to have transparency of the cone linearly
over it's length ( basically Fade Out at the bottom ) you can use the same
method as I mentioned above with the Persice Spotlight.

 Whew! Now theres a SpotLight!

While even this is not a perfect SpotLight it is a very good one, the only
problem with it is that if you shine it threw something the Bright Cone
object will still show through the other side, you maybe able to limit
this by making the cone more transparant with the Filters, but I think 220's
or 240's work pretty good..Or buy making it a fading SpotLight.
It also doesn't have edge transparency but I haven't tried to figure out
how to do that yet. I imagine you could use multiple cones at different
Filter rates and sizes to get something close to it, in 2.0/2.9
or use the global HAZE effect and the SOFTEDGE texture in 3.0.

Once you set up the basic object in Imagine you could just use it and make
changes to it as needed.

I do think if you try this SpotLight you will like it
as it works great for RayTracing when you want an object in the middle of
the SpotLight and yet have other lights coming from other directions,
the Spotlight will still light up the object and leave its beam and  shadow
and works fine in Global Fog unlike a Cone set to FOG as I have seen others
suggest.

### STARFIELD STARS

* Subject: STARS
* Date: Fri, 03 Jun 94 05:47:33 -0300 [51]
* From: greg.tsadilas@hofbbs.com

Take the CSG sphere.  Color it BLACK.  Make it BRIGHT.  Add the CONFETTI
texture (Im3.0), set the V1 and V2 numbers to .54 and .55 so as not to have a
ton of stars.  Set the two colors to  200,200,200 and 240,240,240 (or whatever
turns you on.  Scale the Im3.0 CONFETTI texture to get the "stars" the size you
want them, render to see how they look and adjust if need be. Place scene
INSIDE the sphere.  Voila....instant gorgeous stars.  You can even add the
NEBULA to a sphere fog object in the distance somewhere.  :)

### MOEBIUS STRIP

* Subject: Re:  .fli ftp site?
* Date: Mon, 6 Jun 1994 18:38:39 -0400 [51]
* From: Jason B Koszarsky <kozarsky@cse.psu.edu>

So, in Imagine, I'd start with a simple two point open path.  Bend
the path so that the endpoint meet each other & the shape of the path
is a loop.  Do the bending about the x-axis.  Place the endpoints
exactly on top of one another.  Use the transformation requester to
get/set exact location coordinates.  Then take one point and rotate
it 180 degrees on the local y-axis.

With the path created, you are almost done.  Now just make a single
line consisting of 2 pointer & one edge connecting the points.  Make
sure that the axis is placed on the center of the line & that the
y-axis is perpendicular to the line itself.

You could add a primitive plane, delete 2 points, move & rotate the
axis, it may be quicker this way.  If you start with this plane, only
use 1 vertical & 1 horizontal section.  Hmm.  I wonder what imagine would
say if I were to try 0 vertical sections?

Now extrude your line object along the moebius path.  Use enough sections
to get it as smooth as you desire.  Also, set it so that the y is aligned
to the path.  Otherwise, it won't twist.

What has been created is a flat moebius strip.  If you want to have some
thickness, you could extrude a 4point plane along the path(the y-axis
for the plane should be perpendicular to the plane's surface).

You may also want to add a 3rd point to the path by fracturing or splitting
it.  This will give you more control over the shape.  If you add the 3rd
point after doing the initial steps above, then you won't have to worry
about rotating it on its local yaxis.

* Subject: Easy Moebius Strip
* Date: Tue, 7 Jun 1994 13:57:42 GMT +1200 [51]
* From: "Paul Batten" <BATTENP@scico1.chchp.ac.nz>

In the detail editor:

1. Add a closed path

2. Add a primitive plane, say 40x20 1 section

3. select the plane, choose Extrude: Along Path (the closed path in 1.),
   Align Y to Path, Sections = 100, Y Rotation = 180 ( to give the Moebius
   loop). Perform extrude.

4. You may need to edit the 8 faces where the 1st and last planes join, the
   seem to get twisted.

### EYES FOLLOWING

* Subject: EYES THAT FOLLOW
* Date: Sun, 05 Jun 94 01:11:31 -0300 [51]
* From: greg.tsadilas@hofbbs.com

Apply the FAKELY texture to the eye, have it affect COLOR only.  Set transition
T to .8, set the back color to -1,, (objects color), set the front color to
0,0,255 (The Iris color).

Apply the FAKELY texture to the eye again, have it affect COLOR only.  Set the
transition T to .95, set the back color to -1,, (objects color), set the front
color to 0,0,0 (The pupil color).

Voila!  Instant eye that will follow and point to the camera without the need
to manually reposition the eye.  Try this on a default sphere.  Render it from
different angles....the eye follows...OOOoooohh!  Scary, eh keedz?

### PARTICLES

* Subject:  more < Pfffft.....
* Date: Thu, 9 Jun 1994 18:00:10 -0500 (CDT) [51]
* From: kirvan@SSESCO.com

"Speed" is used to control how fast an object comes apart when using a
"delayed" particle explode.  This is the speed the object comes apart, not
how fast the particles move.

The "Terminal H and Z" are a bit tougher.  The particles, sort of,
accelerate away from the exploding object.  These params control how many
frames the particles will be accelerating through.

Again, I suggest cranking up the gravity.  This way the particles will fall
faster and stick to the ground sooner.

### FLAG WAVING

* Subject: Re: Stage Paths
* Date: Fri, 10 Jun 1994 00:18:24 -0700 (PDT) [51]
* From: "Randy R. Wall" <rrw@ecst.csuchico.edu>

Make a defualt plane and Align the X axis to 90 in the Tranformation
Requester, make sure you have Axis Only set when you do this ,
then make a path, say with 10 axis points, move every other points Z axis
up to make some smooth curves, then save these objects seperatley,
make a test project and go to the Action Editor and set it to 25 frames
load in the objects... set the plane to follow the path. Save this and go
to the Stage, now set your camera view on and position it so you can see
the plane object, Now heres one of the important parts hit RghtAmiga-P to
see what your paths length is, write it down and go to frame 25 of the
animation RghtAmiga-C. Now select the path and use RghtAmiga-T to get to
the Tranformation Requester, click position and set Y to - (minus) whatever
the number you wrote down is, hit return then OK. Now hit RghtAmiga-7 to
save the position as with Position Bar. OK we're almost done, Save this
and go back to the Action Editor and select the paths NEW Position
timeline bar and set it to Discontinuous Knots, click OK, now select the
plane and set its Alignment to Conform Object to Path, click OK. If this
were a grouped object you would use Conform Group to Path...Now save this
and go to the Stage and Use Make in the Animate Menu to make a preview
animation...Wala! a Flag Waving!

### GLASS HOLLOW

* Subject: Re: Hollow or Solid?
* Date: Wed, 15 Jun 1994 13:46:31 -0600 (MDT) [51]
* From: Roger Straub <straub@csn.org>

Recipe for a hollow glass sphere is as follows:
	Create a primitive sphere. Copy, paste, and scale it down so that
	there is a little space between them. Give the larger sphere the
	attributes of glass, and make the smaller one transparent. Group, render
	and serve with drinks(Preferably tequila, but marguiritas will do.).

### LENSES

* Subject: Lense tutorial
* Date: Mon, 20 Jun 1994 08:37:33 GMT+1 [51]
* From: "Wizard" <TESI2@novell.dima.unige.it>

	this is just an extract from an italian computer magazine,
Commodore Gazette, about doing lens with Imagine:

-enter the detail editor
-add primitive sphere (not add sphere, add primitives and then sphere):
 circle=48, vertical sections=24
-pick sphere, pick points, drag box pick method
-multiple select all points except for the first (top) 5 lines (sections)
-delete selected points (functions menu)
-pick object (pick method menu)
-move ONLY the axis (shift-m) to the bottom line of points/section
 (looked from front view): do this step more accurate, use zoom in
-copy selected obj and paste it
-invoke transformation req, scale it -1 to z axis
-select the two objs and merge them
-invoke atts req:
 color and filer=255,255,255    harness=100 to 130   index=1.2 to 2.0

	This method is much  realistic  one,  positioning  lense  above a
plane (e.g a brush mapped one) and  moving lense far from it, Ya get also
the tipically effect of getting an upset image.

PLEASE NOTE: do not use spin or sweep function  (drawing  profile) coz so
	     Ya cannot manually draw a perfect shape (as sphere primit.)&
	     Ya get an increment of rendering time.

### FIRE TORCH

* Subject: Re: Fire Tutorial II
* Date: Tue, 12 Jul 94 13:33:19 CDT [52]
* From: setzer@comm.mot.com (Thomas Setzer)

* Note: the following tip is from hermelin@math.tau.ac.il

Also, here is a small tip for making open fire, a torch for example:

1. Build an object to base the fire on - cone, cylinder, plane, whatever.

2. Color the object an orange-yellow hue. R221, G189, B000 worked for me.
Phong should be enabled.

3. Add the linear texture. My object is 200 units tall, so the Transition Z
Width is set to 150. Filter is 255 for R, G and B. Place the texture axes
on the bottom of the object, with the Z axis pointing up.

4. From Essence I, add the misc/fractalfilter texture. The axes are oriented
at its' default. Here are my parameters:

50.00000 Initial Scale                  0.900000 Filter 1 End
5.000000 # of Scales                    150.0000 Filter 1 Red
0.400000 Scale Ratio                    150.0000 Filter 1 Green
0.400000 Amplitude Ratio                150.0000 Filter 1 Blue
0.400000 Time Ratio                     255.0000 Filter 2 Red
0.000000 Time                           255.0000 Filter 2 Green
0.100000 Base->1 Trans                  255.0000 Filter 2 Blue
0.500000 1->2    Trans                  0.000000 Fade 0..1

5. Save the object (Fire.1 could be a good name), and modify the following:
In the fractalfilter texture, change the Time parameter to 1, and edit the
axes so they are 10 times the length of the object higher. This setting is
good for a 200 frame animation, so the fire goes one object height up every
20 frames. Save the object with a different name, maybe Fire.2.

6. In the Stage Editor, load the first fire and determine place, size and
orientation. Go to the Action Editor and morph from Fire.1 to Fire.2 over
the entire length of the animation.

7. Render, have 200 cups of coffee, and view. Enjoy.

### GRASS LAWN SWAY EFFECT

* Subject: sway
* Date: Thu, 28 Jul 94 09:27:00 -0100 [52]
* From: torgeir.holm@tbc.powertech.no (Torgeir Holm)

I made a one polygon object in the detail editor, stretched it so that
it was shaped like a piece of grass, and made the Z axis come through
paralell to the middle of the object. Picked the edges, and made them
quick edges. Added grassy attributes, and turned Quick Edges on in the
attributes requester. Quick edges because 3 edges is a lot quicker than
8 in a bounding box, when you get to stage.

I then made about four hundred copies of this object, spread out in a
20x20 grid. Use multi select to speed things up. Could really use Macros
Soon, impulse. I then multi selected objects using the lasso tool
randomly, and sized, rotated, and moved the objects slightly, just to
get an irregular look. Repeated this several times.

When the objects looked like a messy patch of grass, or something like
that, I added an axis, and picked it. Picked all the other objects with
a drag box and grouped them to the axis. Saved object.

In the action editor, I added the object for 50 frames to do a test
anim. In the FX bar I added the Sway.ifx for all 50 frames:

Start Frame 1    End Frame 50

All buttons off except X-axis

Minimum # of gyrations: 1

Maximum # of gyrations: 3

Minimum gyration angle: 10

Maximum gyration angle: 30

Random number seed:     whatever

When I render this I get a patch of grass, swaying back and forth. Some
leaves of grass sway fast, and others slow, but they all have almost the
same direction of sway. There are no abrubt changes from frame to frame.

### LASER PHASER EFFECT

* Subject: Laser effect
* Date: Fri, 29 Jul 94 10:20:38 EDT [52]
* From: sauvp@citi.doc.ca (Patrick Sauvageau [SIA])

For that, I have created a very thin cone object, about 400 units long
and 10 wide at the base.  The axis of the object is located at the base.
The color of the object is blue-white and the object is bright. The next
step is to add the "linear" texture in a way that will made the object
transparent at the thin end. Finally, add an axis at the top of the cone.
Make the Y axis pointing in the direction of the base and make this axis
the parent of the cone.

To use thi "laser" in an animation, I used a "feature" of Imagine: In the
stage editor, if you resize an object on only one axis, the textures are
not resized.

So, in the firing frame, load the laser object, position it's parent axis
in the laser "gun",and track it to it's target. Then, scale it down LOCALY
ON IT'S Y AXIS until it become very short. Go to the frame where the laser
hit it's target, select the laser and resize it localy on it's Y axis untils
it touch the target (or get out of camera sight if it miss).

In that way, since all the scaling have been made locally, the lenght of the
texture stay constant. In the last frame, even if it seem that the laser
is continuous from the "gun" to the target, ONLY THE 400 UNITS AT THE FRONT
ARE VISIBLE, since the rest is fully transparent.

* Subject: Full power to foward phaser banks.
* Date: Fri, 29 Jul 1994 11:27:04 -0400 (EDT) [52]
* From: "T.W. Albee" <UC245_444755@emuvax.emich.edu>

	Start off with a tube or teardrom or whatever shape you want, save it
as something1.  Elongate it as you imagine a phaser blast to travel, save
that as something2.  Finaly, reshape it as you think a phaser blast would
look after comming in contact with something; something3.  You can even
reduce it to a small, dying point if you wish; something4.  Color them all
how you wish and use the marble texture as a filter map.  Morph between
objects in the Action Editor to get the desired animation look, and
Render HO!  Add another shape around the beam if you wish, setting its
filter high, and its fog length relative to its size, and you can have
an ionization glow too.  Play around with using brushmaps you create for
different filter-mappings to get different effects.  Try animating the
filters for a really neat effect.

I forgot to mention that the phaser-beam shapes should be set to 'bright'

### CLOUDS

* Subject: Imagine vmem and 3.1
* Date: Mon, 8 Aug 94 18:05:36 CDT [53]
* From: wilks@lbm.com (Stephen Wilkinson)

	The "crumpled" texture can make a pretty good "mackerel"-type
cloud cover. Make the texture "bump" colors white and set the object
to a nice blue (35,118,255 is ok) and scale the texture size up about
200x200x200 (or just bring the plane it is on nearer the camera). I've
got a plane with this texture behind a "window" and it looks very nice
since I don't have enough ram for a clouds backdrop image :( It looks
a lot better if the plane is tilted away from you rather than fully
perpendicular. You can flip the colors to make a water plane with
"caustics" on the surface (bumps blue, object white)...

### TEXT GROWING WALL TERMINATOR

* Subject: Re: text extruding from a plane
* Date: Tue, 16 Aug 1994 22:27:30 -0600 (MDT) [53]
* From: Roger Straub <straub@csn.org>

* Note: next paragraph written by Steve McLaughlin

> What's a good way of having text grow out of a wall?  Starting out with
> a flat wall and having text slowly come out of it?
> Having the same texture and color as the wall.
> Sort of like a terminator effect.
> Will a bump map give a good effect?

Well, I don't think a bump map will do the job. If you have 3.0, use the
Applique function on a plane with a LOT of subdivisions. Set up the pic
just as you would a bump map. Then pick the plane, choose Applique, find
the pic, and say ok. Then just morph between the two objects(flat and
Applique'd). Hope this helps...

### INVERSE KINEMATICS

* Subject: Re: Kinematics
* Date: Tue, 30 Aug 1994 23:10:48 -0700 (PDT) [53]
* From: "Randy R. Wall" <rrw@ecst.csuchico.edu>

Well, I am pretty new to the Kinematics in Imagine but I'll get you
started, so that you can experiment. First make three axis, making one and
then copy it and paste it down twice. Now press R/a_F to Find Axis.1 and
select it and then use R/a_T for the Transformation requester and set it's
Z position to 50. Now Find Axis.2 and set it's Z position to 100 in the
same manner you did with Axis.1.  Now select the bottom Axis and the Axis.1
just above it by using the Shift Key as you select it. Group them together
and then click anywhere on the screen to unselect these Axis. Now select
the middle Axis.1 and the top axis.2 and group them together.  Ok this is a
basic bone structure or group, if you select the bottom axis while in Pick
Groups mode all of the axis will be selected.  So with this I can explain
to you SOME simple kinematics...at least enough to get you started.

Ok now go into Pick  Objects Mode ( Kinematics will only work in Pick
Objects Mode ). Select the bottom axis and and then select Freeze, in the
Freeze menu set Rotation World X,Y and Z and OK. Now go and set Constrain
and then select the top axis.2 of the group and press M. If you are in the
quad view ( all four views showing ) you can go in the top view and rotate
your pointer around the axis. You will see that all the axis follow the
pointer as you move it, but the bottom one stays stationary and does not
rotate with the others. If we unset the Rotation World X,Y, and Z it would
follow along with the other axis. Now if we wanted to limit this group more
we could do the following:

Set the ALL axis so Rotation World Y, and Z are set, Un-set the bottom
axis's Rotations.  Now go and select the top axis and try rotating the
pointer around the axis in the top view, as you can see the axis now only
move along the Y axis or should I say will only rotate on the X axis. As we
have limited its movement by only letting it rotate on X. Hit the Spacebar
and then R/a_U to undo this and select the Right View Bar.

Now we can make the axis move in a more controllable means. Select the top
axis again if its not already, and press R and then X and move the pointer
to the right slowly till the axis angle is at 45 degrees. Imagine will tell
you this at the top right corner of the menu bar. The top axis will rotate
on its X axis. Now press M and move the pointer to the left and slightly
down. As you can see the top axis keeps its alignment of X and all the
other bones or axis bend to make it look like a finger bending. This may
cause a problem if you move to far, but you can either try moving it back
and try again or hit the spacebar and then select the middle axis and press
R then X and rotate the middle axis into the correct position.

If you wanted to stop the bottom axis from causing this problem you could
Freeze its World Tranlations, and then move or rotate the top axis to the
position or alignment you want, and Then Un-set the bottom Axis
Translations and Rotate its Axis on X to rotate the whole group. Or to do a
similar effect, yet keep your top axis free to move and rotate you could
rotate the middle axis into the angle you want and then Lock it's X Joint
and select the top axis and move or rotate it's X axis. By doing this the
bottom and middle axis stay aligned to each, yet still follow the top axis,
and leaves the top axis free to manipulate...

Oopps! typo on my part, it should read: Set ALL the axis so Rotation
World Y, and Z are set,

### NEBULA FOG

* Subject: Re: Nebula Texture.
* Date: Fri, 2 Sep 1994 02:17:47 -0700 (PDT) [53]
* From: "Randy R. Wall" <rrw@ecst.csuchico.edu>

First of load the Fog.attribute onto your extruded sides, then set the
Fog to 200.00 and the color of the object to 197,197,222

Now Add the Nebula Texture and set it to:

Fog Lenth 500.00
T 1.00
Noise1 Mag 5.00
Noise1 Vel 0.5
Noise2 Mag and Vel 1.0
Central Color  220,220,250

Now move the texture axis to the middle of the sides from the right view.

### ANTENNA SATELLITE DISHES

* Subject: Re: Antenna dishes
* Date: Mon, 05 Sep 94 15:55:35 CET [53]
* From: cjo <cjo@smtpgw.esrange.ssc.se>

  I've made a couple of satellite-dishes myself. But i did it a little bit
  differently.

  1. Create a cone (ADD PRIMITIVE CONE) with (say) 12 vertical sections.

  2. Make it flat by setting the y-size =0 (you now have a circle).

  3. Conform the circle to a sphere (you'll have to experiment a little with
     the two parameters to get it right).

  4. Size the dish to your own preferences. Perhaps you would like it to
     be elliptic :-)

  5. If you want the dish to have depth you'll just have to EXTRUDE it.

  6. If you want the front and the back to have different attribute-settings
     you just pick all the faces on the back (or the front, that is your own
     choice) by PICK RANGE and FRACTURE them from the rest of the antenna.
     (I did this to make the front white and the back gold-colored as this
     is rather usual for antennas on communication satellites.)

### FOG

* Subject: Re: Using Fog Objects...
* Date: Fri, 9 Sep 1994 06:30:38 -0500 [54]
* From: gregory denby <gdenby@twain.helios.nd.edu>

Try using a plane with a transparency map placed over it. Place this infront
of your camera.  The down side of this is increased rendering time :-(.
Or, make a single plane, not extruded, set it to an appropriate fog length
and rotate it so that its top is farther away from the camera.  That way
the amount of fog applied near the top of the scene will be less than at the bot
tom.

### HALO LIGHTS LENSFLARE FOG

* Subject: Re: HALO AROUND LIGHT IN IMAGINE
* Date: Mon, 19 Sep 1994 00:31:49 -0400 (EDT) [54]
* From: jgoldman@acs.bu.edu

--- METHOD #1 (The Pain in the A$s Radial Texture Method)

	Create a disk utilizing Imagine's standard Disk
parameters.
	Copy the disk and scale the new one by a factor of two.
	Copy the larger disk and scale the new one by a factor of
four. You should now have three disks of varying size.
	Position the disks so that the smallest is in front of the
middlesized. The middlesized is in front of the largest.

	Make the smallest disk Bright with a Color of
255,255,255. Also, make it a Lightsource.

	Apply Radial textures to the middlesized and largest disks.

	The middlesized disk should be Bright and have a color of
150,150,255. The Radial texture should be set so that the disk's
transparency is set to 0,0,0 at the center. Create a transition
distance over the radius of the disk so that transparency is
255,255,255 at the disk's edge. You want the disk's color to fade as
it moves toward the edge of the disk.

	The larger disk should be Bright and have a color of
255,255,255, and a Transparancy of 170, 170, 170. Set the Radial
texture so that the color fades to total transparency (255, 255, 255)
at the disk's edge.

	Transform the smallest disk's axis ONLY. Bring up the
Transformation Requester, and Rotate the Z axis 180 degrees. Select
the Transform Axis Only button and Perform. The disk's Y-axis should
be pointing exactly opposite the other disks' Y-Axis.

	Group the three disks together using the smallest disk as the
Parent. This is a basic "Light w/halo" object. When rendering it be
sure to always point the Y-axis at the camera. It's easy to do. Just
Align Y-axis to Track to Object Camera.

	Render that, and see what you get. In this example the
smallest disk acts like the bright lightbulb, the second disk acts
like the film burn area, and the third disk acts like the atmospheric
dispersion area. This object, being 2D, has some limitations.

	A primary limitation is that this object only works well in
Scanline situations. This is because in Trace Mode the two larger
Radial mapped spheres block the smaller disk's light travelling
backwards. To work around it create an axis, make it a Lightsource,
place it behind the larger disk, and group it to the smallest disk. It
isn't infallible, however...
	Experiment with values. The Color values given above were for
a standard high intesity lightsource. Always remember what your
lightsource would look like in the real world. In the case of a red
exit sign, make the Color values predominently red, and substitute a
polygon created "EXIT" object for the first disk. Or something like
that...

--- METHOD #2 (The Fog Method)

	Create a primitive sphere. Make it Bright with the Color
values 255,255,255.
	Copy the sphere and scale it slightly larger than the original
sphere primitive. Make this sphere a Fog object by experimenting with
Fog Length values. Color it as necessary.

	For those with Imagine3.0 assign the Ghost texture to the
foggy sphere.
	
	Experiment with values. I haven't actually tried this yet, but
it should work...

--- METHOD #3 (The Haze Method)

	Use Global FX Haze to fuzz up your exit sign.

### PARTICLES MAPPING TEXTURES

* Subject: RE: Imagine bug :(
* Date: Fri, 23 Sep 94 13:38:32 EST [54]
* From: mrivers@tbag.tscs.com (Michael Rivers)

Pick the Object, Fracture it with Scale Factor set to 1.0(Don't merge the
object,because each face must NOT share any point/edge with another face)
create a state with Shape checked, apply textures/brushmaps and specify the
Lockstate. Create project using the particles. render.(may work for
explode,fireworks etc.)

### SMOKE

* Subject: Particles smoke
* Date:    Tuesday, 04 October 1994 11:11:47 [55]
* From:    Wizard <GUEST@novell.dima.unige.it>

-detail editor
  -add primitives: sphere
  -attributes: color 255,255,255      fog 140
	       clrnoiz texture:
	       color 140,140,140      r,g,b,color vary 0
  -particles:  cube
	       random align
	       interpolated
	       dimension 150 units
  -save obj


-action editor
  -add particle effect to loaded sphere (to all anim frames)
	       emission
	       travel dista 200 units
	       scaling 1
	       time to terminal h 2
	       elasticity 50
	       time to terminal z TOT/2
	       velocity .5
	       min angle x -5
	       max angle x 5
	       wind velocity 5
	       wind angle 33
	       wind start TOT*(-1)
	       wind stop TOT
	       emission 95%
	       SET ALL OTHER VALUES TO 0

	       TOT ==== number of tot frames

* Note: The above tutorial was really created by
*       Massimiliano Marras (mc1606@mclink.it):

I must point out that he made a few (wrong) changes: Fog Length
should be 180, sphere color 128,128,128, ClrNoiz's color 64,64,64,
travel distance is 100 units and time to terminal Z is TOT frames and
not TOT/2. He has left unchanged all the other values. In addition to
this Imagine 3.0 does render properly fog objects in front of
backdrop pictures so his closing remark is wrong.

### LIGHTS NEGATIVE SHADOWS

* Subject: ------=> Sorry NO Subject!
* Date:    Wednesday, 05 October 1994 17:38:04 [55]
* From:    Massimiliano Marras (mc1606@mclink.it)

Another nice use for negative values is the simulation of shadows in
scanline mode. Enter Detail Editor, add a ground and a primitive
sphere, move the ground along Z axis -160 units. Leave the sphere
unchanged but transform it's axis (only) so that has this alignment:
X -45,Y 0,Z -90 and the Y axis (only) size is 280 (so that it
intersects the ground). Make the sphere a parallel rays, round shape,
controlled falloff light source and enter a _negative_ value in the
intensity requester that is roughly 75% of the other lightsource's
intensity. In this case use -196,-196,-196. Quickrender with a 90
degree horizontal angle and a 45 degree vertical angle. Here you are:
istant scanline shadows. Of course you can add softedge lite
textures, arrange more negative light sources in order to simulate
more complex shapes or even create "shadow volumes" that obscure the
object travelling in their area. As long as you use controlled
falloff and scale properly the Y axis this trick will not slow the
rendering down (controlled lights do not affect objects outside their
reach) and will save days of render time compared to raytracing. A
good reference about negative lightsources is in Graphics Gems III:
"Darklights" by Andrew S. Glassner. Well, i guess Wizard will claim
copyright over that book too...

### WATERFALLS FIRE

* Subject: Seamless Waterfalls & Fire
* Date:    Monday, 24 October 1994 22:45:31 [55]
* From:    Shinobi@ckbbs.tor.hookup.net (Shinobi)

First begin with a 2D outline such as the one below:

		       ___________________________________________
		      /
		     |
		     |                     Z
		     |                     |
		     |                     |
		     |                     Y-----X
		     |
		     |
		     |
		     |

This shape should be extruded by whatever distance you choose as the width
of your waterfall.

Caller it whatever you like (I chose a very light blue), and turn the
specularity way up so you can see how the light is affected by the
texture.  Now, add the BumpNoiz texture.  Make the X, Y, and Z sizes
something like 100,10,200, which basically give you long, thin bumps.
Save this object as Waterfall.1.

Now, edit the texture axis and rotate it -120 degrees (you should see
the axis roll forward, towards the left-side of this diagram).  Save
this object as Waterfall.2.  Repeat again, saving the final object as
Waterfall.3.

Rotate the axis locally around Y.  This will cause the texture to rotate
forwards to the camera, which is actually on the far left of the above
diagram.

I've been asked to explain this in a little more detail, so I'll give what
I can.

A 3D texture occupied 3D space.  But the colours or bumps or whatever that
appear occur only where the texture in 3D space intersects with the object.
By positioning the texture axis away from the object, when you rotate the
texture axis the intersection of the texture and the object changes.  And
because the texture occupies 3D space passing the texture "through" an
object works the same as changing a "time" parameter that some textures
have.

I'm not sure if that is a better explanation or not, so try this.  Put a
pencil or something on the screen, with the eraser at the texture axis.
Now rotate the pencil around the screen, keeping the pivot point at the
eraser.  See how the pencil and object intersect at different points as the
pencil is rotated?  If you think of the texture as being full of bubbles,
you can see that the object is actually "slicing" through the 3D texture
when it intersets it (kinda like a CAT scan).

Enter the action editor and set the number of frames for, say, 90.
Give some ambient light (say 40).  Now, at frame 1 load your
Waterfall.1 object.  From frame 2 through 30, morph to Waterfall.2.
 From frame 31 through 60 morph to Waterfall.3.  Finally, from frame 61
through 90 morph back to Waterfall.1.

Enter the stage editor and set the view up as you would like it.  Do a
test render to make sure all is well.

Render your animation, but leave off the last frame, so in a 90 frame
animation you would render frames 1-89.

The trick is to offset the texture axis so that when it rotates the
texture appears to flow along the surfaces it intersects.  As I said,
it works well with fire.  You can use this technique to seamlessly
morph a flame object (ala Steve Worley's example).  Just make sure to
place the axes of the textures where their rotation and intersection
with the plane will give the appearance of movement.

### SUN SOLAR FLARES

* Subject: E-Z Sun
* Date:    Sunday, 06 November 1994 17:57:00 [56]
* From:    KEN_ROBERTSON@robelle.COM

All this chit-chat about generating suns made me want to try it out, too.
I got a great-looking sun (albeit not as nice as the one with the
solar flares and sunspots that is on Aminet in gfx/3d, I think)
by doing:

   Add a sphere primitive, default values
   Set the colour to 255,255,0
   Set the Fog Length to 10
   Make it a light, intensity 655,655,255, point source, diminishing
      intensity
   Add the Ghost Texture (Imagine 3.0 supplied) with default values.

### SIRDS ZBUFFER STEREO 3D

* Subject: 3D images (ZBuffer & SIRDS)
* Date:    Tuesday, 08 November 1994 23:56:49 [56]
* From:    "Ducharme, Alain: FOB" <Ducharme@fob.istc.ca>

An example:
Load an object into the Detail editor (i.e. Cow.iob).  To simplify the
process UnGroup any parts then Join them all together as one object.
 Attributes should be: Color white, set the rest to zero (0); Bright should
be on (x), set Quickdraw on (x) and Texture: ZBuffer.  Now reset your
perspective view and rotate your object just as you would like to see it by
the camera as viewed in the perspective view.  This is important because
ZBuffer is relative to Global coordinates, and not relative to the camera.
  Go into the "Top" view window, turn Coordinates on, move your cursor to
the bottom of the bounding box and write down the Y coordinate (Y1), move
the cursor to the top of the bounding box and write down the Y coordinate
(Y2).  These two Y coordinates should be entered in the ZBuffer texture's Y1
and Y2.  Leave the color settings from white (255,255,255) to black (0,0,0)
(assuming your SIRDS generator expects white as out and black as in).  Save
the object

Go into Action editor, Add your object and set camera position to 0,Y1-n,0
alignment to 0,0,0 where n is the distance from the object to be viewed.
 Save Changes.  Go to Stage editor, add a light and place it anywhere in
front of the object, turn on camera view and fine tune the placement of the
camera making sure not to change it's alignment.

Render.

The resulting image should be a gray scale image which can be loaded into
and processed by a SIRDS generator.  I've had excellent results with this
technique, many of which surpassed some commercially available SIRDS
posters.

### LASERS

* Subject: Re: LASER ray
* Date:    Monday, 14 November 1994 19:14:34 [56]
* From:    Patrick Sauvageau <sauvp@citi.doc.ca>

You can use the filter noise texture. Make an axis, apply it the filter
noise and "apply to children". Make that axis the parent from the laser
beem. Now, create two state where the "textured" axis only move slowly. The
result will be that the transparency irregularity will move slowly in the
laser beam, simulating  an irregular dusty atmosphere with light wind.
If you have 3.1, you may use the "clouds" texture and make the clouds morph
in time as it move.

### PUDDLES WATER

* Subject: Easy Puddles
* Date:    Saturday, 31 December 1994 12:57:07 [57]
* From:    Shinobi@ckbbs.tor.hookup.net (Shinobi)

Here's a technique for making dead-easy puddles.  You know, the kind
of puddle of a thick solution such as mercury, oil, blood...anything
that has a meniscus that rises above the surface the puddle lies on.

First, add an axis, and make sure you are in the TOP view.  Copy and
paste this axis roughly in a circular shape.  Use as many as you like.
Rotate each axis to a different angle.  These axes will be used to
make a closed loop.

Next, select each axis in turn around the circumference of your
puddle-to-be.  Usually, I group the whole bunch and save it as
PUDDLE_OUTLINE.GROUP just to be on the safe side.  Select MAKE CLOSED
PATH.  Instantly, you have an outline of your puddle.  Now is the time
to make any changes to the shape of your puddle.  Try to stay away
from very thin "fingers" as they may cause you trouble in the next
section.  Rename the object to PATH, to make life easy for us in the
Extrude requester.

Move to the FRONT view and add a disk.  Choose PICK POINTS.  Delete
the center point and all the points for three-quarters of the circle.
What you should be left with is a quarter-circle like the diagram on
the left:

   ____          Z            ._________          Z
       \         |                      \         |
	\        +---X                   \        +---X
	 |                                |
	 |                                |
(Pardon the lousy diagram)

Add one more point to the top-left line segment, so that your shape
now looks like the figure on the right.  Save this object as something
like CIRCLE.OUTLINE.

Next, bring up the EXTRUDE requester.  Select FOLLOW PATH, and ALIGN Y
TO PATH.  Make as many sections as you like.

Now you have a nice, smooth shape that follows the contour of your
puddle-path.  But what about the center?

Here's the good part.  It's so easy, I could have kicked myself for
not thinking of it earlier.

Make sure your selection method is set to both CLICK and LOCK.  This
will cause every point you drag to snap to a grid intersection.

Provided you started out with a clean workspace, the 0,0,0 location
should be right in the middle of your puddle (approximately).  Change
the grid size to something outrageous, like 1000.  Select DRAG POINTS.

Now, simply click once on each of the points that sticks out.  After
you click, the point will immediately jump to the nearest grid
intersection...at the center of the puddle.  In a few moments, you'll
have all the points in the center, and the top of your puddle will
have these wonderful faces.

As a final step, make sure to MERGE the object so that you don't have
a lot of extraneous points on top of one another.

YOUR PUDDLE IS DONE.

### STARFIELD STARS

* Subject: Re: Starfield object
* Date:    Friday, 06 January 1995 08:57:50 [58]
* From:    Charles Blaquiere <blaq@io.org>

1) MODELING REAL STARS:

      - Add a primitive cone, 5 x 5 units in size, 3 points at the base.
	No need to close the bottom.

      - In Pick Points, pick all and move them, say, 1000 units away
	from the origin.

      - In Pick Objects, enter Attributes, Phong off, Bright on.
	You've created a star.

      - Copy/Paste/Rotate randomly in X, Y, and/or Z. You've created
	another star.

      - Pick All, Join. Repeat these steps (Copy/Paste/Rotate, Pick All,
	Join) until you have enough stars to suit your fancy.

      - Presto, instant starfield! You may want to add a Dirt texture,
	with intensity set to 1, to vary the color of your stars from
	white to black.

2) FAKE IT:

      - Add a primitive sphere, make it Bright.

      - Add the Confetti texture, set V1 and V2 to 0.5 and 0.55,
	and the colors to black and white. Play with size until the
	stars look right.

### STARS FLY-THRU WARP

* Subject: Lock & Melt.
* Date:    Sunday, 08 January 1995 09:25:02 [58]
* From:    Shane Davison <daviso@cs.uregina.ca>

How to create a simple yet effective warp-drive (a la Star Wars/Trek):

- quickrender an Imagine starfield
- save it and map the image onto a plane
(make sure you create a state and lock it)
- set-up the camera to look directly at the entire plane
- create an appropriate-length animation in which the
plane scales to about 10 times its current size
- here's the key:  starting with frame 2, use the previously
rendered frame as the backdrop image for each successive frame
- once you've rendered the animation, you can use it as a
backdrop for star fly-throughs or map it onto a plane for
cool special effects

The great thing about doing it this way is that you can easily
achieve different but equally nice effects by changing the
position of the camera, the length of the animation, the scaling
amount, etc. and re-render.  Also, other cool effects can be
accomplished with clever uses of other parameters such as using
the image as a transparency map on a plane with randomly colored
faces for a colorful explosion effect.

### LIGHTS VISIBLE BEAMS

* Subject: Visible light...again.
* Date:    Sunday, 22 January 1995 19:12:13 [58]
* From:    Curcio Nicholas <curcion@db.erau.edu>

Now, for all you water people.
      DATAIL
      1.  Take a sphere and make it a blue color.
      2.  Remove approx. the top 2/3 of the sphere.
      3.  Apply the "crumpled" texture (3.x)
      4.  Apply the "transpar" texture (3.x)
      5.  Add an axis, and make it white light source.
      6.  Place the axis above the piece of sphere and group them.
      STAGE
      Place this object high above your scene.  The light coming through
      the crumpled spots makes a great underwater effect.

### PHOTONS PHASERS LASER BEAMS

* Subject: Re: Photon torpedo?
* Date:    Wednesday, 25 January 1995 00:26:06 [58]
* From:    "Francis X. Govers" <fxgovers@sun.aitc.rest.tasc.com>

From: Bill Osuch <wrosuch@icon.net>
>Anyone have any suggestions on creating the basic shape for a Trek-ish
>photon torpedo? I basically had the idea of a ball with various spikes all
>over it, but being a novice with the forms editor I can't quite seem to get
>it to work.

Go to the Detail Editor
Add a primitive sphere (not a sphere) with a lot of faces. (24x24 works well)
Go to Select Points
Select Range
type in 1,nnnn,5   (select every 5th point or so)
Hit the Scale button and scale up the points
Instant spiky sphere!!

For various heights, change the select range third number (try,  20, 12, and 40
and scale different amounts)

For a wild effect, start with this first spiky sphere, and use state animation in
the detail editor to save the state first as a sphere, then with a first set of
spikes.  Create a second set of spikes by selecting a different start
point and step size, then save as a second state.  Have Imagine morph states.

* Subject: Re: Photon torpedo?
* Date:    Wednesday, 25 January 1995 02:24:37 [58]
* From:    sauvp@citi.doc.ca (P.Sauvageau)

>Anyone have any suggestions on creating the basic shape for a Trek-ish
>photon torpedo? I basically had the idea of a ball with various spikes all
>over it, but being a novice with the forms editor I can't quite seem to get
>it to work.

The "spikes" can be created in the detail editor, by adding a primitive
sphere with a low number of points. Select about 6 to 8 points, evenly on
the sphere and scales thems up until you got the kind of spike you whish.
Make this object "Bright" and add the radial texture to make the tips of the
spikes red and the center of the object also red, but with less saturation.
Fading from saturated color to low saturated color is a good way to make
thing appears "bright". Add another sphere, bigger than the spikes; make it
red with a fog setting two time it's diameter, and add the "Ghost" texture.
This second sphere will create the "hallo" around the torpedo.

When you animate the torpedo, apply two time (on different axis) the
"rotate2.0" effect, with two very large number of degre of rotation (like
6000), so in each frame, the torpedo will have some pseudo-random alligment.

Make the torpedo a light with controled falloff and make it's Y axis 3 time
the size of the "halo" sphere. The torpedo will illuminate the firring ship
when launched.

Be sure to use "Controled falloff"; i remember an anim of a friend where the
position strobe lights of a space ship where casting red light on a distant
planet on the background; It was barely visible, and since he was short on
time, it make it to the final tape! So "Controled falloff" is a must if you
do not want to illuminate the whole galaxy!

### NEBULA

* Subject: Re: Nebula effect
* Date:    Thursday, 26 January 1995 12:39:41 [58]
* From:    a00448@dtic.ua.es (ERNESTO POVEDA CORTES)

On Jan, 25 1995 Mike wrote :
> Say, I was wondering if anyone knows how to create a Nebula effect?
> I'd like to use the Imagine Starfield and have a gaseous Nebula in the
> background. I'm sure this is probably easy to do....but it's got me
> stumped.

I was after a similar effect and the best results i get was doing a sphere
tint it to blue and use the nebula texture on it. Put the sphere behind your
scene far far away and test it. Maybe using the ghost texture and high noise
on it will surprise you.

### WAND MAGIC SPARKLES

* Note: Unable to find author of following text.
*       Most likely came from Compuserve (GreG ?)

Create an object that will be the length of the "sparkle" stream.  I 
suggest a very elongated tear drop shape, though you can create whatever 
suits you.  Note, make it symetric, ie: don't worry about making it bend
or twist yet.  Make the object BRIGHT.  Set the filter values to the
object at 255,255,255.  Do not set specular.  We now have an invisible 
object.  Apply the old workhorse CONFETTI.ITX to the object.  Set the 2 
colors to your liking, a yellow and an orange should work well.  Make 
V1=0.5, and V2=0.55.  Leave everything else at the default settings.  
Now render the object to see how large the confetti particles are.  
Scale the confetti texture axis down to decrease the size if they are 
too big.  What you have now are little bright "particles" that follow 
the shape of the teardrop.  This will be used to create a following 
trail.  If you want more particles, decrease V1, if you want less, 
increase it making it closer to V2.

In your animation, you should create a spline path that your wand follows
for it's motion.  We need it done this way so that we can have the 
confetti teardrop follow the same path as it CONFORMS to the path.  
Having it conform to the path will cause it to twist and turn and bend 
fluidly behind the wand as it moves.  But the best is that we are not 
limited to types of motion.  Make sure that the parent axis of the wand 
is located somewhere in the tip of the wand, because that axis is what 
follow the path.

Ok, great, we have a wand that has a tail that follows it, but the 
confetti particles are static, it'll look wierd!  Ok, then apply the 
technique you asked about in the previous question, and morph two 
teardrop objects where the second object has the displaced confetti 
texture axis.  Now the confetti will also be in motion.

### CANDLE

* Subject: Candle
* Date: Thu, 09 Feb 95 01:17:00 +0100 [59]
* From: torgeir.holm@tbc.bbs.no (TORGEIR HOLM)

[CJO's candle flame question]

I made an animation of a candle a while back, which came out pretty
nice.

Take your basic candle-flame ellipsoid shape and add the following
attributes:

	Fog Length: 0.10

    Texture: Ghost

	Fog length at T: 400
	T: 0.8

    Texture: FogTop

	Fog length at T: 200
	T: 0.5
	Noise Magnitude: 0

	Place the axis so that the origin is in the tip of the flame,
	and the bottom of the bounding box is 2/3 towards the bottom of
	the flame. With the Z axis pointing up.

    Texture: Fireball

	Color1: 255,255,100
	Color2: 200,030,000
	Noise: 0
	Reflect&Filter 1&2: 0

	Place the axis so that the origin is in the bottom of the flame,
	and the end of the Y axis is in the tip.

BTW: my object was about 60 units wide, and 150 units tall.

You can now add a child axis in the middle of your flame, and make it a
lightsource.

To animate this, make sure the Y axis points upward (Do this before
adding textures, as their placement is relative to the axis), and move
the the object up along a wavy path with conform to path. Then move the
path back dovn a mirror copy of itself, so that the flame stays in the
same position. Makes a really nice and realistic candle- flame

### DISCO BALL

* Subject: Disco Ball
* Date: Wed, 8 Feb 1995 01:29:04 -0800 (PST) [59]
* From: "Randy R. Wall" <rrw@ecst.csuchico.edu>
 
Well, sense I had nothing else to do I thought I'd give a quick try at 
that Disco Ball and see if what I thought would work would.
 
I think it works pretty nice, but there were a few things I didn't try 
sense I wanted to post something for you before I hit the sack.
 
Anyways, heres what I did for a fairly simple Disco Ball, but one that 
stiil looks and works nice.

Add a Sphere
Load the Chrome.Attribute 
Add the RadWind texture and set it to:
 
Radial Scale   -1.0    Color 1 R   255.0
Z Scaling       3.0    Color 1 G     0.0
Sweep Division 20.0    Color 1 B     0.0
Fraction 'On'   1.0    Color 2 R   255.0
Dist Travelled  0.0    Color 2 G   255.0
Min Spacing     0.4    Color 2 B   255.0
Max Spacing     0.4    Reflect Adj   1.0
Transparancy    0.0

The colors can be changed to what you like, but its a good idea to have 
one a darker color so that when the Transpar texure lights the walls with 
the little squares some of them will be darker than others.. It maybe 
a good idea if you are going to have a couple of colored lights hitting 
the Disco Ball to use a grey color like 100,100,100 for the dark color 
and 255,255,255 for the lighter color.

Anyways on to the rest of the Disco Ball. 

Now Add the Transpar texture and leave it at the defualts

Now Add an Axis to the center of the ball and set it to a Point Source 
Light and Cast Shodows.

Now your ready to render it.. If you don't have a lot of things to 
reflect or lots of glass objects you maybe able to speed things up by 
setting the RSDP in prefs to 2. if you do have a lot of things to render 
than set it to what need be. But if you want to test out the Disco ball 
so you can set it up how YOU like it then I would recomend putting it in 
a box with an open end for viewing and set RSDP to 2. This should work 
fine for these test. The Ball I have explained should give you a very 
good starting point, if not good enough for your project?
 
The only thing I found I didn't like about it is the squares are all the 
same distance apart, but the dark and light colors help break this up a 
bit as well as having the windows Min & Max Spacing fairly large. You 
could make these smaller to make the Ball look a bit better but I didn't 
like the sqaures on the walls so close together when I did this. But then I 
was testing it in a fairly small box..I think in a larger box 
it might look quite good. Especially if there were other things in the 
room for the squares to interact with..Anyways something for you to play 
with..
 
Well I hope you like the looks of it. I tried the Mosaic texture on it 
and that looked pretty cool too, but not quite right. I think these Disc 
Ball actually have many different shapes on them so the produce different 
shapes on the ground. But the Mosaic texture was a bit to much. I was 
going to try a combination of a couple of texture, But thought  it would 
take a while to play around with this and really only wanted to see how 
my suggestion would work sense I was only guessing about it. And sense it 
did work I figured I'll leave the playing around with the textures for you..

### SMOKE CIGARETTES

* From: rbyrne@3dform.edex.edu.au (Robert Byrne)
* Date: Thu, 9 Feb 95 20:48:51 +1000 [59]
* Subject: ideas on how to make chaotic cigarette smoke

Hello Allan,  here's a couple of suggestions I've found, but can't take
credit for. I've tested the Particles method but 1 frame took about 23
hours to render on an A3000. The texture method would be worth trying
first.

SIMULATING SMOKE WITH PARTICLES

Check this Tutorial out:

-Detail Editor

  -add primitives: sphere

  -attributes:     color 128,128,128       fog 180

	 CLRNOIZ TEXTURE:
		   color 64,64,64          r,g,b,color vary 0

  -particles:      cube
		   random align
		   interpolated
		   dimension 150 units

  -save object

-Action Editor

  -add particle effect to loaded sphere (to all anim frames)

      (TOT == number of frames)

	       emission
	       travel distance  100 units
	       scaling  1
	       time to terminal h  2
	       elasticity  50
	       time to terminal z  TOT
	       velocity  .5
	       min angle x  -5
	       max angle x  5
	       wind velocity  5
	       wind angle  33
	       wind start  -TOT  (minus TOT)
	       wind stop  TOT
	       emission  95%
	       SET ALL OTHER VALUES TO  0

REMEMBER:   add  a  backdrop  picture,  plane  or something else behind the
particle  object  because  it  is  a  fog  obj!!!   --  do  you  want see a
blank/black screen?

SMOKE (GAS) USING THE NEBULAR TEXTURE

I've just been playing with the Nebular texture to create a little animated
smoke.   Works  great,  and  I just thought some of you with 3.0 might make
some use of this info.

Remember  to  render  fog objects in front of a background object, and that
this  texture  will  apply to the area bounded by the texture axis, not the
entire object.  Scale the texture axis to affect the shape of the fog.

General Notes:

Noise  1  seems to affect the quality of the swirls.  Higher numbers adjust
the   thickness  and  reduce  the  transparency.   Noise  2  affects  color
transitions,  color intensity of nebular color as set in texture requester,
and color mixture, or grain.  Grain appears as a very pointillated surface,
as  if  there are thousands of dots of color rather than a smooth gradation
or  defined boundaries between object and nebula colors.  Higher numbers of
Noise 2 intensify the nebular color and increase grain.

Fog  length and the 'T' value work together to determine amount and density
of  the  fog appearing on the object.  For stills I would set the 'T' value
between  .6  and .8, object fog length at .1, and adjust the 'Fog Length at
T'  to  get  the  right density of fog.  I would use the 'T' value combined
with some of the noise values to create a fluctuating fog, or even to morph
from a dense fog to one very nearly dissipated.

A  nice,  swirly  smoke  might  use the following attributes in the nebular
texture  requester.   I  used  these on a sphere primitive with diameter of
300, so use that number as a reference to fog length.

  Object color:
  R:150
  G:150
  B:175

  Object Fog length:
  .1

  Nebular attributes:
  Fog Length at T:500
  T:.8
  Noise 1 Magnitude:5.0
  Noise 1 Velocity:1.0
  Noise 2 Magnitude:.2
  Noise 2 Velocity:10.0
  R:150
  G:100
  B:225

The  texture axis forms a square completely inside the sphere object, whose
corners touch the inside surface of the sphere.

### FORMS EDITOR

* Subject: Forms Editor Tutorial (was: Imagine WWW site)
* Date: Sun, 12 Feb 1995 23:11:01 -0500 (EST) [59]
* From: jgoldman@acs.bu.edu

	The forms editor is the greatest tool in Imagine's arsenal!!! It's so
powerful and flexible, (you can create almost anything) it's almost impossible
to create an all-encompassing tutorial. Perhaps if you suggest types of
objects... For instance, Creation of Humanoid Bodies and Body Parts. I
dunno...

	I posted a small Getting to Know the Forms Editor type of thing a
while back. Let me see here... Ahhh...

---- Forms Editor thing...----

	This is my advice to anyone interested in the forms editor. A
lot of this may be elemantary, but some info might actually be
useful... This might definitely (good grammar?) get confusing... It's
also rather long...

	The forms editor is one of Imagine's greatest features. I find
it's easier to create incredibly realistic things in the forms editor
than with NURBS (ooohhh, imagine a spline based forms editor)...
	Basically, when you create in the forms editor you edit an
object's profile. It's sort of like MRIs (Magnetic Resonance Imaging)

	A Basic Form Example-

	Take a simple example, your thumb. Treat your thumb as if it
were an object on an axis. Say that the Z-axis runs from the base of
your thumb to the tip. The X-axis runs across the top of your thumb.
The Y-axis goes through your thumb. In other words, if your thumb were
an Imagine object it would be oriented as if you were viewing a
painting with your thumb out in front of you...
	First trace the right profile of your thumb. If you want to do
this the extra step way, lay your thumb down on a piece of paper and
trace it for all three views (you'll have troubles with the top view,
so just eye it.). Then, just copy what you see on paper to the screen.
Do this for all three views. What you get is a pretty crude looking
thumb. To get a better looking thumb you have to go in and edit
individual cross-sections. But first...
	Remember that if the object is solid you must have a totally
enclosed profile (the endpoints are separated normally. You have to
place the endpoint points at the same location. An easy way to do this
is to select the cursor lock and lock the endpoints to similar grid
locations).
	In the case of the heart, do the same thing as the thumb...

	What the Forms Editor Really Does-

	It's important to understand what exactly you're doing when
manipulating points in the forms editor, so go back to a simple sphere
(new object and new defaults). Turn on the solid wireframe option and
view the sphere object from the front. Notice how many points are on
your front view profile. You will see that they equal the number of
vertical sections in the wireframe object divided by two. Every point
in an editor view has a twin on the opposite side of the object
(except for the top view). If you add a point in the front view you
will notice that two points are actually added. One on one side of the
profile, and one on the other side. When altering an object's profile
you actually directly manipulate a specific point, but because of the
forms editor's nature it changes other points around it to tween and
smooth the change.
	
	Editing Individual Cross-Sections-      

	Look at a forms object like several horizontal cross-sections
(which are circular by default) connected like skin. Think of the top
view as the cross-section editor. By default only one cross-section
can be manipulated, the top one. It can be considered a controlling,
or key, cross-section. Because it is the only key cross-section
defined on the object then whatever you change will affect every
cross-section below it.
	To have ultimate control of the individual cross-sections you
have to define the cross-section you want to manipulate as a key
cross-section. You do this by selecting '+ KEY' and selecting the
cross-section you want to manipulate (in the front or right view).
When you perform this operation (or 'Select') Imagine will display
which cross-sections have been defined as key cross-sections in red.
At first, you will notice that only the top cross-section is
highlighted in red because no others have been selected to act as key
cross-sections. Make the middle cross-section a key cross-section.
The object now has two cross-sections which can be separately
manipulated as keys. Use 'Select' to pick the cross-section you want
to alter.
	Think of key cross-sections as animation frames. In an
animation you can set an initial postion for an object on one frame
and a final position on another frame. These two frames are now key
frames. When the animation is generated the object's position will
tween between the two key frames. The same process occurs with key
cross-sections.  All non-key cross-sections tween between key
cross-sections.
	Take an example of a salt shaker with a circular top and
square bottom. If you create a circular key cross-section as the top
of the shaker and a square key cross-section for the bottom all the
cross-sections between the top and bottom will blend to form a smooth
transition from cirle to square.
	So now you know how to alter the individual cross-sections.
Remember that you can also delete key key cross-sections. Just be sure
you select the appropriate cross-section. BTW, Imagine tells you waht
cross-section you're manipulating in the upper menu bar. Also,
remember that Imagine's cross-section tween goes from key to key in a
downward order. If there is no key cross-section at the object's base
Imagine will use the next highest defined key section.

	So Where do the Front/Right Views Come into Play?-

	If the top editor edits individual cross-sections then the
front and side view editors locate the cross-sections in space. The
default sphere has all the cross-sections parallel to each other. You
can change the orientation of a cross-section (so that it is not
parallel to the ground) by moving points on the front and right views.
Basically, the front and side view alter an objects overall profile
shape.
	This particular explanation only really works with the default
sphere, but the results can be translated to any object. The front
view controls all the points along the object's x-axis. The side view
controls all the points along the object's y-axis. This effectively
splits the sphere into four sections; a front profile, back profile,
left profile, and right profile.
	In the front view select the right-most point and you'll
notice that it's twin point will be highlighted on the left. These two
points define the right-most and left-most points of one
cross-section. Specifically, these two points represent two outermost
x-axis points on the middle cross-section.
	Similarly, the same two points in the side view control the
farthest points on the y-axis of the middle cross-section.
	You will find that by altering these you alter the orientation
of the cross-section. If you raise the right-most point in the front
view and lower the left-most point the middle cross-section now tilts.

	What Does It All Mean?-

	It's tough to explain exactly how the forms editor operates,
and in particular what alters what exactly. So my greatest advice is
to experiment.
	The easiest way to create object was illustrated in the first
section. Create profiles for the object you want to create. If you
need better form edit the individual cross-section as if you were
manipulating spars on and airplane wing or bulkheads on a boat.
	I can tell you now that only experience can show you what will
go wrong, and believe me something will go wrong. I can only say, keep
things simple. You probably won't understand this now, but try and
keep cross-sections relatively parallel to each other. If this means
adding more cross-sections then do it. You'll find that some really
complex things can't be done with small numbers of cross-sections, and
it's important to realize when you need more...

----------------------------------------  END

This *compilation* is (C) Copyright 1995 by Shane Davison.
It can be distributed freely as long as my name is included.
Please contact the author for use of a specific message.
