<div dir="auto">Sure, Joe, please issue a pull request against Blender’s documentation on bone center:</div><div dir="auto"></div><div><a href="https://docs.blender.org/api/current/bpy.types.PoseBone.html">https://docs.blender.org/api/current/bpy.types.PoseBone.html</a></div><div dir="auto"><br></div><div dir="auto">There’s probably similar in other bone types.</div><div dir="auto"><div><a href="https://docs.blender.org/api/blender_python_api_2_67_1/bpy.types.PoseBone.html"></a></div><br></div><div dir="auto">No one is setting the Blender bone center, it’s read-only as documented. It can’t be imported with an addon that I know of. We can’t set Blender bone center.</div><div dir="auto"><br></div><div dir="auto">There’s no center in Blender objects:</div><div dir="auto"><br></div><div dir="auto"><div><a href="https://docs.blender.org/api/current/bpy.types.Object.html">https://docs.blender.org/api/current/bpy.types.Object.html</a></div><div dir="auto"><br></div><div dir="auto">If you continue waffle on avoiding API (or any<div dir="auto">) Blender documentation, we will continue to have problems.</div></div><br></div><div dir="auto"><br></div><div dir="auto">On import, I’m creating a bone hierarchy and an object hierarchy for joints. If you want me to use bone center on export, great! On import, tell me what to assign the joint center to in Blender python, and we might make progress. Is the Blender bone location or Blender object location the joint center? Do bones have locations? It looks like there’s a difference between editbone and posebone (i didn’t look at bone).<div><span style="font-family:-apple-system,helveticaneue;font-size:19px;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none;float:none;display:inline!important;background-color:rgba(0,0,0,0);border-color:rgb(0,0,0);color:rgb(0,0,0)">There’s a boolean to use a local location?</span></div>Realize that the importer architecture is reliant on setting matrix_world, created out of multiplying Transforms.</div><div dir="auto"><br></div><div dir="auto">A bone’s parent is another bone or the armature, AFAIK. Please provide an example where this isn’t true. I’m actually having issues setting the root bone’s parent, I think.</div><div dir="auto"><br></div><div dir="auto">We can’t just magically turn blender objects into Joints. We need additional information. We have additional problems creating sites and segments from objects. Either additional information needs to be added to Blender, or correct types need to be added to Blender.</div><div dir="auto"><br></div><div dir="auto">Because of this, I have been avoiding Jin anything and focusing on Joe, Gramps and MaleWaving. Which don’t focus on sites or segments. It seems like export is becoming more important than import.</div><div dir="auto"><br></div><div dir="auto">There’s hope that we can adjust the Blender loader or importer to identify X3D nodes there’s no counterpart for in Blender, and change names, types or custom properties to adjust for Blenders deficiencies. Meanwhile, we are dealing with what Blender can do that there’s an analog for in X3D.</div><div dir="auto"><br></div><div dir="auto">We hope that Blender can animate TextureTransforms. Apparently, it can transform textures. I’m guessing if one adds keyframes, this can be done. I think Michalis is saying that this will be after getting ordinary transforms done.</div><div dir="auto"><br></div><div dir="auto">Generally, I would love to avoid bones. Katy gave me a collada example without bones we could look at to figure out how to export it. I’ve heard collada is due for removal from Blender.</div><div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Sun, Dec 29, 2024 at 3:42 PM <<a href="mailto:joedwil@earthlink.net">joedwil@earthlink.net</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)"><div style="font-family:Arial;font-size:12pt;color:rgb(0,0,0)"><p style="margin:0.1rem 0px;line-height:1;font-family:Arial"><span style="font-family:"Times New Roman";font-size:medium;white-space:normal;float:none;display:inline;color:rgb(0,0,0)">> (transforming </span><span style="font-family:"Times New Roman";font-size:medium;white-space:normal;float:none;display:inline;color:rgb(0,0,0)">Blender object's location/rotation/scale exported to X3D animating</span><br style="color:#000000;font-family:'Times New Roman';font-size:medium;white-space:normal"><span style="font-family:"Times New Roman";font-size:medium;white-space:normal;float:none;display:inline;color:rgb(0,0,0)">Transform.translation/rotation/scale would be my suggestions)</span></p>
<p style="margin:0.1rem 0px;line-height:1;font-family:Arial"><span style="font-family:"Times New Roman";font-size:medium;white-space:normal;float:none;display:inline;color:rgb(0,0,0)"> </span></p>
<p style="margin:0.1rem 0px;line-height:1;font-family:Arial"><span style="font-family:"Times New Roman";font-size:medium;white-space:normal;float:none;display:inline;color:rgb(0,0,0)">First, Please recall that that the hanim import and export need transform,translation/rotation/center/scale </span></p>
<p style="margin:0.1rem 0px;line-height:1;font-family:Arial"><span style="font-family:"Times New Roman";font-size:medium;white-space:normal;float:none;display:inline;color:rgb(0,0,0)">All four, at least, not to mention scaleOrientation and any other x3d Transform fields. </span></p>
<p style="margin:0.1rem 0px;line-height:1;font-family:Arial"><span style="font-family:"Times New Roman";font-size:medium;white-space:normal;float:none;display:inline;color:rgb(0,0,0)"><a href="https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/grouping.html#Transform" target="_blank" style="font-family:"Times New Roman"">https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/grouping.html#Transform</a></span></p>
<p style="margin:0.1rem 0px;line-height:1;font-family:Arial"><span style="font-family:"Times New Roman";font-size:medium;white-space:normal;float:none;display:inline;color:rgb(0,0,0)"> </span></p>
<p style="margin:0.1rem 0px;line-height:1;font-family:Arial"><span style="font-family:"Times New Roman";font-size:medium;white-space:normal;float:none;display:inline;color:rgb(0,0,0)">Joint has some added to std x3d Transform but it is just a special Transform with a couple of added fields.. </span></p>
<p style="margin:0.1rem 0px;line-height:1;font-family:Arial"><span style="font-family:"Times New Roman";font-size:medium;white-space:normal;float:none;display:inline;color:rgb(0,0,0)"> </span></p>
<p style="margin:0.1rem 0px;line-height:1;font-family:Arial"><span style="font-family:"Times New Roman";font-size:medium;white-space:normal;float:none;display:inline;color:rgb(0,0,0)">Next, please understand that the Blender so called Bone center is never the center of the bone. </span></p>
<p style="margin:0.1rem 0px;line-height:1;font-family:Arial"><span style="font-family:"Times New Roman";font-size:medium;white-space:normal;float:none;display:inline;color:rgb(0,0,0)"> (hint: unless a bone is a cheerleader's baton), </span></p>
<p style="margin:0.1rem 0px;line-height:1;font-family:Arial"><span style="font-family:"Times New Roman";font-size:medium;white-space:normal;float:none;display:inline;color:rgb(0,0,0)">The field is coded and animated as the Joint center of the parent Joint as given by the bone begin default location. </span></p>
<p style="margin:0.1rem 0px;line-height:1;font-family:Arial"><span style="font-family:"Times New Roman";font-size:medium;white-space:normal;float:none;display:inline;color:rgb(0,0,0)"> </span></p>
<p style="margin:0.1rem 0px;line-height:1;font-family:Arial"><span style="font-family:"Times New Roman";font-size:medium;white-space:normal;float:none;display:inline;color:rgb(0,0,0)">Yes, that is really how it works. At some point in the past Blender decided to expose the Transform center detail to the armature author using that empty Transform and illegal by x3d DEF/USE coding. </span></p>
<p style="margin:0.1rem 0px;line-height:1;font-family:Arial"><span style="font-family:"Times New Roman";font-size:medium;white-space:normal;float:none;display:inline;color:rgb(0,0,0)"> </span></p>
<p style="margin:0.1rem 0px;line-height:1;font-family:Arial"><span style="font-family:"Times New Roman";font-size:medium;white-space:normal;float:none;display:inline;color:rgb(0,0,0)">So, with these two facts in hand we can actually think about exporting from blender true x3d hanim without the extra fake transforms that blender current api apparently needs to accomplish an hanim skeleton using Joint nodes rather than bones as the target authoring and animation interfaces. </span></p>
<p style="margin:0.1rem 0px;line-height:1;font-family:Arial"><span style="font-family:"Times New Roman";font-size:medium;white-space:normal;float:none;display:inline;color:rgb(0,0,0)"> </span></p>
<p style="margin:0.1rem 0px;line-height:1;font-family:Arial"><span style="font-family:"Times New Roman";font-size:medium;white-space:normal;float:none;display:inline;color:rgb(0,0,0)">This leads to the, to me, obvious that blender should join the big leagues and evolve its archaic skeleton (armature) authoring interface so as to obsolete the "Bone" hierarchy and evolve to the Joint hierarchy. Might as well since under the covers that is how it actually works. </span></p>
<p style="margin:0.1rem 0px;line-height:1;font-family:Arial"><span style="font-family:"Times New Roman";font-size:medium;white-space:normal;float:none;display:inline;color:rgb(0,0,0)"> </span></p>
<p style="margin:0.1rem 0px;line-height:1;font-family:Arial"><span style="font-family:"Times New Roman";font-size:medium;white-space:normal;float:none;display:inline;color:rgb(0,0,0)">Thanks for all the great work on blender x3d import/export and Best Regards,</span></p>
<p style="margin:0.1rem 0px;line-height:1;font-family:Arial"><span style="font-family:"Times New Roman";font-size:medium;white-space:normal;float:none;display:inline;color:rgb(0,0,0)">Joe</span></p>
<p style="margin:0.1rem 0px;line-height:1;font-family:Arial"><span style="font-family:"Times New Roman";font-size:medium;white-space:normal;float:none;display:inline;color:rgb(0,0,0)"> </span></p>
<p style="margin:0.1rem 0px;line-height:1;font-family:Arial"> </p>
<p style="margin:0.1rem 0px;line-height:1;font-family:Arial"> </p></div></blockquote></div></div>