[x3d-public] [h-anim] Purpose of X3Dng -- Animation (of humanoid models)

Joe D Williams joedwil at earthlink.net
Tue Nov 1 11:50:47 PDT 2016

>>> ng == next generation

Also, Leonard, you have mentioned HAnim and the idea that X3D needs 
some general animation features, So with that in mind, here is 
something. If we really decided that the objective is to recast the 
"HAnim" interfaces into a more general style of naming structures and 
interfaces, then see what follows. No new names for anything X3D 
HAnim, just how we might move some HAnim-specific details in order to 
refocus the HAnim elements towards general skeleton-based and 
indexed-mesh based animations.

Edit Part 1 to cover
General Skeletal and Mesh Animation

Warning. This outline shows Part 1 oriented toward describing general 
skeleton and mesh animation rather than the describing a realistic 
human character. Annex A and B are beefed up to cover all aspects of 
he H--Anim standardized Humanoid.
* However, the top level container of the character model "Humanoid" 
is still used. Using any name, this level generally serves as a 
convenient grouping purpose for many projects.
* The word 'skeleton' is used because that serves as a convenient name 
for the concept of a set of organized structures that serve as the 
basis for the general style of skeletal animation.
* Also, the name "Joint" is preserved since it is a common name for 
the functionality of a device that can be represented with a basic 
Transform and serve as a the primary animation element in a 
hierarchy - a Joint can parent a Joint.
* We keep Segment, because in this model we do not use geometry as a 
child of Joint, but instead recommend that for a Joint that needs 
individual geometries to represent connecting or terminating features, 
please use a child Segment and put the geometries there.
* Then why leave out Site? If Sensor or Viewpoint or ontology, or 
general instrumentation location, put each in an individual child Site 
node of the appropriate Segment.
* The name Displacer, is in there because it is a good general name 
for what it does.
* Also, when H-Anim is adopted by X3D, then the the string HAnim is 
prepended to the object name.

Annex A and B show a complete definition for a 'standard' Humanoid
using a realisltic articulated skeleton
The skeleton hierachy and names of animation interfaces are normative.
Produces a 'standard' skeleton based on 'nominal' non-normative
CAESAR-based Humanoid Model.

Annex A documents the standard five-level
HAnim LOA concept showing the standard
Joint and Segment hierarchies.

Annex B documents the standard Site locations
for standard surface features and other
locations of interest in skeleton-space.

* Example X3D user code sets supporting Part 1
covers the Humanoid LOA concept.
* skeleton with segment geometry
* skeleton with skin geometry
* Displacer operation


H-space - Humanoid space
Base 0 0 0 for Humanoid

s1-space - skeleton space
root animated relative to 0 0 0 H-space

j-space - Joint center rotation space
relative to 0 0 0 skeleton space
animated according to skeleton hierarchy

s3-space - Segment space
relative to Joint center space
animated according to Joint-space

s4-space - Site space
relative to Segment space
animated according to Segment-space

s2 - skin space
relative to 0 0 0 skeleton space
animated according to skeleton space

Best if H=j=s1=s2=s3=s4=everything same coordinate system
No transform or scale needed to locate parts.

mesh - a set of vertices of an indexed geometry.
       For Displacer, possibly a subset of a mesh
       For skin, continous mesh generally intended to cover the 


skeletal animation interfaces
* Humanoid -
  Base transformation in local coordinates.
  Basic Humanoid (H)-space
  control position, rotation of H-space

* root -
  base transformation for complete skeleton model
  Skeleton-space relative to H-space
  control skeleton in H-space
  position, rotation

* Joint -
  controlled by parent hierarchy
  control child hierarchy and skin

* Segment -
  child hierarchy of Joint
  controlled by parent hierarchy

* SIte-
  child hierarchy of Segment
  controlled by parent Segment

HAnim Nodes
* Humanoid - container for skeleton and skin
* Joint - name of the skeletal animation interface.
* Segment - name of a connecting feature
* Site - name of an internal or external feature point
* Displacer - general mesh animation tool

HAnim fields
*  skeleton - holds skeleton hierarchy
*  skin - holds skin mesh

* skeleton-skin animation binding
  mesh vertex to Joint(s)
* Displacer animation binding
 mesh vertex to Displacer
 Displacer to animation driver
 DIsplacer animation additive to skeleton-skin animation

 Detailed Humanoid animation interfaces.
Edit Annex A and B:

A. Humanoid Levels of Articulation
CAESAR-space Humanoid
Joint and Segment LOA Hierarchies.

B. Humanoid Feature Points
CAESAR-space Humanoid
Site and Surface feature hierarchies

In a way this really would help to consolidate the real 
standards-track parts of this. Mainly, which is to define a 'standard' 
humanoid in order to share 'standard' animations.

We still need a 'standard' skin for each LOA.

Thanks and Best,

----- Original Message ----- 
From: "Joe D Williams" <joedwil at earthlink.net>
To: "Leonard Daly" <Leonard.Daly at realism.com>; "Don Brutzman" 
<brutzman at nps.edu>
Cc: "Human Animation working group" <h-anim at web3d.org>; 
<x3d-public at web3d.org>
Sent: Sunday, October 30, 2016 5:49 PM
Subject: Re: [h-anim] [x3d-public] Purpose of X3Dng -- Animation (of 
humanoid models)

>>> ng == next generation
> I thought it was like surf'ng with the ' left out on purpose.
>> Looking forward to continuing progress that reinforces, extends and 
>> demonstrates the X3D and H-Anim family of standards.
> Well, what Leonard has stated elswhere is that in a part of his 
> vision of X3Dng (next generation) is a standard evolving to support 
> some sort of division between archiving and playing.
> If I have understood this part of the vision, Leonard, please become 
> familiar wirh Collada, since that represents an achive form for all 
> types of X3D data.
> X3D is also intended as an archival form (pre-collada). X3D is a 
> highly structured, extensible, very accessible and authorable data 
> base that just happens to support a great realtime interactive 
> runtime.
> All Best,
> Joe
> ----- Original Message ----- 
> From: "Don Brutzman" <brutzman at nps.edu>
> To: "Leonard Daly" <Leonard.Daly at realism.com>
> Cc: "Human Animation working group" <h-anim at web3d.org>; 
> <x3d-public at web3d.org>
> Sent: Friday, October 28, 2016 2:13 PM
> Subject: Re: [h-anim] [x3d-public] Purpose of X3Dng -- Animation (of 
> humanoid models)
>> On 10/23/2016 8:22 PM, Leonard Daly wrote:
>>> I want to point out that my posting on X3Dng Animation 
>>> [http://realism.com/blog/purpose-x3d-animation] (BTW, ng == next 
>>> generation)
>> [...]
>> OK thanks for defining the acronym, I guess.  But still don't know 
>> what that is.
>> X3D Working Group activities and efforts remain focused on our many 
>> architecture and capability improvements underway:
>> - X3D version 4.0 (for HTML5/DOM integration) and
>> - X3D version 4.1 (for MAR Mixed Augmented Reality, including VR)
>> X3D Version 4
>> http://www.web3d.org/x3d4
>> X3D version 4.0 Development
>> http://www.web3d.org/wiki/index.php/X3D_version_4.0_Development
>> which in turn support
>> Web3D Standards Strategy
>> http://www.web3d.org/strategy
>> Looking forward to continuing progress that reinforces, extends and 
>> demonstrates the X3D and H-Anim family of standards.
>> 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
>> _______________________________________________
>> h-anim mailing list
>> h-anim at web3d.org
>> http://web3d.org/mailman/listinfo/h-anim_web3d.org
> _______________________________________________
> h-anim mailing list
> h-anim at web3d.org
> http://web3d.org/mailman/listinfo/h-anim_web3d.org 

More information about the x3d-public mailing list