[x3d-public] What is a HAnimHumanoid?
John Carlson
yottzumm at gmail.com
Wed Jun 18 10:57:16 PDT 2025
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/f6354e89/attachment-0001.html>
More information about the x3d-public
mailing list