<div dir="auto">Joe, I acknowledge that problems rotations or joints centers may be key in getting animations working properly.  More than just swapping bone head and tail.  I acknowledge that I may not know “The Blender way.”  I also acknowledge that animations weren’t working at all with .x3d imports before my feeble attempts.</div><div dir="auto"><br></div><div dir="auto">Mostly, I’ve been adapting existing code that might have been incorrect.  AFAICT, it only possibly worked with some version of .wrl ROUTEs I am unaware of.</div><div dir="auto"><br></div><div dir="auto">Specifically, I’ve written code that does animation for Blender bones, particularly bone orientation, based on existing OrientationInterpolator code.  To me, the armature animation looks a lot better than what the skin does, so I’ve been focusing on something to do with skin weights.  I am not saying the bone animations are correct yet, particularly for Jin and segment and site geometry.  I am not focusing on segment and site geometry animation presently.  That has been particularly challenging.  I am trying for low hanging fruit.</div><div dir="auto"><br></div><div dir="auto">Yes, my import Python looks a bit funny with its strange parameters.  They’re the best I have so far.</div><div dir="auto"><br></div><div dir="auto">I am fully open to criticism, I’ve done the best with the knowledge I have.  I don’t know how HAnim will work with existing scenes.</div><div dir="auto"><br></div><div dir="auto">I would hope that people can review my Python code here:  </div><div dir="auto"><br></div><div dir="auto"><div><a href="https://projects.blender.org/yottzumm/io_scene_x3d">https://projects.blender.org/yottzumm/io_scene_x3d</a></div><br></div><div dir="auto">Thanks, </div><div dir="auto"><br></div><div dir="auto">John</div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Nov 13, 2024 at 10:18 PM Joe D Williams via x3d-public <<a href="mailto:x3d-public@web3d.org">x3d-public@web3d.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)"><br>
-----Forwarded Message-----<br>
From: Joe D Williams <<a href="mailto:joedwil@earthlink.net" target="_blank">joedwil@earthlink.net</a>><br>
Sent: Nov 13, 2024 7:38 PM<br>
To: Vincent Marchetti <<a href="mailto:vmarchetti@kshell.com" target="_blank">vmarchetti@kshell.com</a>><br>
Cc: X3D Ecosystem public discussion <<a href="mailto:x3d-ecosystem@web3d.org" target="_blank">x3d-ecosystem@web3d.org</a>><br>
Subject: Re: [x3d-public] [x3d] Minutes from Nov 12 X3D Blender suppport call<br>
<br>
Hi Vince,<br>
The basic idea is that x3d is cast in the GL coordinate system where +y is up, model faces +z is toward the viewer, and +x is to the model left, viewer right. Axis rotations follow right hand rule. + is ccw. .<br>
So for the ideal HAnim source pose before animation all joints and points are 0 0 1 0.<br>
The host world coord sys is same as hanim model coord sys.<br>
<br>
>From what I seem to see I think the Blender world coordinate system is +z up and left hand rule for rotations. That is why the gltf needs the +Yup flag, because gltf is cast in GL coord sys.<br>
I am not sure what that gltf export +Yup flag does to the data from blender. Does it just do that x-axis rotation, or more?<br>
<br>
So, this may be called the problem of using a Dx model in a GL system. Converting seems not so easy to export by just rotation of x-axis as shown in the example because joint and point coordinates may not be as expected GL and x3d 0 0 1 0 and animations may be a further problem.<br>
<br>
This is opportunity that needs some <a href="http://work.to" rel="noreferrer" target="_blank">work.to</a> understand. Right,we need a simple example that shows default x3d model coordinate system and a simple animation in that system,, import to Blender and see what happens, make some simple mods and animations then see what it exports and how it plays in x3d. Turns out that Vulcan is the only khronos that uses what think is the Dx as a basis<br>
<br>
John actually has some experience in this in his work with the kicker.<br>
<br>
Good Luck, it is Important, since may authoring and run times have chosen the Dx and others something different from either.<br>
<br>
All Best,<br>
Joe<br>
<br>
<br>
-----Original Message-----<br>
From: Vincent Marchetti<br>
Sent: Nov 13, 2024 1:24 PM<br>
To: Joe D Williams<br>
Cc: X3D Ecosystem public discussion<br>
Subject: Re: [x3d-public] [x3d] Minutes from Nov 12 X3D Blender suppport call<br>
<br>
I have seen this issue brought up before. Is the problem particular to exporting HAnim type models, or is it generic to all Blender to X3D exports<br>
<br>
What would help understand and potentially create a solution would be if someone created a .blend file that had<br>
-- a single shape, with low poly mesh but with a visually obvious front and up direction<br>
-- that shape oriented in Blender space with the up direction along Blender +Z and the forward direction along Blender -Y, and this achieved without any rotation of the mesh defined in Blender.<br>
<br>
Then we can examine X3D exports with various options to see if there's a problem to fix in the code.<br>
<br>
Vince Marchetti<br>
<br>
<br>
> On Nov 13, 2024, at 4:03 PM, Joe D Williams wrote:<br>
><br>
> <a href="https://github.com/andreasplesch/x3dom/wiki/RiggedSimple-glTF-conversion" rel="noreferrer" target="_blank">https://github.com/andreasplesch/x3dom/wiki/RiggedSimple-glTF-conversion</a><br>
><br>
> X3D<br>
> experimental xml<br>
> ...<br>
><br>
> Transform DEF='node_0' rotation='1 0 0 1.57<br>
><br>
> This is not good. It shows the thing was drawn +zup.<br>
> This should be fixed in blender either by fixing blender to do the GL default, not depending on the Transform of the model to put the thing into GL space.<br>
> Thanks,<br>
> Joe<br>
> -----Original Message-----<br>
> From: Extensible 3D (X3D) Graphics public discussion<br>
> Sent: Nov 13, 2024 8:00 AM<br>
> To: Vincent Marchetti , X3D Ecosystem public discussion , ,<br>
> Cc: Joe D Williams<br>
> Subject: Re: [x3d-public] [x3d] Minutes from Nov 12 X3D Blender suppport call<br>
><br>
> So, to me for hanim it seems like we must fix Blender at the source.<br>
> Just about the idea that Blender considers all Joints can affect all points, seems like that is a non-starter. Doesn't this liimit the skeleton-driven skin animation to less than 16 Joint nodes?<br>
> If so, then Blender needs to be fixed to operate more like x3d hanim, and every other tool, to allow for more skeleton joints(?) Gltf has a suggested? limit of, four joints to affect any point.<br>
> What am I missing?<br>
> Thanks for all the great work on this import/export with Blender.<br>
> Joe<br>
><br>
><br>
> -----Original Message-----<br>
> From: Vincent Marchetti<br>
> Sent: Nov 13, 2024 6:36 AM<br>
> To: X3D Ecosystem public discussion ,<br>
> Subject: [x3d] Minutes from Nov 12 X3D Blender suppport call<br>
><br>
> Minutes from the Nov 12 2024 meeting on Blender 4.2 support for X3D are available for view and comment<br>
><br>
> <a href="https://docs.google.com/document/d/1wvjvDpJTMFDMpS53ImuoRHNOCt9zrCiq/edit" rel="noreferrer" target="_blank">https://docs.google.com/document/d/1wvjvDpJTMFDMpS53ImuoRHNOCt9zrCiq/edit</a><br>
><br>
> Vince Marchetti<br>
><br>
><br>
> _______________________________________________<br>
> x3d mailing list<br>
> <a href="mailto:x3d@web3d.org" target="_blank">x3d@web3d.org</a><br>
> <a href="http://web3d.org/mailman/listinfo/x3d_web3d.org" rel="noreferrer" target="_blank">http://web3d.org/mailman/listinfo/x3d_web3d.org</a><br>
><br>
><br>
><br>
> _______________________________________________<br>
> x3d-public mailing list<br>
> <a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a><br>
> <a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" rel="noreferrer" target="_blank">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a><br>
><br>
><br>
<br>
<br>
<br>
<br>
<br>
<br>
_______________________________________________<br>
x3d-public mailing list<br>
<a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a><br>
<a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" rel="noreferrer" target="_blank">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a><br>
</blockquote></div></div>