[X3D-Public] HAnim DiamondMan: review, adding support, improvements

Don Brutzman brutzman at nps.edu
Wed Apr 3 20:07:08 PDT 2013


Joe and I are starting to slog through examples.  William Glascoe 
cheered us on tonight.  Here are notes, questions welcome.

Our slogan is "the path to H-Anim 2 must first go through H-Anim 1." 
We've got to make sure all of the good work in the past is captured, 
documented, tested and repeatable.  Here we go!

1.  We reviewed specification and tooltips as part of this, making some 
nice clarifications to the tooltips.
http://www.web3d.org/x3d/content/X3dTooltips.html#HAnimHumanoid

2.  We next decided to first tackle the DiamondMan models.

http://www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/DiamondManLOA-0.html
http://www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/DiamondManLOA-0.x3d

To avoid breaking the original copyright, we looked at whether shuffling 
Matt's metadata helped clarify things.  For example:

      <Group DEF='OriginalAuthorMetadata'>
        <WorldInfo info='"HANIM 1.1 Default Joint Centers, 
Level-Of-Articulation 1 
-------------------------------------------------------- HANIM 1.1 (VRML 
2.0) Author name: eMpTy (a.k.a. Matthew T. Beitler) HANIM 1.1 (VRML 2.0) 
Author email: beitler at graphics.cis.upenn.edu or beitler at acm.org HANIM 
1.1 (VRML 2.0) Author homepage: http://www.cis.upenn.edu/~beitler HANIM 
1.1 (VRML 2.0) Compliance Date: May 12, 1999 HANIM 1.1 Compliance 
Information: http://ece.uwaterloo.ca/~h-anim/ Construction Info (joint 
centers): The joint centers of this figure are based on the work of 
Norman Badler, director of the Center for Human Modeling and Simulation 
at the University of Pennsylvania. The original document which these 
joint centers are based on can be found at: 
http://www.cis.upenn.edu/~badler/anthro/89-71.ps, .pdf"' title='HANIM 
1.1 Default Joint Centers, LOA0'/>
        <!-- Original HAnimHumanoid 
info='"authorEmail=beitler at graphics.cis.upenn.edu beitler at acm.org" 
"authorName=Matthew T. Beitler" "copyright=Copyright 1999 Matthew T. 
Beitler" "creationDate=05/12/99" "humanoidVersion=JointCenters 1.1 LOA0" 
"usageRestrictions=PERMISSION TO FULLY USE THIS SCENE GRAPH IS GRANTED 
PROVIDED THIS COPYRIGHT INFORMATION AND DOCUMENTATION OF THE ORIGINAL 
AUTHOR IS INCLUDED. This humanoid scene graph is provided _as-is_ and 
without warranty of any kind express implied or otherwise including 
without limitation any warranty of merchantability or fitness for a 
particular purpose."' -->
      </Group>

Still pretty darn confusing...

3.  Attached are screen snapshots for how to X3D-Edit allows editing 
HAnimHumanoid node.

Notice the tabbed support for the "info" field, breaking the information 
attributes into repeatable chunks.

This is the kind of help that tools can provide to authors who are 
checking or creating content.  Am hoping to do more and more of that.

So this first examination took some time, but it helped us get 
recentered on what is possible and what can be improved.

4.  The Quality Assurance checkbox in X3D-Edit showed the following 
scene errors in diamond man LOA 0:

cvc-complex-type.4: Attribute 'name' must appear on element 'HAnimJoint'.
cvc-complex-type.4: Attribute 'name' must appear on element 'HAnimJoint'.
etc.

So that is a previously unsuspected error in this scene (and others) 
that need to be fixed.

Cool!  The worst bugs are undiscovered bugs, now we found things to fix.

Anyone can confirm this diagnosis using the X3D Validator.
https://savage.nps.edu/X3dValidator
http://www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/DiamondManLOA-0.x3d

We traced down the reason for this requirement.  It is found in the 
H-Anim 1.1 specification:
http://h-anim.org/Specifications/H-Anim1.1/#nodes
"The Joint node is also used to store other joint-specific information. 
In particular, a joint name is provided so that applications can 
identify each Joint node at runtime."

We checked the H-Anim specification for each and every node.  The name 
field is always required for each of the nodes.

I checked our X3D Schematron rules and found that it would allow an 
empty name to pass through...  ouch.  now fixed!

We also found that X3D DOCTYPES and X3D Schema were also 
inconsistent/mistaken about requiring the name fields... also fixed!

Found another problem with suggested values.  Future fix follows:
- TODO confirm, add jointNames and segmentNames as shown in
 
http://www.web3d.org/files/specifications/19774/V1.0/HAnim/concepts.html#Hierarchy

These corrections will all be tested, confirmed OK and then pushed to 
our public sites, then announced separately.

Way cool!!  More bugs getting found for fixing, now and in future.  8)


5.  Joe suspected that this LOA model is actually more complicated than 
it should be... so we checked.  Yes it is more than Level 0, too many 
joints there.  This led to a number of other issues which we explored.

The H-Anim 1.1 spec lists legal Joint and Site values for each Level of 
Articulation (LOA).
http://h-anim.org/Specifications/H-Anim1.1/appendices.html#appendixa

This is very cool... also pretty mixed up.  We found:

- H-Anim specifications are not correctly linked (or labeled regarding 
status) on Web3d.org, Len and Dick can you please fix?
- There is a lot of internal structure in HAnim that has always been 
pretty well defined but hard to follow
- We will make improvements in validation and tools to help authors by 
taking advantage of this required structure
- For example, X3D Schematron should be able to tell what LOA a scene 
actually is; we will write rules for that
- We will start a wiki page dedicated to just listing fixes needed in 
the next round of H-Anim specification update (fixes and clarifications, 
not adding any brand-new functionality)
- The Diamond Man examples in the archive are pretty good, but carry 
along baggage with them... We expect to start some new examples for LOA 
levels that match the spec more simply.

Whew.  Almost three hours to get just this far and we found even more to 
do... but lots of really solid progress!

Totally encouraging.  Comments and questions welcome.  Thanks Joe and 
thanks William.  Onward we go.

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: HAnimHumanoidFields.png
Type: image/png
Size: 44758 bytes
Desc: not available
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20130403/2133fdd3/attachment-0002.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: HAnimHumanoidInfo.png
Type: image/png
Size: 53586 bytes
Desc: not available
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20130403/2133fdd3/attachment-0003.png>


More information about the X3D-Public mailing list