Insectoids

ABSTRACT:

Insectoids is a system for animating flying insects in Alias Power Animator 8.x. It is a random path generator; the random paths are imported into Alias and assigned to 3D modeled insects as motion paths. 

In Insectoids, a random path  connects (at least) two points: a start point and an end point.  You can explicitly specify these points or let Insectoids randomly generate them.  A start and an end point pair forms a stage.  A path can pass thorough any number of stages.  To define the stages, you create a polyline in Alias with the points you want the path to pass through as its vertices.  You save this polyline in OBJ format and import it into Insectoids.  If there are n vertices on the polyline, there will be n - 1 stages.  For example, a polyline having vertices A, B and C will have stages AB and BC.  It is not compulsory to define stages this way, Insectoids creates a stage for you when its starts up or when you reset it.

The path parameters allow you to make the insect fly faster or slower, cover more distance or less, and flutter a lot or glide smoothly.  You can edit these parameters on a stage by stage basis.  It is possible to assign parameter changes to all stages or let them be independent of each other.  You  could therefore have an insect flying faster in one stage, fluttering a lot in the next and covering more distance in the third. A lot of combinations are possible, please experiment.

Though Insectoids is intended for animating flying insects, it doesnt stop you from animating the non flying variety like beetles and ants.  These insects also move randomly but with a difference.  They move on the ground (or wall or cieling -- a 2D plane).  You can generate random paths that lie only on, say, the XY plane by having the start and the end points lie on that plane and disabling the randomness in the Z direction.

In addition, Insectoids offers the following convenience facilities for Alias animators: 

Paths can be exported as Polylines or B-splines.  Generally, Polylines are useful for animating insects that jitter a lot while B-splines are useful for animating insects that glide smoothly.  The vertices of the Polyline version of the path become the Control Vertices (CVs) of the B- spline version.  Polylines represent the path accurately while B-splines dont.  Use Polylines if you want your insects to fly exactly through the stage points and at the same time. If you want them to fly close to the points without touching them and at slightly different times, use B-splines.
The detail on the path can be controlled by the size of the insect as measured in Alias.  This ensures that the insect visits all points on the path and properly negotiates its corners. 
In the 3D model of the insect, the axis along which the head and tail is present is its orientation.  When Insectoids is given this axis, it generates a small extension (out-growth) at the start of the every path along this axis.  This acts like an handle for the insect to hold on to and helps Alias to get the insect to follow the path correctly.  It also saves the animator from manually orienting the insect.
Insectoids suggests the minimum number of frames required in the animation for the insect  to traverse all points on the path.  Using this value as a starting point, you can time your animation. 
Once you have the required number of 3D insects and the random paths in Alias, the animation process is very simple.   The pseudocode below explains it all:
for i = 1 to n_insects
do
     Pick the ith Insect
     Choose Anim -> Set Motion
     Pick the ith Random Path
done
If a macro facility were available in Alias, this process could have been automated.  On Maya, I think this is possible by writing a MEL script.  I have not worked on Maya, so if you are interested in volunteering to write this script, please contact me

PROGRAMMING LANGUAGES + LIBRARIES USED:

Insectoids was completely written in Java with the intention to run it simultaneously on IRIX and Windows NT.  To have an uniform look and feel on both these platforms, the GUI for Insectoids was developed using the new Java Foundation Classes (JFC) library.  (See Figure 1 and 2 below)

irix.gif (18790 bytes)
Figure 1 :  Insectoids running on IRIX.  The colors appear slightly darker due to a different gamma value on our SGI monitor and not due to the JFC library. 
nt.gif (21750 bytes)
Figure 2:  Insectoids running on Windows NT.  

PLATFORMS SUPPORTED:

IRIX 6.2, 6.3 + 6.4
Windows NT
Any Java compatible platform

DEVELOPMENT TOOLS:

Java Development Kit (JDK) 1.1.5 from Sun Microsystems
Java Foundation Classes (JFC) 1.0.2 from Sun Microsystems
CodeWright for Windows 95 | NT from Premia Software

 

Best viewed in Netscape 4.x or IE 4.x @ 1024 | 768 | 16-bit colors
Please send bouquets or brickbats to sjagan@hotmail.com
Copyright (c) 1998 Jaganathan Sampath
All Rights Reserved


This page was last updated on: December 9, 1998
All content on this web site is dedicated to the luse