[X3D-Ecosystem] Blender export: Bone+Transform = Joint

Don Brutzman don.brutzman at gmail.com
Fri Jan 23 13:34:27 PST 2026


I recommend getting a simple example first.  I look forward to putting the
.blend file and converted output into the HAnim X3D Examples Archive.
Continuing testing, documentation and progress updates will likely benefit.

all the best, Don
-- 
X3D Graphics, Maritime Robotics, Distributed Simulation
Relative Motion Consulting  https://RelativeMotion.info


On Fri, Jan 23, 2026 at 1:26 PM Joe D Williams via X3D-Ecosystem <
x3d-ecosystem at web3d.org> wrote:

> > GCE Skin node’s “shapes” field
>
>
>
> should be GCESkin but should not have 'skin' in the name.
>
> It is more than skin and less than skin at the same time
>
> and it is not HAnim, it is HAnim Part 2 import stuff.
>
> Not much if anything to do with HAnim part 1.
>
> Then you are overloading this node with other stuff, like lights?
>
> Really step back and think about how to do this  without trying to load
> everything into this 'Node;
>
> Thanks,
>
> Joe
>
>
>
>
>
>
>
> -----Original Message-----
> From: Bergstrom, Aaron <aaron.bergstrom at und.edu>
> Sent: Jan 22, 2026 7:22 AM
> To: X3D Ecosystem public discussion <x3d-ecosystem at web3d.org>, Joe D
> Williams <joedwil at earthlink.net>, Katy Schildmeyer KS APPAREL DESIGN <
> katy at ksappareldesign.com>, GPU Group <gpugroup at gmail.com>, Michalis
> Kamburelis <michalis.kambi at gmail.com>
> Cc: John Carlson <yottzumm at gmail.com>
> Subject: RE: [X3D-Ecosystem] Blender export: Bone+Transform = Joint
>
>
>
> All,
>
>
>
> Initially, the GCE Skin node’s “shapes” field was not going to allow any
> node types other than “Shapes”, but recently Michalis has changed his mind
> on this. It may be a bit before it is implemented, but “shapes” will also
> allow “Group” nodes and many other node types.
>
>
>
> Hoewver, “Transform” nodes under a CGE Skin node’s “shapes” field will
> still NOT be allowed.
>
>
>
> Unfortunately, I cannot provided any feedback on Blender Armature nodes as
> I have not read up on how they work.
>
>
>
> I had planned to read up on the topic. I received the book “Beginner’s
> Guide to Creating Characters in Blender” for Christmas, which I figured
> would have some discussion of Blender character rigging…
>
>
>
> But alas, unfortunately there is absolutely no discussion about Armature
> or character rigging in that book. I guess I should have looked at the
> book’s Table of Contents before asking for it.
>
>
>
> Oh well, it’s always hard to buy xmas gifts for dad.
>
>
>
> Disappointing, nonetheless.
>
>
>
> Aaron
>
>
>
> *From:* X3D-Ecosystem <x3d-ecosystem-bounces at web3d.org> *On Behalf Of *John
> Carlson via X3D-Ecosystem
> *Sent:* Wednesday, January 21, 2026 11:56 PM
> *To:* Joe D Williams <joedwil at earthlink.net>; Katy Schildmeyer KS APPAREL
> DESIGN <katy at ksappareldesign.com>; GPU Group <gpugroup at gmail.com>; X3D
> Ecosystem public discussion <x3d-ecosystem at web3d.org>; Michalis
> Kamburelis <michalis.kambi at gmail.com>
> *Cc:* John Carlson <yottzumm at gmail.com>
> *Subject:* [X3D-Ecosystem] Blender export: Bone+Transform = Joint
>
>
>
> I am starting to realize that for Blender HAnim export, at least for
> sandrunner, that Bone parent + Transform child (Empty object) =  HAnimJoint
> (combined).  So you must go down the non-bone hierarchy under Armature to
> collect the Transform (translation, rotation, scale), go to the parent bone
> of the non-bone to get the head (center), and create an HAnimJoint from
> those values.   Then, you must (somehow) attach the mesh (skin) to the
> HAnimJoint through vertex groups (skinCoordWeight and skinCoordIndex).  And
> collect all coordinates from the meshes into the skinCoord containerField
> in a Coordinate.point field.   All the meshes will be Shape (mesh) nodes in
> the skin containerField field.
>
>
>
> This is for the XML encoding.  I am not currently including other
> encodings.
>
>
>
> The HAnimJoints should not have *any* children except other HAnimJoints
> and HAnimDisplacers.   There’s no HAnimSegments or HAnimSites.  There will
> be HAnimDisplacers, but I don’t know how to export those yet, help is
> desired.  I suggest we get browsers ready for this.
>
>
>
> The only Transforms that will be exported will be outside the Humanoid or
> in skin, but the latter is unlikely, since HAnimJoints can’t contain
> Transforms.
>
>
>
> If there’s no bone parent for a Blender object inside the armature, an
> HAnimJoint will be created with its closest ancestor’s bone head (center).
>
>
>
> That’s as far as I got.  Please review.
>
>
>
> Please discuss how Groups work under Shapes in this case.  Also the CGE
> Skin node should be discussed.
>
>
>
> John
>
>
> --
> X3D-Ecosystem mailing list
> X3D-Ecosystem at web3d.org
> http://web3d.org/mailman/listinfo/x3d-ecosystem_web3d.org
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-ecosystem_web3d.org/attachments/20260123/ad356eed/attachment-0001.html>


More information about the X3D-Ecosystem mailing list