[x3d-public] What is a HAnimHumanoid?
John Carlson
yottzumm at gmail.com
Wed Jun 18 14:28:49 PDT 2025
Joe, please check for scale, translation and scale fields in the
specification under Segment or HAnimSegment. If you have something
different in HAnim v2.1 or X3D v4.1, great.
For example, I looked here, in HAnim v2.1, but did not see the fields:
https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19774/ISO-IEC19774-1/ISO-IEC19774-1v2.1/ISO-IEC19774-1v2.1-WD/Architecture/ObjectInterfaces.html#Segment
I would be in agreement to add them, if needed.
Thanks,
John
On Wed, Jun 18, 2025 at 2:07 PM Joe D Williams <joedwil at earthlink.net>
wrote:
> 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> 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>
>> Sent: Jun 18, 2025 7:47 AM
>> To: X3D <x3d-public at web3d.org>
>> Cc: Holger Seelig <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
>>
>>
>> _______________________________________________
>> x3d-public mailing list
>> 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/1adec78b/attachment-0001.html>
More information about the x3d-public
mailing list