[X3D-Ecosystem] Blender export: Bone+Transform = Joint
John Carlson
yottzumm at gmail.com
Thu Jan 22 10:01:49 PST 2026
I have initially decided to maintain a unified dual tree. Eventually, I
will remove the bones, grabbing the bone head as the transform center. The
issue is that vertex groups are also on bones, so I will copy them over to
the transforms. The transforms have a bone parent, so this is the
easiest way to do it. Eventually, I will copy translation, rotation and
scale from the transforms into the bones.
John
On Thu, Jan 22, 2026 at 9:22 AM Bergstrom, Aaron <aaron.bergstrom at und.edu>
wrote:
> 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/20260122/73c08c35/attachment.html>
More information about the X3D-Ecosystem
mailing list