The HAnimHumanoid node is used to: (a) store references to the joints, segments, sites, skin and viewpoints, (b) serve as a container for the entire humanoid, (c) provide a convenient way of moving the humanoid through its environment, and (d) store human-readable data such as author and copyright information. HAnimHumanoid contains HAnimJoint, HAnimSegment and HAnimSite nodes, plus a single optional Coordinate/CoordinateDouble mesh with a single corresponding Normal node.
The HAnimHumanoid node belongs to the H-Anim component and its container field is children. It is available since X3D version 3.0 or later.
SFNode [in, out] metadata NULL [X3DMetadataObject]
Metadata are not part of the X3D world and not interpreted by the X3D browser, but they can be accessed via the ECMAScript interface.
SFVec3f [ ] bboxSize -1 -1 -1 [0,∞) or −1 −1 −1
Bounding box size is usually omitted, and can easily be calculated automatically by an X3D player at scene-loading time with minimal computational cost. Bounding box size can also be defined as an optional authoring hint that suggests an optimization or constraint.
Can be useful for collision computations or inverse-kinematics (IK) engines.
SFVec3f [ ] bboxCenter 0 0 0 (-∞,∞)
Bounding box center: optional hint for position offset from origin of local coordinate system.
SFVec3f [in, out] center 0 0 0 (-∞,∞)
Translation offset from origin of local coordinate system.
MFString [in, out] info [ ]
Contains metadata keyword=value pairs, where approved keyword terms are humanoidVersion authorName authorEmail copyright creationDate usageRestrictions age gender height and weight.
MFNode [in, out] joints [ ] [HAnimJoint]
Input/Output field joints.
SFString [in, out] name ""
Unique name attribute must be defined so that HAnimHumanoid node can be identified at run time for animation purposes.
Name is not included if this instance is a USE node.
SFRotation [in, out] rotation 0 0 1 0 (-∞,∞)|[-1,1]
Orientation of children relative to local coordinate system.
SFVec3f [in, out] scale 1 1 1 (0,∞)
Non-uniform x-y-z scale of child coordinate system, adjusted by center and scaleOrientation.
SFRotation [in, out] scaleOrientation 0 0 1 0 (-∞,∞)|[-1,1]
Preliminary rotation of coordinate system before scaling (to allow scaling around arbitrary orientations).
MFNode [in, out] segments [ ] [HAnimSegment]
Input/Output field segments.
MFNode [in, out] sites [ ] [HAnimSite]
Input/Output field sites.
MFNode [in, out] skeleton [ ] [HAnimJoint, HAnimSite]
Input/Output field skeleton.
MFNode [in, out] skin [ ] [X3DChildNode]
Input/Output field skin.
SFNode [in, out] skinCoord NULL [X3DCoordinateNode]
Input/Output field skinCoord.
SFNode [in, out] skinNormal NULL [X3DNormalNode]
Input/Output field skinNormal.
SFVec3f [in, out] translation 0 0 0 (-∞,∞)
Position of children relative to local coordinate system.
SFString [in, out] version ""
HAnimHumanoid version, where standardized ISO 19774 value is 2.0.
Prior versions of HAnim nodes might not validate correctly.
MFNode [in, out] viewpoints [ ] [HAnimSite]
Input/Output field viewpoints.
- MFNode arrays for joints, segments, sites, skin and viewpoints usually follow the human body definition and contain USE node references.
- The viewpoints field connects internal Site nodes that in turn hold relative Viewpoint nodes, such as HAnimSite USE='ObserveFace_viewSite' containerField='viewpoints'/> which has a corresponding <HAnimSite DEF='ObserveFace_viewSite' name='ObserveFace_view' containerField='children' description='look at me!'/> node.
- Include <component name='H-Anim' level='1'/>