[x3d-public] HAnim hand model improvements, small geometry improvements needed

Don Brutzman brutzman at nps.edu
Sun Mar 14 12:04:53 PDT 2021


Joe, thanks for your ongoing help scrutinizing HAnim model correctness and quality assurance.

Check question please: does this all look good to you?

The latest diagnostics (X3DUOM loa/parent information, X3D Schematron, X3dTidy) identified a topology flaw in our HAnim2 X3D4 hand models.

Now mostly fixed - some geometry visualization values can be improved for the corrected joints, image attached.

Public offer - does anyone want to fix the visualization geometry?

https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Characters/HAnimModelHandRightSegmentVisualizationError.png

=======================================================================================================
Visualization report for HAnimHumanoid model hanim_Hand_Right
https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Characters/HAnimModelHandRight.html#Hand_RightHAnimHumanoidReport
=======================================================================================================
HAnimHumanoid skeleton holds X3D4 HAnim2 triplets, HAnimJoint (25) : HAnimSegment (24) : HAnimSite (0)
=======================================================================================================
HAnimHumanoid DEF='hanim_Hand_Right name='Hand_Right' loa='4'
   humanoid_root
     r_radiocarpal : r_carpal
       r_midcarpal_1 : r_trapezium
       | r_carpometacarpal_1 : r_metacarpal_1
       |   r_metacarpophalangeal_1 : r_carpal_proximal_phalanx_1
       |     r_carpal_interphalangeal_1 : r_carpal_distal_phalanx_1
       r_midcarpal_2 : r_trapezoid
       | r_carpometacarpal_2 : r_metacarpal_2
       |   r_metacarpophalangeal_2 : r_carpal_proximal_phalanx_2
       |     r_carpal_proximal_interphalangeal_2 : r_carpal_middle_phalanx_2
       |       r_carpal_distal_interphalangeal_2 : r_carpal_distal_phalanx_2
       r_midcarpal_3 : r_capitate
       | r_carpometacarpal_3 : r_metacarpal_3
       |   r_metacarpophalangeal_3 : r_carpal_proximal_phalanx_3
       |     r_carpal_proximal_interphalangeal_3 : r_carpal_middle_phalanx_3
       |       r_carpal_distal_interphalangeal_3 : r_carpal_distal_phalanx_3
       r_midcarpal_4_5 : r_hamate
         r_carpometacarpal_4 : r_metacarpal_4
         | r_metacarpophalangeal_4 : r_carpal_proximal_phalanx_4
         |   r_carpal_proximal_interphalangeal_4 : r_carpal_middle_phalanx_4
         |     r_carpal_distal_interphalangeal_4 : r_carpal_distal_phalanx_4
         r_carpometacarpal_5 : r_metacarpal_5
           r_metacarpophalangeal_5 : r_carpal_proximal_phalanx_5
             r_carpal_proximal_interphalangeal_5 : r_carpal_middle_phalanx_5
               r_carpal_distal_interphalangeal_5 : r_carpal_distal_phalanx_5
=======================================================================================================

https://www.web3d.org/x3d/content/examples/HumanoidAnimation/build.X3dTidy.log.txt

C:\x3d-code\www.web3d.org\x3d\content\examples\HumanoidAnimation\Characters\HAnimModelHandRight.x3d
check well-formedness of original model...
1 file(s) have been successfully validated.
check DTD validation  of original model...
1 file(s) have been successfully validated.
check schema validation of original model...
check schematron validation of original model...
C:\x3d-code\www.web3d.org\x3d\content\examples\HumanoidAnimation\Characters\HAnimModelHandRight.x3d validation using X3D Schematron rules
X3D version 4.0 is approved by Web3D Consortium and focused on interoperabiliity with HTML, glTF Physically Based Rendering (PBR) and Web Audio API, undergoing review by ISO national bodies in 2021. [/X3D, diagnostic]
<meta name='TODO' content='fix visible geometry for thumb and index finger, midcarpal_1 and midcarpal_2'/> [/X3D/head/meta[6], diagnostic]
<meta name='warning' content='not yet to scale, also relatively flat'/> [/X3D/head/meta[7], diagnostic]
<meta name='warning' content='TODO will X3D HAnim component add a new level to support LOA-4 functionality?'/> [/X3D/head/meta[8], diagnostic]
<meta name='info' content='TODO describe how to compute and apply offsets for center values whenever attaching this appendage to a body'/> [/X3D/head/meta[9], diagnostic]
<meta name='TODO' content='Integrate and confirm Segment/Joint names, Viewpoints.'/> [/X3D/head/meta[17], diagnostic]
<HAnimHumanoid DEF='hanim_Hand_Right' name='Hand_Right'/> version='2.0' with X3D version='4.0' [/X3D/Scene/HAnimHumanoid, diagnostic]
==================================================================================================================== [/X3D/Scene/HAnimHumanoid, diagnostic]
<HAnimHumanoid DEF='hanim_Hand_Right' name='Hand_Right'/> node count(HAnimJoint)           within skeleton hierarchy        = 25[/X3D/Scene/HAnimHumanoid, diagnostic]
<HAnimHumanoid DEF='hanim_Hand_Right' name='Hand_Right'/> node count(HAnimSegment)         within skeleton hierarchy        = 24[/X3D/Scene/HAnimHumanoid, diagnostic]
<HAnimHumanoid DEF='hanim_Hand_Right' name='Hand_Right'/> node count(HAnimSite)            within HAnimHumanoid             = 0[/X3D/Scene/HAnimHumanoid, diagnostic]
<HAnimHumanoid DEF='hanim_Hand_Right' name='Hand_Right'/> node count(HAnimSite//Viewpoint) within skeleton hierarchy        = 0[/X3D/Scene/HAnimHumanoid, diagnostic]
<HAnimHumanoid DEF='hanim_Hand_Right' name='Hand_Right'/> node count(HAnimDisplacer)       within skeleton hierarchy        = 0[/X3D/Scene/HAnimHumanoid, diagnostic]
<HAnimHumanoid DEF='hanim_Hand_Right' name='Hand_Right'/> node count(<HAnimJoint   USE='*' containerField = 'joints'/>)     = 25[/X3D/Scene/HAnimHumanoid, diagnostic]
<HAnimHumanoid DEF='hanim_Hand_Right' name='Hand_Right'/> node count(<HAnimSegment USE='*' containerField = 'segments'/>)   = 24[/X3D/Scene/HAnimHumanoid, diagnostic]
<HAnimHumanoid DEF='hanim_Hand_Right' name='Hand_Right'/> node count(<HAnimSite    USE='*' containerField = 'sites'/>)      = 0[/X3D/Scene/HAnimHumanoid, diagnostic]
<HAnimHumanoid DEF='hanim_Hand_Right' name='Hand_Right'/> node count(<HAnimSite    DEF='*' name ends with '_view'/>)        = 0[/X3D/Scene/HAnimHumanoid, diagnostic]
==================================================================================================================== [/X3D/Scene/HAnimHumanoid, diagnostic]
<HAnimJoint DEF='hanim_r_radiocarpal' name='r_radiocarpal'/> has a missing (or default zero) offset field: center='0 0 0' [/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint, error]
<HAnimJoint DEF='hanim_r_radiocarpal' name='r_radiocarpal'/> has parent HAnimJoint name='humanoid_root' rather than expected parent name='r_elbow', recommend checking model [/X3D/Scene/HAnimHumanoid/HAnimJoint[1]/HAnimJoint, warning]
=======================================================================================================

Further good news, specifications definitely helped confirm this is coming together consistently.

<meta name='reference' content=' https://www.web3d.org/working-groups/humanoid-animation-HAnim '/>
<meta name='reference' content=' https://www.web3d.org/documents/specifications/19774/V2.0 '/>
<meta name='reference' content=' https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/concepts.html#TheHands '/>
<meta name='reference' content=' https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/concepts.html#f-HandJoints '/>
<meta name='reference' content=' https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/concepts.html#Hierarchy4 '/>
<meta name='reference' content=' https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-WD2/Part01/components/hanim.html '/>

Having fun with Humanoid Animation (HAnim)!  8)

all the best, Don
-- 
Don Brutzman  Naval Postgraduate School, Code USW/Br       brutzman at nps.edu
Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA   +1.831.656.2149
X3D graphics, virtual worlds, navy robotics http://faculty.nps.edu/brutzman
-------------- next part --------------
A non-text attachment was scrubbed...
Name: HAnimModelHandRightSegmentVisualizationError.png
Type: image/png
Size: 43332 bytes
Desc: not available
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20210314/e503df14/attachment-0001.png>


More information about the x3d-public mailing list