H-Anim figures are often embedded in VRML and X3D worlds using the interfaces described in Annex C VRML interface and Annex D X3D interface. This annex specifies guidelines that can smooth the use of H-Anim figures within these environments.
In these environments, H-Anim objects are represented in the form of VRML and/or X3D nodes. Thus, throughout this annex, references to nodes indicate H-Anim objects that have been already been mapped into VRML and/or X3D nodes. Thus, the type of all VRML and/or X3D nodes are shown in monospace font.
Table E.1 lists the topics of this annex.
Particular views of the humanoid may be specified in two techniques.
In the first technique, the author of the humanoid creates Site nodes in suitable locations. A Viewpoint node may then be created and attached to any of the Site nodes. The Viewpoint node will then track the motion of the humanoid’s body parts.
In the second technique, Viewpoint nodes are instanced in the viewpoints field of the Humanoid node to create a view of the humanoid that tracks its motion through space without being affected by the movement of any of the body’s Segment nodes. Viewpoint nodes that are placed in that field are also be available whenever the humanoid is loaded into a browser, and are therefore useful for previewing the character.
There are several specific viewpoints that may be included in the file. The Front_view should face in the -Z direction, the Side_view should face in the -X direction, the Top_view should face in the -Y direction, the Inclined_view should face towards (-1 0 -1), and the Best_view can provide a view from any direction which best highlights an individual humanoid's unique characteristics. All these Site nodes should be displaced from the centre of the humanoid by a sufficient distance to show the entire humanoid from that view.
Additional views are possible. All Viewpoint nodes for a humanoid should be listed in the viewpoints field of the Humanoid node. Using this convention, systems that use several models in the same scene may choose to disable all the extra viewpoints by sending an empty MFNode event into the viewpoints field of the node.
A NavigationInfo node can be included at the top of the file to put the VRML and/or X3D browser into EXAMINE mode. The type field should always include “EXAMINE” first and “ANY” second:
NavigationInfo { type ["EXAMINE", "ANY"] }
This makes it easy to examine the humanoid from all angles. The default value for the type field of the NavigationInfo node in X3D is the value specified above (see ISO/IEC 19775-1).
There are some cases in which it is useful to have multiple humanoids in the same file, perhaps alongside other elements of a 3D world. In such a case, it is recommended that the humanoids be assigned unique DEF names (rather than “DEF Humanoid”) and that those names be referenced as the children of a Group node named “HumanoidGroup”:
DEF Fred Humanoid { ... } DEF Jane Humanoid { ... } DEF Sally Humanoid { ... } DEF HumanoidGroup Group { children [ USE Fred, USE Jane, Use Sally ] }
An external application can obtain a reference to the HumanoidGroup for
the scene and, by iterating over the children of that group, obtain
references to the individual humanoids.