<div dir="ltr">MotionOrientation node would not need the ROUTEs going from OrientationInterpolator.value_changed field to the Joints -- that would be done by name lookup, and allows LOD skeleton+skin changes. The ROUTEs going to the OrientationInterpolators would still be needed / no change.</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Nov 23, 2023 at 6:57 AM John Carlson <<a href="mailto:yottzumm@gmail.com">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"><div dir="auto">The interpolators python program also contains ROUTES.</div><div dir="auto"><br></div><div dir="auto">John</div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Nov 23, 2023 at 7:33 AM GPU Group <<a href="mailto:gpugroup@gmail.com" target="_blank">gpugroup@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"><div dir="ltr">The exporter options panel can / could / should have an option (bullets or pulldown list) to export as a) OrientationInterpolators b) Motions, and perhaps in the future c) MotionOrientation -- a proposed new node type that would have an MFNode field for orientationInterpolators, MFString field for joint names, and be a bridge between the two methods.</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Nov 22, 2023 at 9:27 PM 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"><div dir="ltr">Doug, if you need to re-enable HAnimMotion (motions) in the exporter, go ahead.  I couldn't get it working well, but we could take export_interpolators.py and redo export_bvh.py.<div><br></div><div>John </div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Nov 22, 2023 at 9:36 PM GPU Group <<a href="mailto:gpugroup@gmail.com" target="_blank">gpugroup@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"><div dir="ltr"><div dir="ltr">Looks interesting -- go for it. </div><div dir="ltr">And maybe some of the papers referenced might have some interesting algorithms.<div>Relating to HAnim, could there be a HyperMotion node, and .motions [Motion] would be the 'database of short animations' the article mentions, and with any attributes needed added to the Motion node, for example 'name' for a name lookup / matching of motion, a 'cycle duration' handy, distance per cycle etc.</div><div>HyperMotion might compute or be programmed with a queue of (name, location_target(x,y), duration(time)) tuples, and when it gets to a target, it looks up the next motion 'name' from the .motions list, and does a transition blending for a fraction of a second, between old and new motion. </div><div>But the story-to-motion or whatever else is generating the queue of tuples - that's the part that looks either laborious pre-programmed, or requires AI automation of some sort to generate the queue.</div><div>And what about collision avoidance with other animated characters and static scene elements? What about switching to stair climbing animation when over stairs and other scene-responsiveness?</div><div>Reminds me a bit of the Crowd Particles function map.</div><div><a href="https://freewrl.sourceforge.io/tests/40_Particle_systems/crowd/function_map.png" target="_blank">https://freewrl.sourceforge.io/tests/40_Particle_systems/crowd/function_map.png</a> <br></div><div><a href="https://drive.google.com/file/d/1krC0k2CKZDuOGgzlyaFosrFbjFRO2qzx/view?usp=drive_link" target="_blank">https://drive.google.com/file/d/1krC0k2CKZDuOGgzlyaFosrFbjFRO2qzx/view?usp=drive_link</a> <br></div><div>which could be done other ways such as function bounding boxes / rectangles or as the paper suggested trajectory lines. </div><div>So HyperMotion might have children field with some sort of (zone, function) tuple list it can use to switch between motions along a trajectory.</div><div>-Doug</div><div><br></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Nov 22, 2023 at 7:36 PM 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"><div dir="auto">Hot air:</div><div dir="auto"><br></div><div dir="auto">What may be more interesting to game developers is tracking many, many players in a game, and then producing NPCs based on traces capable of playing like humans.  It’s similar to “predict the next word” for popular AIs.   Then add reinforcement learning to improve successful NPCs.  This is where synthetic motion generation (ala Story-to-Motion) may come in handy instead of relying solely on humans for training data.  The question is, can story-to-motion provide enough creativity?</div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Nov 22, 2023 at 7:57 PM 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"><div dir="auto">Please let us know of supporting authoring systems and players.</div><div dir="auto"><br></div><div dir="auto">From what I can see of the video and paper, the Story-To-Motion is more about position of the humanoid and rotation of joints.  If these are “Group”ed by keyword, and smooth transitions are accomplished by chaining animations, then some degree of automation can result.  If result numbers are available in a potential tool like JAminate,  Blender or a text editor, and accessible to human animators for optimization, all the better!</div><div dir="auto"><br></div><div dir="auto">I’m thinking more and more about parsing interpolators into JAminate, which has been a goal.  Using JAminate or a spreadsheet, one could potentially group key-fractions and keyValues, then output interpolators and routes could be published in addition to chaining of moves with Boolean Sequencers.</div><div dir="auto"><br></div><div dir="auto">John </div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Nov 22, 2023 at 7:18 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:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div style="font-family:arial,sans-serif;font-size:12pt;color:rgb(0,0,0)"><p style="margin:0.1rem 0px;line-height:1;font-family:arial,sans-serif">It might be that the closest x3d going on with this is in web3d x3d HAnim WG facial animation standards-track. The facial mesh of various densities are organized into regions activated in certain sets to perform a certain expression.  So, standard keywords and parameter sets can activate standard related areas of the mesh to allow use of standardized animations as well as serve as a prime basis for the personalization of the Humanoid that you really want to do. This is not a quick and simple effort. It is very interesting, design-friendly, much simplified authoring, and much more standardizable and demonstratable at all levels of expression using the hanim displacer concept. </p></div><div style="font-family:arial,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<p style="margin:0.1rem 0px;line-height:1;font-family:arial,sans-serif"> </p>
<p style="margin:0.1rem 0px;line-height:1;font-family:arial,sans-serif">Joe</p>
<p style="margin:0.1rem 0px;line-height:1;font-family:arial,sans-serif"> </p>
<p style="margin:0.1rem 0px;line-height:1;font-family:arial,sans-serif">  </p>
<p style="margin:0.1rem 0px;line-height:1;font-family:arial,sans-serif"> </p>
</div>
<div style="border-left:1px solid rgb(170,170,170);box-sizing:border-box;padding:10px 0px 10px 15px;margin:0px">
<p>-----Original Message-----<br>From: John Carlson <<a href="mailto:yottzumm@gmail.com" target="_blank">yottzumm@gmail.com</a>><br>Sent: Nov 21, 2023 3:19 PM<br>To: Joe D Williams <<a href="mailto:joedwil@earthlink.net" target="_blank">joedwil@earthlink.net</a>>, X3D Graphics public mailing list <<a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a>><br>Subject: Re: Story-to-Motion</p>
<p style="margin:0.1rem 0px;line-height:1"> </p>
<div dir="auto">Here’s a better link i hope.</div>
<div dir="auto"> </div>
<div dir="auto">
<div><a href="https://arxiv.org/abs/2311.07446#:~:text=A%20new%20and%20challenging%20task,level%20control%20(motion%20semantics)" target="_blank">https://arxiv.org/abs/2311.07446#:~:text=A%20new%20and%20challenging%20task,level%20control%20(motion%20semantics)</a>.</div>
<div dir="auto"> </div>
<div dir="auto">This should be a better link (added f):</div>
<div dir="auto"> </div>
<div dir="auto">
<div><a href="https://arxiv.org/pdf/2311.07446.pdf" target="_blank">https://arxiv.org/pdf/2311.07446.pdf</a></div>
<div dir="auto"> </div>
<div dir="auto">Apologies for multiple posts.</div>
<div dir="auto"> </div>
<div dir="auto">John</div>
</div>
</div>
<div><br>
<div class="gmail_quote">
<div class="gmail_attr" dir="ltr">On Tue, Nov 21, 2023 at 5:08 PM John Carlson <<a href="mailto:yottzumm@gmail.com" target="_blank">yottzumm@gmail.com</a>> wrote:</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div dir="auto"><a href="https://arxiv.org/pdf/2311.07446.pd" rel="noopener" target="_blank">https://arxiv.org/pdf/2311.07446.pd</a></div>
<div dir="auto"> </div>
<div dir="auto">Has this research been peer-reviewed?</div>
<div dir="auto"> </div>
<div dir="auto">It’s hard to read on my cell phone, I may get my computer and attempt to read it.</div>
<div dir="auto"> </div>
<div dir="auto">John </div>
</blockquote>
</div>
</div>
</div>

<p style="margin:0.1rem 0px;line-height:1"> </p></blockquote></div></div>
</blockquote></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>
</blockquote></div>
</blockquote></div>
</blockquote></div></div>
</blockquote></div>