<div><div dir="auto">Okay, I added “Prefer Flat” defaulted to True as a Blender import in my fork.</div><div dir="auto"><br></div><div dir="auto">In a script, you specify a prefer_flat=True or prefer_flat=False to the (import) function, which you can see in my scripts under X3DJSONLD/blend (below link).</div><div dir="auto"><br></div><div dir="auto"><div><a href="https://github.com/coderextreme/X3DJSONLD/blob/master/blend/importJoe.py" target="_blank">https://github.com/coderextreme/X3DJSONLD/blob/master/blend/importJoe.py</a></div><br></div><div dir="auto"><br></div><div dir="auto">Note on MaleWaving.py, I made some adjustments to load the X3D way!   The gizmo is correct and oriented right.  No floor though!</div><div dir="auto"><br></div><div dir="auto">2 down, 4+ to go!</div><div dir="auto"><br></div><div dir="auto">I’ll probably go 4,3,2,1 unless someone recommends something.  There’s also an issue with one of the Jin’s having a large skeleton (joint center transform?).  Another issue is having too many EMPTY objects as Joints in Blender (duplicates).</div><div dir="auto"><br></div><div dir="auto">The real good news is that a Jin’s skeleton animated through a whole concatenation of animations.  In Blender, I hope. ;)</div><div dir="auto"><br></div><div dir="auto">If someone has a way to simplify DEFs, ROUTE toNodes and ROUTE fromNodes, speak up!</div><div dir="auto"><br></div><div dir="auto">“<span style="font-family:-apple-system,helveticaneue">4.  Add Segment and Site object geometry for Jin (This may be a puzzle if we are using bones).”  I think for this, I can detect a site or segment with geometry when scanning for Shapes, and not do Blender bone or skin weight mode if segment or site geometry is found on import.  This may require prefer_flat=True to merge the Site transform with the geometry.  If I turn prefer_flat=True, then some animations for Transforms may not be included (ugh)!</span></div><div dir="auto"><span style="font-family:-apple-system,helveticaneue"><br></span></div><div dir="auto"><span style="font-family:-apple-system,helveticaneue">If someone wants to contribute Python to draw a 1m grid in the X-Z plane, that would be great!</span></div><div dir="auto"><br></div><div dir="auto">John </div><div dir="auto"><br><div class="gmail_quote"></div></div></div><div><div><div dir="ltr" class="gmail_attr">On Tue, Nov 26, 2024 at 4:33 PM John Carlson <<a href="mailto:yottzumm@gmail.com" target="_blank">yottzumm@gmail.com</a>> wrote:<br></div></div><div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"></div></blockquote></div><div>Okay.  I got 

<a href="https://github.com/coderextreme/X3DJSONLD/blob/master/blend/JoeSkinTexcoordDisplacerKickUpdate3.x3d" target="_blank">X3DJSONLD/blend/JoeSkinTexcoordDisplacerKickUpdate3.x3d at master · coderextreme/X3DJSONLD</a>   and maleWaving.x3d imports in half decent shape (applying PREF_FLAT=True for the latter) on Blender import. Jin skin and skeleton load, but there are no skin weights.  Playing a bunch of animations at the same time is not ideal!<div><br></div><div>So I have a few approaches to take:</div><div><br></div><div>1.  Implement HAnimDisplacer in Joe</div><div>2.  Fix ball size in Joe?</div></div></div><div><div><div dir="auto">3.  Fix Gramps animations (perhaps by transforms on interpolators)</div><div dir="auto">4.  Add Segment and Site geometry for Jin (add Boolean flag to avoid adding bones).</div></div></div><div><div><div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><br></div><div>What I don't know quite what to do is figure out which end of the bones I should animate.  Since I switched head and tail centers am I animating the wrong joint?</div><div><br></div><div>I'll send glTF pictures in a bit.</div><div><br></div><div>What really slowed me down was integrating the updates from other people.  Now I know I can do git fetch and git merge after trying get rebase.</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Nov 26, 2024 at 8:13 AM John Carlson <<a href="mailto:yottzumm@gmail.com" target="_blank">yottzumm@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">So my thought to convert orientation interpolators to Blender is to take an axis angle, convert it to a quaternion,  multiply by the transform stack, then pull the rotation out of the animation and put it in the keyframe, then go to the next axis angle, etc.  This sounds like a job for a compute shader (SIMD), but I don’t know how to use them, particularly in Blender.<div dir="auto"><br></div><div dir="auto">Hmm?</div><div dir="auto"><br></div><div dir="auto">John </div>
</blockquote></div>
</blockquote></div></div>
</div>
</div>