[x3d-public] Notes for MSF Digital Fashion Wearables WG Biweekly Meeting Sept 30
Joe D Williams
joedwil at earthlink.net
Mon Sep 30 09:52:01 PDT 2024
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
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
Another Entry Point
https://webx3d.org/
Web3D ISO/IEC 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 I pose (relaxed attention)
The HAnim character can be composed at
several levels of complexity of skeleton and
geometrey.
Humanoid (container)
skeleton (realistic hierarchy)
Joint (basic motion animation target)
Segment (geometry, accessories, Sites)
Site (data, landmark, 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 geometry points using 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)
X3D Authortime very human-readable user code
can be created with simple text editor.
Creates DAG scenegraph,
Same child, Multiple parents.
Strongly typed nodes and parameters.
Validated by xml or other schema.
None better realtime, live data structure
X3D Scene Access Interface (SAI) runtime.
Internal and External programming Operations
are identical.
None better realtime live scenegraph and event system.
To me, the rest of X3D was born and made to do HAnim.
Character Poses:
1. Pose Before Animation/skin or garment binding
I Pose (relaxed attention)
GL coordinate system, metres
All Joints 0 0 1 0
All points 0 0 1 0
2. Move to Skin or Garment binding Pose
Whatever pose, referenced from Default animation pose.
Data for Joint is index of point, weight of Joint.
Each point can be controlled by up to four Joints (gltf)
3. Default I pose should work.
More information about the x3d-public
mailing list