[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