Humanoid Animation (HAnim)
The HAnim Working group develops and demonstrates the Humanoid Animation (HAnim) International Standard. HAnim supports a wide variety of articulated figures, including anatomically correct human models, incorporating haptic and kinematic interfaces in order to enable sharable skeletons, bodies and animations.
Overall, a standard implementation provides access to the joint and end-effector hierarchy of the human figure for the purpose of animating the skeleton and thus skin vertices associated with joints and geometry/accessories/sensors associated with individual body segments and sites in a model-independent manner. It is the goal of the working group to introduce new tools, examples, and interfaces to further the adoption of X3D HAnim. This extends the availability of typical behaviors to the widest possible range of skeleton/skin combinations.
The basis for X3D HAnim is specified in ISO/IEC 19774 (see All HAnim standards) which provides complete normative and informative detail to specify an abstract human form. The initial specification defined the skeleton arrangement of joints, segments, and sites exhibiting four levels of articulation along with the normative initial or default skeleton pose. For reference this document also includes informative dimensional and feature data of a 'standard' human character provided by NIST as consolidated from several international sources. Version 1.0 published in 2006 added interfaces for seamless deformable skin controlled by weighting of associated joint rotations.
The main emphasis is to produce a basic model in sufficient detail to allow 'standard' animations based on realistic rotations and translations of the joints to be shared between 'standard' human models. The 'standard' human models have a certain joint hierarchy represented at various levels of articulation, reasonably similar dimensions, and a certain known initial or default skeleton pose. Typically, knowledge of this normative skeleton pose is key to the sharing and fine-tuning of typical animation routines.
Next, an ISO/IEC X3D Abstract, Encodings, and SAI family of standards provide an environment for the HAnimHumanoid model to display functionality. Our ISO/IEC 19775-1 X3D Component 26 Humanoid Animation (HAnim) describes HAnim interfaces in terms of the X3D scenegraph along with the SAI script and/or timer-interpolator and displacer animation environment. For X3D, the HAnim joint hierarchy provides that, for example, a rotation applied to the right shoulder joint results in appropriate displacement of child joints, segments, and sites of the right elbow, wrist, and hand, along with the associated skin.
The HAnim specification is being revised as HAnim 2.0. It consists of HAnim Part 1 Architecture, and Part 2 Motion data animation. Part 1 extends HAnim 19774: 2006 with LOA (Level of Articulation) 1, 2, 3, and 4 hierarchies. Part 2 specifies motion capture animation based on the HAnim architecture.
The current X3D HAnim standard is implemented natively by several Web3D X3D and VRML browsers or by X3D/VRML prototype in others, in open-source JAVA and JOGL, by Collada generators and consumers, and by import/export in most 3D modeling and animation tools and systems.
HAnim facial animation standards are being developed in order to represent human facial expression. Facial models are being specified using region-based modelling. This is very similar to general methods of design of facial animation using mesh deformation. In this type of modelling, X3D interpolators and morphors can be used to generate facial animation.
Work on HAnim internal organ representation has started to develop standards for modelling and animation of human organs. The work is intended to provide medical and health professionals with medically correct definitions for representing human internal organs in 3D scenes.
If you are a Web3D Member interested in improving and evolving our current World Standard Human model, especially for the purpose of promoting the sharing of both HAnim models and their animations, please join the HAnim list and introduce yourself. Our current model can be improved by added normative detail, informative kinematic data, and example animations.
If you are not a member and interested, then there are several open forums, including the x3d-public mailing list, the HAnim Developer Forum, and elsewhere on the WWW to learn about Avatars and Characters. When you have a look, you will see that any time you spend getting familiar with X3D HAnim will most likely not be wasted - at least you will see the basics and better judge how to leverage your work.