X3D version 4.0 was approved by Web3D Consortium and ISO in 2023.
X3D version 4.0 offers many new features including interoperability with HTML5, glTF
2.0 Physically Based Rendering (PBR), and Web Audio API.
<HAnimHumanoid DEF='hanim_AnnexB01Jin' name='AnnexB01Jin'/> version='2.0' with X3D version='4.0'
====================================================================================================================
<HAnimHumanoid DEF='hanim_AnnexB01Jin' name='AnnexB01Jin'/> node count(HAnimJoint) within skeleton hierarchy = 18
<HAnimHumanoid DEF='hanim_AnnexB01Jin' name='AnnexB01Jin'/> node count(HAnimSegment) within skeleton hierarchy = 18
<HAnimHumanoid DEF='hanim_AnnexB01Jin' name='AnnexB01Jin'/> node count(HAnimSite) within HAnimHumanoid = 0
<HAnimHumanoid DEF='hanim_AnnexB01Jin' name='AnnexB01Jin'/> node count(HAnimSite//Viewpoint) within skeleton hierarchy = 0
<HAnimHumanoid DEF='hanim_AnnexB01Jin' name='AnnexB01Jin'/> node count(HAnimDisplacer) within skeleton hierarchy = 0
<HAnimHumanoid DEF='hanim_AnnexB01Jin' name='AnnexB01Jin'/> node count(<HAnimJoint USE='*' containerField = 'joints'/>) = 0
<HAnimHumanoid DEF='hanim_AnnexB01Jin' name='AnnexB01Jin'/> node count(<HAnimSegment USE='*' containerField = 'segments'/>) = 0
<HAnimHumanoid DEF='hanim_AnnexB01Jin' name='AnnexB01Jin'/> node count(<HAnimSite USE='*' containerField = 'sites'/>) = 0
<HAnimHumanoid DEF='hanim_AnnexB01Jin' name='AnnexB01Jin'/> node count(<HAnimSite DEF='*' name ends with '_view'/>) = 0
<HAnimHumanoid DEF='hanim_AnnexB01Jin' name='AnnexB01Jin'/> has mismatched HAnimJoint node counts, 18 within skeleton hierarchy and 0 USE nodes in joints field
<HAnimHumanoid DEF='hanim_AnnexB01Jin' name='AnnexB01Jin'/> has mismatched HAnimSegment node counts, 18 within skeleton hierarchy and 0 USE nodes in segments field
====================================================================================================================
<HAnimJoint DEF='hanim_HumanoidRoot' name='humanoid_root'/> DEF value does not contain correctly modified version of name value (for example,
DEF='myPrefix_nameValue' e.g. DEF='myPrefix_humanoid_root') - see HAnim section C.2 Humanoid, VRML Binding
<HAnimSegment DEF='hanim_l_hindfoot' name='l_hindfoot'/> is not a recognized name for HAnim2 HAnimSegment
<HAnimSegment DEF='hanim_l_hindfoot' name='l_hindfoot'/> is an HAnimSegment alias for 'l_talus', recommend updating X3D model source
<HAnimJoint DEF='hanim_l_metatarsophalangeal' name='l_metatarsophalangeal'/> is not a recognized name for HAnim2 HAnimJoint
<HAnimJoint DEF='hanim_l_metatarsophalangeal' name='l_metatarsophalangeal'/> is an HAnimJoint alias for 'l_metatarsophalangeal_2', recommend updating X3D model
source
<HAnimSegment DEF='hanim_l_middistal' name='l_middistal'/> is not a recognized name for HAnim2 HAnimSegment
<HAnimSegment DEF='hanim_l_middistal' name='l_middistal'/> is an HAnimSegment alias for 'l_tarsal_proximal_phalanx_2', recommend updating
X3D model source
<HAnimSegment DEF='hanim_r_hindfoot' name='r_hindfoot'/> is not a recognized name for HAnim2 HAnimSegment
<HAnimSegment DEF='hanim_r_hindfoot' name='r_hindfoot'/> is an HAnimSegment alias for 'r_talus', recommend updating X3D model source
<HAnimJoint DEF='hanim_r_metatarsophalangeal' name='r_metatarsophalangeal'/> is not a recognized name for HAnim2 HAnimJoint
<HAnimJoint DEF='hanim_r_metatarsophalangeal' name='r_metatarsophalangeal'/> is an HAnimJoint alias for 'r_metatarsophalangeal_2', recommend updating X3D model
source
<HAnimSegment DEF='hanim_r_middistal' name='r_middistal'/> is not a recognized name for HAnim2 HAnimSegment
<HAnimSegment DEF='hanim_r_middistal' name='r_middistal'/> is an HAnimSegment alias for 'r_tarsal_proximal_phalanx_2', recommend updating
X3D model source
<HAnimJoint DEF='hanim_vl5' name='vl5'/> has parent HAnimJoint name='sacroiliac' rather than expected parent name='humanoid_root', recommend checking model
<HAnimJoint DEF='hanim_skullbase' name='skullbase'/> has parent HAnimJoint name='vl5' rather than expected parent name='vc1', recommend checking model
<HAnimJoint DEF='hanim_l_shoulder' name='l_shoulder'/> has parent HAnimJoint name='vl5' rather than expected parent name='l_acromioclavicular', recommend checking model
<HAnimSegment DEF='hanim_l_hand' name='l_hand'/> is not a recognized name for HAnim2 HAnimSegment
<HAnimJoint DEF='hanim_r_shoulder' name='r_shoulder'/> has parent HAnimJoint name='vl5' rather than expected parent name='r_acromioclavicular', recommend checking model
<HAnimSegment DEF='hanim_r_hand' name='r_hand'/> is not a recognized name for HAnim2 HAnimSegment
<HAnimSegment DEF='hanim_r_hand' name='r_hand'/> is an HAnimSegment alias for 'r_carpal', recommend updating X3D model source
<OrientationInterpolator DEF='Keyframe_l_metatarsophalangeal'/> is missing ROUTE to send output events, for example <ROUTE fromNode='Keyframe_l_metatarsophalangeal' fromField='value_changed' toNode='SomeTargetDEFname' toField='set_something'/>
<OrientationInterpolator DEF='Keyframe_r_talocrural'/> is missing ROUTE to send output events, for example <ROUTE fromNode='Keyframe_r_talocrural' fromField='value_changed' toNode='SomeTargetDEFname' toField='set_something'/>
<OrientationInterpolator DEF='Keyframe_r_metatarsophalangeal'/> is missing ROUTE to send output events, for example <ROUTE fromNode='Keyframe_r_metatarsophalangeal' fromField='value_changed' toNode='SomeTargetDEFname' toField='set_something'/>