Animats
Manual revision of March 1998.
THIS SOFTWARE AND MANUAL ARE BOTH PROTECTED BY U.S. COPYRIGHT
LAW (TITLE 17 UNITED STATES CODE). UNAUTHORIZED REPRODUCTION AND/OR SALE
MAY RESULT IN IMPRISONMENT OF UP TO ONE YEAR AND FINES OF UP TO $100,000
(17 USC 506). COPYRIGHT INFRINGERS MAY ALSO BE SUBJECT TO CIVIL LIABILITY.
Copyright (c) 1997 John Nagle / Animats. All Rights Reserved
Each purchased copy of the software gives you the right to run this program
on ONE machine only. If you need extra copies, please contact Animats
to purchase them. Quantity discounts are available. Running a single copy
of the software on more than one machine will be considered a copyright
violation, and Animats will take appropriate action.
If you install the software on a file server, so that it can be used by
multiple computers at one time, you must buy as many copies of the software
as could potentially be run simultaneously from the file server copy. Ordinarily,
this number will be equal to the number of softimage|3D licenses you have
purchased from Softimage.
You can make backup copies of the software as part of your ordinary file
backup procedures. Making copies for other purposes is prohibited.
Because of the nature of the animation industry, we make this exception:
you may, in a business emergency, make and use additional copies of the
software provided that you 1) have already paid for at least one copy of
the software, 2) contact Animats within 72 hours of so doing, and 3) pay
the normal retail price + 10% for each additional copy you made. This provides
you with some flexibility in a production crunch.
All legitimate copies of this software come in a shrink-wrapped box like this. If you come across a copy not in that form, it is a pirated copy, and we would like to know about it at piracy@animats.com. Any copy of Falling Bodies found on the Internet, other than the limited "demo" version, is pirated. Attempts to sell pirated copies commercially will be pursued as the criminal offenses they are.
Installation:
The effect comes on a CD-ROM. It can only be installed onto an NT/Intel
machine running Softimage 3.7 or later.
This will install the effect and the "anatomy modules".
If you get error messages when you type install, the usual causes are
If you get an error message when running Falling Bodies for the first time, common causes are
The installer installs the effect in the "%SI_LOCATION%\3d\custom" directories. It does not alter any Softimage scripts, set any registry variables, or make any other environment changes. It does not install any DLLs other than the effect DLL "DynamicActor.DLL". The minimum privileges required to install the effect are write permission for the "%SI_LOCATION%\3d\custom" directory and its subdirectories. Minimum installation is about 5MB; the CD-ROM contains about 30MB of content.
The "uninstall" script will remove the files installed by the "install" script.
Falling Bodies is a system for simulating fall stunts, using physically correct dynamics. You can create actors in Softimage, along with scenery for them to fall off of and on to, drop them, and have realistic motion generated automatically. The general idea is that you animate the character yourself up to the beginning of the fall, and let Falling Bodies do the fall. Unlike most dynamics systems, in this one the hard cases work right, as you can see from the demos.
Running Falling Bodies is simple; there's one immediate effect:. Select some part, any part, of the actor, and then run Motion->Effects->Falling_Bodies. The effect brings up a dialog box:
It's simple because Falling Bodies is obtaining all the
information it needs from Softimage itself.
The file name given must be the proper "Anatomy
module" for the actor. The demo models already have the appropriate
filenames associated with them, so you don't need to specify that. The
number of frames to generate comes from the Softimage play control; it's
the number left from the current play control position to the maximum on
the play control.
When Falling Bodies runs, it looks like a renderer; a big
window appears in front of the Softimage screen and shows the progress
of the job, and when done, that window disappears and Softimage comes back.
Speed varies with the complexity of the problem. About 0.5 to 2 seconds
per frame is typical, but some frames, usually the ones where some horrible
collision is happening, take much longer. Progress messages appear in the
"Falling Bodies progress" window.
To stop a simulation, just close the "Falling Bodies" window;
the results so far will appear in Softimage.
Softimage models have the usual properties which can be set with Actor->Dynamics->Physical Properties.
These work with Falling Bodies much as they do with Softimage's own dynamics module, with the following differences:
Joint rotation limits can be set with Motion->Constraint->Rotation Limits.
Usually, Damping Width should be zero. Everything else works
normally.
The last two degrees of joint travel are reserved for Falling Bodies'
springy limit stops. Allow an extra two degrees for this.
Gimbal joints (the first joints on all chains, and all joints on 3D chains)
need to be protected from "gimbal lock", where the first and
third axes of the joint align. All gimbal joints should have joint limits,
preferably ones with less than +- 80 degrees of rotation on each axis.
[Version 1 NOTE] There's a problem with inverse kinematics
and damping limits. Inverse kinematics will take joints out to the limit
of the rotation limits. ("Damping width" doesn't help; it restricts
FORWARD kinematics only. ) So don't take a joint all the way out to
the limits with IK and then start Falling Bodies from that
situation; Falling Bodies will complain that you've wound
up its spring too tight.
For help, mail support@animats.com.
A batch file for uninstalling Falling Bodies, "UNINSTALL.BAT",
is provided. The installer installs files, all of which begin with "Dyn",
in various Softimage directories. It does not make any registry changes.
The uninstaller removes the specific files installed by the installer.
It does not remove the directory "%SI_LOCATION%\custom\Animats".
Dynamic Actor itself creates a directory "\temp\DynActor",
in which it places various temporary files. This can be cleared at any
time, and it will not become unduly large.
Each model you can simulate has an "anatomy module" that has
the code needed for that simulation. These modules are files with the suffix
".dya". Anatomy modules are provided for humans and
common animals. A Softimage database, "Anatomy", is provided
which contains sample characters illustrating the use of each anatomy module.
These examples can be used for guidance. If you start with one of those
characters and modify it, you don't have to deal with anatomy module selection.
Each
anatomy module represents one "stick figure", like this one.
For your own characters, the skeleton chains in your character must exactly
match the joints in the anatomy module used. Sizes, masses, joint orientation,
and such don't matter; all that must match is the basic skeleton structure
- the joints and what they connect to. The skeleton structure of your character
must match one of the available anatomy models. This document shows the
"stick figures" of the standard anatomy modules, so you can pick
the appropriate module.
3 degree
of freedom gimbal joints (rotate in X,Y,Z) - roots of all chains,
all joints of 3D Softimage IK chains.
1 degree
of freedom pin joints (rotate in Z only) - non-root joints of 2D
chains
Root
joint of the character - can move freely in space.
New feature: In addition to the joints that match the stick figure,
models can have some additional IK joints. Extra joints out at the ends
of a limb, such as fingers and toes, are simply treated as rigid by Falling
Bodies.
The anatomy modules are usually installed in the directory "%SI_LOCATION%\custom\Animats".
Anatomy modules are actually programs in machine code. The ability to
build your own anatomy modules is not available at this time. (Generating
anatomy modules is a process requiring several expensive software tools,
including the SD/FAST system from Symbolic
Dynamics, Inc.)
If you would like an anatomy module built for an unusual character,
please contact Animats at support@animats.com. Custom anatomy modules can
be generated. A fee may be charged.
This robot-looking character illustrates how joints work. Yellow spheres
are 3 degree of freedom (gimbal) joints. Yellow cylinders are 1degree of
freedom (pin) joints.
A simple cartoon animal.
According to a delightful article by Kurt Andersen in the New Yorker for July 14, 1997, there are six types of aliens in Hollywood:
A large, four-legged bug, loosely modeled after recent work from Tippett.
The simplest possible anatomy module - no joints. Usable for any character,
no matter how complex. The whole character will be treated as one rigid
body.
Questions already asked about Falling Bodies, with answers.
The first is easiest; set the joint limits so that joints can't go further
than they should for anatomical reasons. Remember that collision handling
won't prevent bodies connected by the same joint (like a thigh and a calf
of the same leg) from interpenetrating. So set knee joint limits (with
Motion->Constraint->Rotation Limits) to prevent calves from
going into thighs, for example.
The "gimbal lock" problem is tricky. "Gimbal lock"
is a problem only for joints with three degrees of freedom; in Softimage
this is the first joint of a 2D chain and all joints of a 3D chain. Gimbal
lock occurs when the first and third axis of a joint line up. If all the
joint limits are narrow (under +-80 degrees or so) gimbal lock can't happen.
If you get "Gimbal lock" errors, try narrowing the joint limits
on the joints with three degrees of freedom.
The simulation will be very slow if a completely straight limb hits an
obstacle hard. In the real world, bones break when this happens. Falling
Bodies struggles to find a solution that makes sense in such situations,
but it takes minutes. You can prevent this by setting the joint limits
so that knees and elbows can't quite make it to the straight position.
One or two degrees short of straight is enough to stop this problem.
That's a long story. Internally, the system does not advance one frame
at a time; it takes much smaller steps, and the steps get smaller when
the problem gets messy. Sometimes the steps get really tiny, as small as
a microsecond, and that's when you see interminable "Frame 24: 75.3%
done" messages. In the initial releases of Falling Bodies, our main
concern is to make the difficult situations work right. Speed will come
in the next release.
Some speed hints.
Incidentally, even if you see "Frame 24: 75.3% done" over and over again, it's not stuck; eventually, it will work through the tough part and speed up, or (rarely) give up.