[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