[x3d-public] X3D HANIM Examples

Don Brutzman brutzman at nps.edu
Thu Jun 11 14:26:04 PDT 2020


HAnim examples effort.  Attendees: John Carlson, Joe Williams, Don Brutzman.

Sandy: copied you because we are trying to confirm authorship, please advise.

On 6/8/2020 3:36 PM, Joseph D Williams wrote:
> You need to tell the problem and give a solution.
> 
> -anon

amen bruddah
  
> Introduction
>
> The x3d hanim V2 LOA4 'standard skeleton is (will be) represented by
> 
> an adopted set of Joint center locations listed in V2 Part 1 Annex A.
> 
> The x3d hanim V2 LOA4 'standard' skin is (will be) represented by
> 
> an adopted set of Site locations, also listed in V2 Part 1 Annex A.
> 
> Example V2 xml user code to produce this 'standard' hanim Humanoid
> 
> is (will be) provided to support the hierarchy definitions and given dimensions.

to your three points:  yes yes yes

interesting perspective: you think we will make faster progress starting at higher LOA and then simplifying, rather than building up.

> Looking Stuff Up
> 
> First, please look at x3d hanim V2 Part 1
> 
> https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/HAnimArchitecture.html
> 
> (escape the frames)
> 
> Example 'standard' x3d hanim V2 Humanoid in Concepts
> 
> https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/concepts.html#f-LOA4Joints
> 
> LOA4 hierarchy diagram in Concepts
> 
> https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/concepts.html#BasicSetJointHierarchy4
> 
> 'standard' Humanoid V2 LOA4 Joint center locations in Annex A
> 
> https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/BodyDimensionsAndLOAs.html#LOA4DefaultJointCenters
> 
> 'standard' Humanoid v2 LOA4 Site Locations in Annex A
> 
> https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/BodyDimensionsAndLOAs.html#LOA4DefaultSiteTranslations
> 
> Visual reference for Humanoid V2 LOA4 Site locations in Annex B
> 
> https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/FeaturePoints.html#FeaturePointsOnTheHumanBody

so far so great...

> By far the best reference for 'standard' x3d hanim V1 LOA3 Joints and Sites.
> 
> Derived from x3d hanim V1 vrml user code.
> 
> https://www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/HAnimSpecificationLOA3IllustratedIndex.html
> 
> Very useful for development as replacement for V2 Part 1 Annex A user code examples, just add new V2 Joint centers.
> 
> By far the best reference for 'standard' x3d hanim V1 skin, derived mostly from V1 Site locations.
> 
> https://www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/JoeSkinTexcoordDisplacerKickIndex.html
> 
> Very useful for development as addition to v2 Part 1 Annex A user code examples, just add nes V2 Site locations.

Agreed, but... you have actually found an omission in our copying of examples.

We are _not_ updating the Basic/HumanoidAnimation examples, rather we are doing a complete upgrade at

[1] HumanoidAnimation X3D Examples Archive
     https://www.web3d.org/x3d/content/examples/HumanoidAnimation (note no "Basic" any more!)

So first we copied over

* HAnim Specification LOA 3 Illustrated
* HAnimSpecificationLOA3Invisible
* HAnimSpecificationLOA3Motion

to https://www.web3d.org/x3d/content/examples/HumanoidAnimation/#Specifications

We then looked for JoeSkinTexcoordDisplacerKick.x3d which has been copied, first as original "Legacy" version (X3D3 HAnim1) and then with a shorter name (X3D4 HAnim2) to

[2] X3D Example Archives: Humanoid Animation, Legacy, Joe Skin Texcoord Displacer Kick
     https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Legacy/JoeSkinTexcoordDisplacerKickIndex.html

[3] X3D Example Archives: Humanoid Animation, Characters, Joe Kick
     https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Characters/JoeKickIndex.html

Note that X_ITE works for HAnim1 X3D3 version (with component "H-Anim"), does not yet fully support HAnim2 X3D4 version (with component "HAnim").

> Complete Skeleton (40x 'standard' x3d hanim Humanoid)
> 
> https://www.web3d.org/x3d/content/examples/Basic/Medical/BonesAllSkeletonIndex.html
> 
> Detailed skin (Also 40x Complete Skeleton)
> 
> https://www.web3d.org/x3d/content/examples/Basic/Medical/BodySkinIndexedFaceSetNISTIndex.html
> 
> Note: It was tried to bind this skin to the Complete skeleton back in 2000 or so but failed due to too many points.

Agreed this is a totally useful anatomical example that can provide helpful values.

Might need some unit conversions, it has <Transform DEF='LeftHandSkeletonParts' scale='0.029 0.029 0.029'>

Hmmm.  This skeleton is reduced to 3% of original, so data is 33 times bigger than a human.  Doctor Manhattan maybe?

We can definitely use these values.  Probably we should think of conversion routines to adjust values in the JavaScript, Java and Python library packages...

TODO question: who produced this model originally?  Joe thinks it was Sandy Ressler at NIST, can we get explicit confirmation somehow?  Am keen to provide appropriate open-source license if actual author/owner can be determined.

We will defer moving over Medical models until we get all of the HumanoidAnimation models fully conforming.

This model is magnificent.  We will need to adapt it.

Joe notes that there are a huge number of vertices in these "bones" and that if they could be reduced satisfactorily, that would be very helpful.  What a super project for someone..

p.s. Joe ran this through Chisel, but the work was pretty darn difficult and wasn't able to do it.


> Maybe look at x3d hanim V1
> 
> https://www.web3d.org/documents/specifications/19774/V1.0/HAnim/HAnim.html
> 
> Here is an example of an isolated left foot, as represented in x3d hanim V2 LOA4.
> 
> Left Foot
> 
> https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/concepts.html#f-FootJoints
> 
> Here is x3d v2 left foot user code (also 2D)
> 
> https://www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/HAnimModelFootLeftIndex.html
> 
> Cannonical xml
> 
> https://www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/HAnimModelFootLeftCanonical.xml

These have been copied, with some cleanup complete.  Not yet done... available at

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

... but still problems with X_ITE rendering.

> Do the Work
> 
> The First task is to convert this to an actual 3D model using x3d hanim V1 joint centers where appropriate
> 
> and adding x3d hanim V2 Joint centers for the new Joints.
> 
> Next, right foot
> 
> https://www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/HAnimModelFootRightIndex.html
> 
> Next, left hand
> 
> https://www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/HAnimModelHandLeftIndex.html
> 
> Next, right hand
> 
> https://www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/HAnimModelHandRightIndex.html
> 
> Next, upgrade out best V1 LOA3 to V2 LOA4
> 
> https://www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/HAnimSpecificationLOA3MotionIndex.html
> 
> Thanks,
> 
> Joe

Again noting, _not_ "Basic" but the new examples:

* HumanoidAnimation X3D Examples Archive
   https://www.web3d.org/x3d/content/examples/HumanoidAnimation

We then revisited all the combinations and permutations of how to figure out and fix all of these examples, then transform them in ways that are further helpful.

Am hoping we

a. keep improving diagnostics,
b. keep improving online examples,
c. add fixer-upper features to our tools,
d. lather, rinse, repeat.

Next week we will look at

* HAnim Specification LOA 3 Invisible (the original information)
* HAnim Specification LOA 3 Illustrated (which includes tool-added joint and segment geometry)
* HAnim Specification LOA 3 Motion (which tries to connect that model)

Having fun with 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



More information about the x3d-public mailing list