<div dir="auto">Deleting the armature and Blender bones may allow the routes to find the (joint) object and not the bone.</div><div dir="auto"><br></div><div dir="auto">That might be the best approach or renaming objects so they don’t have the same name as Blender bones.  This gets kind of deep, because the Transforms might get renamed as well, unless we do a tag test, or copy and paste code.  We’re already doing that for matrix multiplication.</div><div dir="auto"><br></div><div dir="auto">But then, we’ll have to fix up JoeSkin*Kick and Gramps.</div><div dir="auto"><br></div><div dir="auto">AFAIK, joint animation is working perfectly well, so I’m hesitant to change it.</div><div dir="auto"><br></div><div dir="auto">So I’d rather make a simple Transform (object) hierarchy rotation test and import it first before hacking on bones.</div><div dir="auto"><br></div><div dir="auto">Hmm!</div><div dir="auto"><br></div><div dir="auto">John</div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Jun 3, 2024 at 4:56 PM John Carlson <<a href="mailto:yottzumm@gmail.com">yottzumm@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="auto">There’s a perfectly adequate hierarchy in Blender.  The next step is to delete or not insert any bones or armature.</div><div dir="auto"><br></div><div dir="auto">John</div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Jun 3, 2024 at 4:50 PM Joe D Williams <<a href="mailto:joedwil@earthlink.net" target="_blank">joedwil@earthlink.net</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><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">>  <span style="font-size:12pt">There are no Transforms in the Blender object hierarchy, just a matrix field of Object called “</span>matrix_world<span style="font-size:12pt">” </span></p>
</div>   
<p style="margin:0.1rem 0;line-height:1.0">The matrix hierarchy includes as one of its actions, the idea of a translation. For HAnim this value is initialized to the equivalent of axis-angle 0 0 1 0 all angles zero. When the hierarchy is evaluated, joint rotation by joint rotation the Joint either stays at 0 0 1 0 or moves to the commanded rotation, so the matrix for each 'transform' or object or whatever Blender calls them from the root, to the extremities. Incidentally, if a matrix is the only user interface available, then you have not found the right button to show it in x3d terms (axis-angle or unit quaternion) and I can't remember seeing pure marix for this data in the gltf. Incidentally, the x3d SAI can do matrix operations.  </p>
<p style="margin:0.1rem 0;line-height:1.0"> </p>
<p style="margin:0.1rem 0;line-height:1.0">As for the Blender gui, see the indents, in and out to show hierarchy. I think the last one I saw blew because of too much stuff. The latest skeleton I sent has the 'transforms' but was empty, and that is all that is needed to go for an accurate import to blender or any. Whatever the Blender can export, probably have to do some editing of various stuff, but most important that the hierarchy is maintained. The names are not so important, the main thing is to get a good loa4 hierarchy into Blender and then start adding surfaces and accessories stuffs that can be exported back to x3d and worked for real time running. In the old days there was a couple of editors that worked native in x3d Classic or xml but most got bought out. Imagine any of the tools we have now that would add even some simple geometry and animation editing? </p>
<p style="margin:0.1rem 0;line-height:1.0"> </p>
<p style="margin:0.1rem 0;line-height:1.0">Where are those playgrounds I saw last month?</p>
<p style="margin:0.1rem 0;line-height:1.0"> </p>
<p style="margin:0.1rem 0;line-height:1.0">Thanks for All,</p>
<p style="margin:0.1rem 0;line-height:1.0">Joe</p>
<p style="margin:0.1rem 0;line-height:1.0"> </p>
<p style="margin:0.1rem 0;line-height:1.0">  </p>

<div style="border-left:1px solid #aaa;box-sizing:border-box;padding:10px 0 10px 15px;margin:0">
<p></p></div><div style="border-left:1px solid #aaa;box-sizing:border-box;padding:10px 0 10px 15px;margin:0"><p>-----Original Message-----<br>From: John Carlson <<a href="mailto:yottzumm@gmail.com" target="_blank">yottzumm@gmail.com</a>><br>Sent: Jun 3, 2024 2:05 PM<br>To: Joe D Williams <<a href="mailto:joedwil@earthlink.net" target="_blank">joedwil@earthlink.net</a>><br>Subject: Re: [x3d-public] [create ..Don't give up ,,, 20b</p>
<p style="margin:0.1rem 0;line-height:1.0"> </p>
<div dir="auto">There’s no “Call.”  One creates instances of the Object type using DEF’s value as you suggest.  There are no Transforms in the Blender object hierarchy, just a matrix field of Object called “matrix_world” which contains an instance of the Matrix type.</div>
<div dir="auto"> </div>
<div dir="auto">I have attempted to share images and .blend files showing the object hierarchy, but apparently you’ve not looked at them, otherwise you would know that there’s a whole object hierarchy separate from Blender bones but attached to the armature, with the top level node called “hanim_humanoid_root.”  A last gasp effort might be to get rid of the armature, but that would mean we would be closely tied to HAnim naming, which is undesirable, especially when people can call things in blender whatever they like.</div>
<div dir="auto"> </div>
<div dir="auto">I have spent months trying to get local orientation interpolators working.</div>
<div dir="auto"> </div>
<div dir="auto">The whole point of doing work with Blender was to add an armature and Blender bones.  There’s no real value add with objects as transforms unless we can get local rotations working during keyframe creation.  I have two questions on StackExchange asking about this.</div>
<div dir="auto"> </div>
<div dir="auto">John</div>
<div><br>
<div class="gmail_quote">
<div class="gmail_attr" dir="ltr">On Mon, Jun 3, 2024 at 3:28 PM Joe D Williams <<a href="mailto:joedwil@earthlink.net" target="_blank">joedwil@earthlink.net</a>> wrote:</div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div style="color:#000000;font-family:arial,sans-serif;font-size:12pt">> Can anyone tell that I’m burned out with programming Blender Python?  Just when you want to give up, try the attached.This is just a bare loa4 with all Joint and Segment and Site nodes.    If you can import this transform hierarchy, then we can just add geometry wherever, no skin now.     Joint and Segment and Site are just Transforms with some special fields, none of which are used in this basic import. If it won't let you call it a Joint or Segment or Site, then use the DEF name with Joint or Segment, or Site in front. Good Luck. This should be able to be imported into anything, with some care.  The objective is to get away from the authoring tool default skeleton or armature or whatever, and be easy to pick this one and change dimensions as desired. Then you start with a good skeleton and go forward.Thanks,Joe
<div style="border-left:1px solid #aaa;box-sizing:border-box;padding:10px 0 10px 15px;margin:0">
<p>-----Original Message-----<br>From: John Carlson <<a href="mailto:yottzumm@gmail.com" rel="noopener" target="_blank">yottzumm@gmail.com</a>><br>Sent: Jun 3, 2024 12:53 PM<br>To: Michalis Kamburelis <<a href="mailto:michalis.kambi@gmail.com" rel="noopener" target="_blank">michalis.kambi@gmail.com</a>><br>Cc: Extensible 3D (X3D) Graphics public discussion <<a href="mailto:x3d-public@web3d.org" rel="noopener" target="_blank">x3d-public@web3d.org</a>>, Joe D Williams <<a href="mailto:joedwil@earthlink.net" rel="noopener" target="_blank">joedwil@earthlink.net</a>>, create3000/sunrize <<a href="mailto:reply%2BAAFMJ5YNMQD2V3WUI2UO2AOEMMNGREVBNHHITSFMII@reply.github.com" rel="noopener" target="_blank">reply+AAFMJ5YNMQD2V3WUI2UO2AOEMMNGREVBNHHITSFMII@reply.github.com</a>>, <<a href="mailto:h-anim@web3d.org" rel="noopener" target="_blank">h-anim@web3d.org</a>><br>Subject: Re: [x3d-public] [create3000/sunrize] Joe doesn't kick or move in sunrize. (Issue #6)</p>
<p style="margin:0.1rem 0;line-height:1.0"> </p>
<div dir="auto">More likely, using geometry outside and inside the Humanoid causes it to be drawn twice.  There’s no shape field in HAnimJoint that I know of. Subnodes, yes, obviously.  Perhaps Displacers are a form of geometry, IDK.</div>
<div dir="auto"> </div>
<div dir="auto">Can anyone tell that I’m burned out with programming Blender Python?</div>
<div dir="auto"> </div>
<div dir="auto">John</div>
<div dir="auto"> </div>
<div dir="auto"> </div>
<div>
<div class="gmail_quote">
<div class="gmail_attr" dir="ltr">On Mon, Jun 3, 2024 at 4:39 AM Michalis Kamburelis <<a href="mailto:michalis.kambi@gmail.com" rel="noopener" target="_blank">michalis.kambi@gmail.com</a>> wrote:</div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">
<div dir="auto">Note: Listing the joints inside HAnimHumanoid.joints does not make them drawn. Nothing would be drawn twice. I'm saying this to address incorrect statement in this thread """Finally, the browser must actually ignore those fields  because otherwise the thing would be drawn twice, once with DEFs and once with USEs. in those fields.  """ . No, nothing would be drawn twice.</div>
</div>
</blockquote>
</div>
</div>
</div>
<p style="margin:0.1rem 0;line-height:1.0"> </p>
</div>
</blockquote>
</div>
</div>
</div>

<p style="margin:0.1rem 0;line-height:1.0"> </p></blockquote></div></div>
</blockquote></div></div>