[X3D-Ecosystem] Blender export: Bone+Transform = Joint
Joe D Williams
joedwil at earthlink.net
Fri Jan 23 13:25:10 PST 2026
> 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-ecosystem_web3d.org/attachments/20260123/a11b6612/attachment.html>
More information about the X3D-Ecosystem
mailing list