Following are my notes used in a discussion with Fashion Wearables in October.
Recommended Web3D Standards
https://www.web3d.org/standards/all
Humanoid Animation Interfaces
https://www.web3d.org/documents/specifications/19774/V2.0/index.html
X3D Base Interfaces
https://www.web3d.org/documents/specifications/19775-1/V4.0/index.html
X3D SAI (Scene Access Interfaces)
https://www.web3d.org/documents/specifications/19775-2/V3.3/index.html
XML Encoding
https://www.web3d.org/documents/specifications/19776-1/V3.3/index.html
X3D Unified Object Model
https://www.web3d.org/specifications/X3dUnifiedObjectModel-4.0.xml
Web3D HAnim Working Group
https://www.web3d.org/working-groups/hanim
HAnim Examples Archive
https://www.web3d.org/x3d/content/examples/HumanoidAnimation/index.html
X3D HAnim Example1
https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/JoeKickIndex.html
https://create3000.github.io/x_ite/playground/?url=https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/JoeKick.x3d
X3D HAnim Example 2
https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Characters/JinScaledV2L1LOA4OnlyMarkersCanonical.xml
X3D Semantic Web Public Assets
https://www.web3d.org/x3d-semantic-web-public-assets
W3C Accessibility Guidelines (WCAG) 3.0
https://www.w3.org/TR/wcag-3.0/
X3D Semantic Web Public Assets
https://www.web3d.org/x3d-semantic-web-public-assets
W3C Accessibility Guidelines (WCAG) 3.0
https://www.w3.org/TR/wcag-3.0/
Interoperable Characters/Avatars You Tube
https://www.youtube.com/playlist?list=PL9H8jJb7mpbk3hjpUTvt6HYVIUkIpoNEz
Another Entry Point
https://webx3d.org/
Web3D ISO/IEC 19774 Humanoid Animation
The HAnim (Humanoid Animation) standard is a
platform-independent ISO/IEC Standard to produce
a realistic realtime anytime interactive
Humanoid character operating in standardized
web environments.
Every detail of the HAnim standard is intended
to promote sharable animations and interactions
between similar models.
From inception into the future this Humanoid model
describes the primary extensible basis for
development of the Virtual Twin concept,
operating under direct user control and
autonomously, alone or with others in
a wide range of standardizable host environments.
Host Coordinate System
Standard GL (metres)
Character Coordinate System
Standard GL (metres)
0 0 0 at floor between feet,
model gaze toward +Z,
+X to model left, +Y up,
Right-hand rule
Default before animation I pose (relaxed attention)
All Joints and points 0 0 1 0
The importance of a known default before
animation pose is prime when reusing
'standard' animations and interactions
designed for a similar character.
The HAnim standard assumes that the basic
character consists of a hierarchy of joints
and at default pose, all Joints (and points)
are at 0 0 1 0, zero degrees for all axes.
This provides an intuitive animation system where
X-axis rotation of a Joint produces Pitch motion,
Y-axis produces Yaw, and Z-axis produces Roll.
The HAnim character can be composed at
several levels of complexity of skeleton and
geometry.
Humanoid (container)
skeleton (realistic hierarchy)
Joint (basic motion animation target)
Segment (geometry, accessories, Sites)
Site (landmark, data, sensor)
Joint
(... rest of hierarchy)
skin (indexed geometry,
continious deformable mesh,
animated by skeleton)
The Humanoid container holds the skeleton and
associated geometries and sensors, and the skin.
The skeleton can be produced at five levels of
articulation:
LOA-0 represents only the humanoid_root Joint object
LOA-1 represents a hierarchy of 18 joints
LOA-2 consists of 71 joints
LOA-3 consists of 94 joints
LOA-4 consists of 148 joints
Geometry to vizualize the Humanoid can consist of:
Level 1 geometry which provides for individual shapes
for body part segments and accessories.
These are animated directly by operation of the skeleton
hierarchy and separately as required.
Level 2 provides Level 1 plus animation of a
deformable mesh skin according to a weighted value
shared among various joints that may have an effect
upon motion of the individual points of the mesh.
Sites: A set of surface feature landmarks provide
a standardized reference locations on the model
for various data points, interaction areas,
accessory geometry, and sensors.
So, the Five main elements of the HAnim Standard are:
Humanoid
Joint
Segment
Site
Displacer
Displacer provides an independent means to animate
indiviual points or groups of points of a target
geometry along a 3D vector using time or a scalar
interpolator.
Web3D X3D ISO/IEC HAnim Implementation
X3D offers an open and free reference implementation
of the HAnim standard via the X3D HAnim component.
Open Inventor --->
Virtual Reality Modeling Language (VRML) --->
Extensible 3D (X3D XML)
X3D AuthorTime very human-readable user code
can be created with simple text editor.
Creates DAG scenegraph,
Same child, Multiple parents: DEF/USE.
Strongly typed nodes and parameters.
Validated by xml schema or other schema.
None better realtime, live data structure
X3D Scene Access Interface (SAI) Runtime.
Internal and External programming operations
are identical.
Time- and Event-driven behavior graph.
None better realtime live scene graph and event system.
To me, the rest of X3D was born and made to do HAnim.
Character Poses:
Defined to produce best animation transport
X3D HAnim Content Pool
Extensive example web3D archives, available showing VRML, XML, JSON, etc encodings.