<div style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:12pt"><p style="margin: 0.1rem 0; line-height: 1.0;">The beginning of the bone is the parent joint center.</p>
<p style="margin: 0.1rem 0; line-height: 1.0;">The bone center is not of interest that I can think of.</p>
<p style="margin: 0.1rem 0; line-height: 1.0;"> </p>
<p style="margin: 0.1rem 0; line-height: 1.0;">> <span style="font-size: 12pt;">If core Blender does not provide a write-able center, ... </span></p>
<p style="margin: 0.1rem 0; line-height: 1.0;"><span style="font-size: 12pt;"> </span></p>
<p style="margin: 0.1rem 0; line-height: 1.0;"><span style="font-size: 12pt;">That is shown in the extra set of Transform DEFs and the associated extra set of Transfom USE,which add the joint center data inso theJoint center canbe animated. . </span></p>
<p style="margin: 0.1rem 0; line-height: 1.0;"><span style="font-size: 12pt;">Be sure the animation is not running, timer disabled, when you import to blender. </span></p>
<p style="margin: 0.1rem 0; line-height: 1.0;"><span style="font-size: 12pt;">Again, what I see is that the import to blender gets changed to remove the center value from the Joint, then produces the DEF transforms and USE Transformtoadd the center value,then does the animation. We do not want to see those extra Transforms in the exported x3d from blender. </span></p>
<p style="margin: 0.1rem 0; line-height: 1.0;"><span style="font-size: 12pt;"> </span></p>
<p style="margin: 0.1rem 0; line-height: 1.0;">Joe. </p>
<p style="margin: 0.1rem 0; line-height: 1.0;"> </p>
</div>
<div class="elnk-inline-message-container" style="border-left: 1px solid #aaa; box-sizing: border-box; padding: 10px 0 10px 15px; margin: 0;">
<p>-----Original Message-----<br>From: John Carlson <yottzumm@gmail.com><br>Sent: Dec 20, 2024 10:29 AM<br>To: Joe D Williams <joedwil@earthlink.net><br>Cc: Michalis Kamburelis <michalis.kambi@gmail.com>, X3D Ecosystem public discussion <x3d-ecosystem@web3d.org>, Vincent Marchetti <vmarchetti@kshell.com>, Katy Schildmeyer KS APPAREL DESIGN <katy@ksappareldesign.com>, Carol McDonald <cemd2@comcast.net><br>Subject: Re: Geometry nodes in Blender.</p>
<p style="margin: 0.1rem 0; line-height: 1.0;"> </p>
<div dir="auto">Again, my exporter is in a state of flux, and is not prepared to do much.</div>
<div dir="auto"> </div>
<div dir="auto">Any ‘standard’ X3D transform nodes are in the import/export code and do not relate to core blender API. If core Blender does not provide a write-able center, then if we want a write-able center, we have to fork Blender most likely, or do as Michalis suggests, split the bone on its center.</div>
<div dir="auto"> </div>
<div dir="auto">There are locations in blender objects, which could likely be a center. I don’t recall having success with those either. I was not aware of any way to assign weights to objects in Blender. Thus I asked AI and came up with the hook idea.</div>
<div><br>
<div class="gmail_quote gmail_quote_container">
<div class="gmail_attr" dir="ltr">On Fri, Dec 20, 2024 at 12:06 PM Joe D Williams <<a href="mailto:joedwil@earthlink.net">joedwil@earthlink.net</a>> wrote:</div>
<blockquote class="gmail_quote" style="margin: 0 0 0 .8ex; border-left: 1px #ccc solid; padding-left: 1ex;">Please look at John's export of joekick from blender. The skin binding works fine except that it also includes all other geometry in the file as skin so it doesn't work quite right. <br>The problem in the exported file is that the 'standard' blender transform node does not know about "center" and so it has to be added by a silly USEage in blender to work.<br>Just fix blender (1) so it knows about center in a 'standard' Transform, and (2) how it seems to include all geometry in the file, even children of joints, as included in"skin" field and most all will be fixed.<br><br>The idea of a bone center is not useful unless it is a joint. If a center field is mentioned anywhere in blender it is in relation to a begin bone end as some sort of crutch for having left center out of standard Transform. Recall the days in 1998 when some tool makers were saying nah, we don't need center in our transform object, translation, rotation, and scale is plenty to expose except as special usage. <br>Thanks,<br>Joe<br><br> . <br>-----Original Message-----<br>From: Michalis Kamburelis <<a href="mailto:michalis.kambi@gmail.com" target="_blank" rel="noopener">michalis.kambi@gmail.com</a>><br>Sent: Dec 20, 2024 2:07 AM<br>To: John Carlson <<a href="mailto:yottzumm@gmail.com" target="_blank" rel="noopener">yottzumm@gmail.com</a>><br>Cc: X3D Ecosystem public discussion <<a href="mailto:x3d-ecosystem@web3d.org" target="_blank" rel="noopener">x3d-ecosystem@web3d.org</a>>, Vincent Marchetti <<a href="mailto:vmarchetti@kshell.com" target="_blank" rel="noopener">vmarchetti@kshell.com</a>>, Katy Schildmeyer KS APPAREL DESIGN <<a href="mailto:katy@ksappareldesign.com" target="_blank" rel="noopener">katy@ksappareldesign.com</a>>, Carol McDonald <<a href="mailto:cemd2@comcast.net" target="_blank" rel="noopener">cemd2@comcast.net</a>>, Joe D Williams <<a href="mailto:joedwil@earthlink.net" target="_blank" rel="noopener">joedwil@earthlink.net</a>><br>Subject: Re: Geometry nodes in Blender.<br><br>> I think what you're saying is break a bone into 2 pieces, one with head plus center (now tail) and one with center (now head) plus tail. This seems like an excellent idea. I'm going to think on it a bit.<br>> My question is, what do I name the 2 pieces? I'm guessing something that I can combine on export.<br><br>Indeed.<br><br>As for new bone names: "Leg1_center" (when you need to add new Blender<br>bone when "Leg1" joint has non-zero center in X3D/H-Anim) would look<br>reasonable for me (and code can figure out what happened and invert<br>it, so you can have round-trip that later exports it back into one<br>"Leg1" joint with non-zero center). But that's just a suggestion.<br><br>> This sounds like Zeno's paradox where I'm just trying to put weights where they don't go. The weights go on the joints. We only have weights for joints on import. ((well, I don't know all of X3D).<br><br>Weights describe how much each joint influences each vertex. This is<br>equal in Blender, X3D/H-Anim, glTF.<br><br>I'm not sure if what you're saying is equivalent, but if yes -> OK :)<br><br>> Remember I'm doing this in python, not in the Blender GUI.<br><br>Sure, but it should be similar. That is, Blender's Python API exposes<br>a superset of things that you can do from GUI and it uses the same<br>terminology, mostly. And you can observe in Blender's console what<br>your interactive operation "means" in Python, it's a valid way to<br>learn Blender's Python API.<br><br>> It sounds like I should give up on ever trying to import site or segment geometry, and *try* to do Joints and skin.<br><br>I'm not sure what do you mean here :)<br><br>The H-Anim "skin" (one mesh, with joints and weights) should map to<br>Blender, because it is exactly the same concept in Blender. (OK, not<br>*exactly* the same, e.g. Blender, because of history, calls "bones"<br>what X3D/H-Anim and glTF call "joints"; but it is close to equivalent,<br>for 3D graphic artists these are the same things).<br><br>You don't need to "give up" on anything, from what I can see. Just<br>import/export X3D/H-Anim skin to Blender's skin (Armature). This is<br>what 3D artists would expect.<br><br>Other features (like attaching rigid objects to sites, without skin)<br>are a separate thing. They can be imported/exported e.g. as bones'<br>children. But these are separate things, I'd advise to focus on the<br>hard case (skin) first :)<br><br>Regards,<br>Michalis<br><br><br></blockquote>
</div>
</div>
</div>
<p style="margin: 0.1rem 0; line-height: 1.0;"> </p>