[x3d-public] What is a HAnimHumanoid?

Joe D Williams joedwil at earthlink.net
Wed Jun 18 12:07:07 PDT 2025


Yes, John,
Humanoid, Joint, Segment,and Site are all Grouping nodes,
like Transform and all Transform fields are in them, plus.
Thanks, 
Joe



-----Original Message-----
From: John Carlson <yottzumm at gmail.com>
Sent: Jun 18, 2025 10:57 AM
To: Extensible 3D (X3D) Graphics public discussion <x3d-public at web3d.org>
Cc: Joe D Williams <joedwil at earthlink.net>
Subject: Re: [x3d-public] What is a HAnimHumanoid?

In my mind, Segments are more about holding Sites, Displacers, Grouping nodes and geometry (coord, for example) than being Transforms (check for fields in Transform to see if they are in Segments, particularly translation, rotation and scale).   It would be more correct to call Segment a Group than a Transform.
 
If we change that in HAnim 2.1, great.

On Wed, Jun 18, 2025 at 12:38 PM Joe D Williams via x3d-public <x3d-public at web3d.org (mailto:x3d-public at web3d.org)> wrote:
Hi Holger, 
Yes, HAnim structure can support 'anything' articulated. 
But so can basic X3D, recalling that the Humanoid,
the Joint, the Segment, and the Site are just Transforms 
with extra parameters and a carefully defined hierarchy.
So any Level 1 (segment geometry) Humanoid
can be produced using basic Transform nodes. 

Most interesting is that the great features of
Displacers and Joint-driven skin animation are 
only available with HAnimHumanoid container.
Another is the fact that we don't DEF/USE Joint
nodes in HAnim but if you wanted to do a crab
or something with opposed, synchronized joints, 
you could DEF the Joint structure, then Transform
and USE it somewhere else, and use the same
animation.
But it would not validate as a spec Humanoid. 

That is the main objective of the HAnim standard,
to define a model aimed at realistic prospect of
being able to reuse animations designed for
a standard humanoid character/avatar.

Note that there is a possibility of adding an Annex
to the19774 document explaining more
general uses of the hanim model hierarchies and
animation capabilities. 
Maybe check the HAnim 2.1 update now in progress.
    
So, yes, the hanim component adds several
extensions and interfaces to basic x3d that
are absent from basic x3d, and this makes
a necessary temptation to compose a complex
character then to author it using HAnim container
and try to validate using HAnim object model. 
HAnim WG is always looking for features to
add to basic x3d and to hanim in order to cover
standardizable realistic articulations for authortime
and runtime capabilities. 

In fact, any creature creator could revise
x3d object model to 'standardize' validation
of any articulated character configuration. 

Any examples of various creatures could be 
added to archives for x3d basic examples or
to hanim if they use hanim nodes. 

Thanks and Best,
Joe





-----Original Message-----
From: Extensible 3D (X3D) Graphics public discussion <x3d-public at web3d.org (mailto:x3d-public at web3d.org)>
Sent: Jun 18, 2025 7:47 AM
To: X3D <x3d-public at web3d.org (mailto:x3d-public at web3d.org)>
Cc: Holger Seelig <holger.seelig at yahoo.de (mailto:holger.seelig at yahoo.de)>
Subject: [x3d-public] What is a HAnimHumanoid?

As it turns out more things than a human body can be a HAnimHumanoid:
 
A almost real humanoid (you still may know):
 
https://create3000.github.io/x_ite/playground/?url=https://create3000.github.io/media/examples/HAnim/HAnimHumanoid/HAnimHumanoid.x3d

 
Not a humanoid, no it’s an animal, but still very humanoid (head, body, legs):
 
https://create3000.github.io/x_ite/laboratory/gltf-sample-viewer/?url=https://raw.githubusercontent.com/KhronosGroup/glTF-Sample-Models/master/2.0/Fox/glTF/Fox.gltf
 
Now, things get more and more weird…
 
It's not a humanoid; it's an alien, as humans imagine them.
 
https://create3000.github.io/x_ite/laboratory/gltf-sample-viewer/?url=https://create3000.github.io/media/glTF/Walking%20Alien/Walking%20Alien.gltf
 
Still a life form, but it's a plant:
 
https://create3000.github.io/x_ite/laboratory/gltf-sample-viewer/?url=https://create3000.github.io/x_ite/assets/teaser/pluto/palm_tree_-_animated.glb
 
Not even alive, no, it's a engine:
 
https://create3000.github.io/x_ite/laboratory/gltf-sample-viewer/?url=https://create3000.github.io/media/glTF/Futuristic%20Bike/Futuristic%20Bike.gltf
 
The main purpose of showing you this is to demonstrate that the HAnimHumanoid node can be used for many more objects than just a human body. The advantage is that all the complex animation processes can be handled by the GPU, while the CPU only performs minor translation and rotation interpolation. There is no need for a CoordinateInterpolator or a NormalInterpolator!
All of this can be achieved using the current HAnim specification. However, I would like to demonstrate how it can be used for purposes beyond those initially considered.

All these model (except first) are glTF models converted to X3D and using HAnim nodes for glTF skinning objects, which can be easily translated into X3D.
However, this calls into question the use of a strict set of HAnimJoint/Segment names and the HAnimHumanoid.loa field.

Best regards,Holger

—
Holger Seelig
holger.seelig at yahoo.de (mailto:holger.seelig at yahoo.de)

















_______________________________________________
x3d-public mailing list
x3d-public at web3d.org (mailto:x3d-public at web3d.org)
http://web3d.org/mailman/listinfo/x3d-public_web3d.org



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20250618/5f53588e/attachment.html>


More information about the x3d-public mailing list