Labs 1 and 2, on
Direct 3D and 3D Studio Max
This lab project is intended to show that you have mastered the
basics of Direct3D, as taught in the textbook by Trujillo. The specific
elements we wish you to demonstrate are:
a) The ability to create simple meshes within the software (not just
by loading externally built mesh objects)
b) An understanding and mastery of frames of reference;
c) An understanding of lighting, and
if you get that far,
d) Some experience with interaction.
Your graphical worlds consists of the following parts: The ground
plane and the cube-carousel (CC). The ground plane is grey in color and
is a large rectangle. Its edges are just barely visible in the default
viewport, so that the viewer can tell it is a polygon rather than just
a featureless grey background. The CC consists of a red square, parallel
to and slightly above the ground plane. (Anyone been to Moscow?)
It is located so as to be entirely visible within the default viewport,
without hiding all of the ground plane. In fact it should span no more
than 50% of the screen's width. Two diagonally opposite corners of the
square are referred to as the A corner and the B corner.
Sitting on the A corner with the center of its lower face exactly at the A corner, is a smaller blue cube, whose sides are about 1/6 the length of the red square's sides. Sitting on the B corner, similarly centered, is a larger green cube whose sides are about 1/4 the length of the red square's sides.
There are two lights in the scene: a directional light shining from above and behind the viewer, and a spotlight mounted on the A cube and shining horizontally.
The carousel operates as follows: The red cube rotates about a vertical axis through its center. It rotates clockwise (looking down) at about one revolution per four seconds. The green cube is carried along with the B corner. It rotates counterclockwise with respect to the red square at the same rate as the red square is turning, so that the green cube has no net rotation.
The blue cube rotates counterclockwise twice as fast as the green square. This will have the effect of scanning the spotlight across the green cube and red square, as the spotlight spins around. This effect should be visible in terms of variations in the lighted objects' appearance.
A flat lighting model is appropriate since we're not simulating any curved surfaces.
Scoring: The above is a "B" lab - the minimum requirement. To get an A, add one or more of the following features:
* Add an interactive command so that a keystroke changes the system's
behavior (e. g. reverses the rotation.)
* Replace one of the cubes with a more complex polygon (it's OK to
get it from elsewhere; you don't have to model it) and use Gouraud shading.
* Add other features which you may choose, to make the cube-carousel
more interesting.
Deliverables: On the designated Show and Tell day, you will provide
me with an executable demo in the lab in CSB 110 (test it beforehand!).
You will also provide me with a printed listing of the essential code you
produced (probably 5 pages or less), including comments that describe what
your contributions to the code are, and how the project works.
Modeling and animation with 3D Max can be an elaborate process, and people spend years mastering the concepts. This exercise is intended to take you just far enough into Max to appreciate its subtleties.
I recommend a "skimming" approach to learning about Max. Learn just enough from each chapter of the text, to master the concepts and then move on toward your objective. Which is:
You will be able to learn most of the commands necessary for the animation part of this project, from the animation tutorial on page 439 and 440 of the text ("Using the Path Controller".) You will need to learn some basics about model building prior to that. The text is quite self-explanatory.
However, as always, the "A" is in the details.
For a "B" lab: A simple external view of a car sliding along a track. The track should be modeled so that it at least has two parallel rails and the car goes around a closed loop, once. If the car doesn't orient appropriately to follow the track, your project is in danger of slipping below a "B".
"A" lab: Add two or more of the following features:
* Car's speed varies realistically as it goes down and up hills
* Render the movie twice - once from an external view, and once from
an in-car view
* Put two or more cars on the track.
* Add details to the model - cross-ties on the track, a framework to
hold up the track, background scenery (texture maps are nice.)
* Put an avatar (human figure) in the car. (Well, this gets a bit extreme
unless you really love modeling - or learn howto use Character Studio.)
* Other interesting extensions that you may think of.
Have fun!
JMM