Trying to animate a character by hand (using a package such as Maya) is tedious and likely will not capture all the subtleties of motion. An alternative to animating by hand is motion capture or mocap. Mocap requires a studio with expensive equipment that records the location of positions on actors bodies. This motion data is applied to 3D characters so they behave just like the real life actors.
Endorphin is a new twist on character animation. It uses a different approach. To capture motion, you place a "dummy" into your 3D scene. This dummy has highly tweak-able "behaviors" that make it react in a very convincing fashion. Once your scene is setup, you press the "simulate" button to calculate what will happen. Simulations run in real time, so feedback is very quick.
Here is an example I threw together in about 5 minutes. It is very simple. I applied a force to the chest of the dummy to simulate a gunshot. I also applied a behavior to the dummy called "stagger" that is responsible for how the dummy reacts to the gunshot. Then I pressed play to see what happens.
Here is a more complex example. This was also very easy to setup...probably about 10 minutes. I started by having the dummy jump by giving the dummy a jump behavior. I tweaked the jump behavior until the dummy's hands were close to the pole. Then I added a constraint that locked the dummy's hands on the pole. The hand constraint causes the dummy to rock back and forth on the pole. I added another behavior called "legs kick" that adds a bit more life to how the dummy moves his legs move back and forth. Then I undo the constraint to let the dummy fall to his death. It is really fun killing dummies.
The next thing I tried was posing a character. For example, how do you position a character so that it looks like they are sitting in a chair? With Endorphin, it is very easy. Since the dummy reacts like a real human, you just place him in the seat. His body will collide with the chair (not go through it) until he is sitting. And since the dummy understands how humans move, the resting position of the dummy in the chair is very believable. For example, if you try to place the dummy's arm on the arm rest, the rest of the body will react appropriately without letting you create an arm position that a human cannot possibly have. Positioning a character in Endorphin is very easy and a huge time saver verses doing it by hand.
Several big name video games are using Endorphin for their character animation. The new Indiana Jones video game is one example coming out in 2007. Namco's Tekken 5 also used Endorphin for generating the animations of two players fighting each other.
Endorphin is not cheap. The full version costs $9,495 plus 12 months of maintenance for $2,395. If you can't afford to buy their software, you can rent it for $1,195 a month. If you want to use this app for non-commercial purposes, you can get the student version for $995.
I used the free trial version this weekend. The only difference between the free version and the full version is what you can export. The full version will let you export data (via FBX file format, for example) that can be read by an animation package like Maya. You can also export movie clips. The trial version will only export movie clips.
Since you can do all your work in the free trial version, it may be cheaper to get your scenes setup in the trial version and then rent the software for a month in order to get the motion data out. I'm not sure if their license allows you to do this, so I'd check with Natural Motion first.
Natural Motion has several very impressive video clips on their website that show off much more complex examples. Check them out here.
Final thoughts...very fun program to play with. When I do character animation in the future, I will certainly consider Endorphin as the fastest/easiest/cheapest way to get good looking character motion data. Highly recommended.