Humanoid animation

Humanoids are one of the most challenging things to animate well. Typically motion capture data is used to create keyframe animation but can also be animated using simulation techniques instead (however that usually requires much more processing power and is therefore not always appropriate to do for real-time 3D.

In order to make life a little easier, a standard has been created that is called h-Anim. The idea was to create interoperable virtual models (ie "model once, animate everywhere) that can be used for a variety of applications. The current version (1.1) is supported by ISO VRML97 and MPEG-4.

In h-anim 1.1 (the current version of the specification), a humanoid is a hierarhical collection of segments, each of which is attached to a joint. Each segment is usually a separate piece of geometry, while the joints allow segments to be rotated relative to each other. Essentially, h-anim defines a naming convention for joints and segments and a neutral pose. To animate the avatar in VRML97 and MPEG-4, time sensors control interpolators that route animation data to the joint nodes.

To see examples of h-anim avatars, visit http://www.h-anim-org/

H-anim 2.0 will add support for continuous mesh humans and a file format for interchanging humanoid animation data. It is likely to be an independent format rather than based directly on VRML97.




Michael Louka, October 10, 2001