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

John Carlson yottzumm at gmail.com
Sun Mar 14 12:48:20 PDT 2021


Don,  I got close with what transforms are applied to attach hands and feet
to humanoids in skeleton10.x3d. These transforms will need to be converted
to existing HAnim* nodes.

The best resource I have is skeleton10.x3d or perhaps h2.pl (source code).

I will sit down perhaps Wednesday and try to compute HAnim* translations
and centers for connecting hands and feet.

Meanwhile, I can share what I have.   Seems like a busy weekend.

My hands and feet models likely need to be updated with what’s in the
archive?

My main goal at this point is to get an LOA4 skeleton.

John

On Sun, Mar 14, 2021 at 2:06 PM Don Brutzman <brutzman at nps.edu> wrote:

> 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
> _______________________________________________
> x3d-public mailing list
> x3d-public at web3d.org
> http://web3d.org/mailman/listinfo/x3d-public_web3d.org
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20210314/954e3d48/attachment-0001.html>


More information about the x3d-public mailing list