<div dir="ltr"><div>too cool, better and better - go Aaron go!</div><div><br></div><div>i sympathize with GUI work, am still banging on proper X3D-Edit handling of a big values table...</div><div><br></div><div>i agree with ongoing consideration of good practices for collecting animation nodes together with a humanoid. In addition to the cases you describe, certainly the HAnimMotion node (and someday HAnimPose node) can work as embedded animations. </div><div><ul><li>Something to check in implementations: can HAnimMotion appear first as DEF, and then be a USE node within the HAnimHumanoid. I see nothing preventing that in specifications.</li><li>Something important to remember as part of animation node subgraph patterns: X3D allows an author plenty of flexibility. The most useful patterns allow reuse of parts... if you just want the Humanoid (or vice versa, the Motion node), it is good to be able to extract just that.</li><li>Synchronizing TimeSensor/MovieTexture/AudioClip with interpolators and motions (and poses) should be no problem, we have a consistent event-graph animation-chain model for all of the nodes - just add ROUTE connections and triggers</li></ul></div><div>looking ahead, as we continue HAnim motion animation work and become more interoperable/robust, I can think of a few more interesting tasks to pursue:</div><div><br></div><div>a. when preparing to map joint names between HAnim joints and other forms (BVH etc.), produce a parsable set of data mappings</div><div>b. this approach could be basis for an importer/converter configurations between formats</div><div>c. also work on HAnimMotion conversion back to BVH so we can do round-trip testing and refinements, that is always an excellent test.</div><div>d. building libraries of cool BVH conversions into HAnimMotion nodes, possibly as ExternProtoDeclare examples but more likely directly retrievable by EXPORT from original file, IMPORT/AS and USE in target model.</div><div><br></div><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div style="color:rgb(34,34,34)"><span style="font-family:monospace">all the best, Don</span></div><div style="color:rgb(34,34,34)"><font face="monospace">-- </font></div><div style="color:rgb(34,34,34)"><font face="monospace">X3D Graphics, Maritime Robotics, Distributed Simulation</font></div><div style="color:rgb(34,34,34)"><font face="monospace">Relative Motion Consulting <a href="https://RelativeMotion.info" target="_blank">https://RelativeMotion.info</a></font></div></div></div></div><br></div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Sun, Oct 26, 2025 at 3:35 PM Bergstrom, Aaron 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:1px solid rgb(204,204,204);padding-left:1ex">
<div lang="EN-US" style="overflow-wrap: break-word;">
<div>
<p class="MsoNormal">All,<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">I had over estimated how difficult it would be to account for joint rotation order. I was already using the Maya matrix “asAxisAngle” function to get SFRotation values, which already takes into account the current Rotation Order before
it spits out the Axis Angle value.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">It also turns out that the way I had previously implemented collection of Interpolator data was done in a manner that easily allows for the Interpolator data to be exported in the Scenegraph next to the item being animated, or at the end
of the file.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">So most of the work yesterday and today was just me hacking away at the GUI.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">So now, all the following are possible, and will be available with the next release:<u></u><u></u></p>
<ul style="margin-top:0in" type="disc">
<li style="margin-left:0in">HAnimMotion export with whatever rotation order you like as long as the author uses the RawKee GUI to setup a compliant HAnim skeleton (either from scratch or as a companion export
skeleton to an existing Maya skeleton).<u></u><u></u></li><li style="margin-left:0in">HAnimMotion support for “translation and rotation” animation data for all (or selected) joint nodes.<u></u><u></u></li><li style="margin-left:0in">TimeSensor/MovieTexture/AudioClip driven Interpolator animations for HAnim characters…<u></u><u></u></li><ul style="margin-top:0in" type="circle">
<li style="margin-left:0in">…under that humanoid’s “skin” field in a Group node that contains that animation’s timing nodes, Interpolators, and Routes. Not that anyone likes this option other than me. :D<u></u><u></u></li><li style="margin-left:0in">…or at the end of the exported scenegraph in a Group that contains all of the same timing, interpolator, and route information.<u></u><u></u></li></ul>
</ul>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Aaron<u></u><u></u></p>
</div>
</div>
_______________________________________________<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>