ObjectWorld Exercises
-
-
- The ObjectWorld
mel script was written to automatically find all objects
in a scene, add random velocities to each object and group them
all together. The bounding box of the group is used as walls
so the moving objects to bounce off of them. The software is
written in two procedures: "createObectWorld" sets
up the objectWorld and "moveObject" is called by expressions
and will calculate object movement on a frame by frame basis.
Using Keith Wentzell's idea, "createObjectWorld" automatically
creates an expression for each object in the scene and uses it
to uniquely call "moveObject". We can write code easier
and get it working better if we keep most of it in MEL and keep
expressions to a minimum.
-
- The exercises in this week's lab are designed
to extend this "ObjectWorld" script so that it (1)
accommodates a wide range of objects, (2) moves the objects in
various ways and (3) improve the interactivity of the objects.
-
- (1) The "ObjectWorld" script detects
the objects in the scene using the "ls" command and
then filters the list of objects by checking attributes and conditions
and by passing the names of the objects that we really want from
one array to another. For this exercise, open a scene of your own
containing a number of complex objects, run the ObjectWorld script
and see how it deals with it. Adjust the ObjectWorld script so that it gets the
right objects into the final "$objs" array. Try this with bound skeletons
with and without IK's. Include shaders, curves, lofted objects
and locators. Use your own judgment as to what should bounce
around and what shouldn't. Make a render of these objects bouncing
around and hand it in as a quicktime. Include the mb file and
a text file showing the MEL script with changes and explainations
as to what you did.
-
- (2) Every object in Maya which is a transform
node has a bounding box. We used the group bounding box to form
the walls of ObjectWorld. Use
the bounding boxes of each selected object to detect collision
so that every object bounces off every other object. Again render this and turn it in as above.
-
- (3) Currently we are creating random initial
velocity vectors to control the way these objects move. Change the way the initial velocity
vectors are set. Experiment with other
ways to manipulate the objects still using the velocity vectors.
In other word, consider having all the objects move to the center
and bounce off each other. Or consider having all the objects
move out from the center and start bouncing off the walls. Maybe
the objects are overcome by a gust of wind from one direction.
Again render this and turn it in as above.
-
-
Please deposit your text files along with quicktimes
and mb files into the class folder in mycourses.rit.edu.
Thank you.