<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style></head><body lang=EN-US link=blue vlink="#954F72" style='word-wrap:break-word'><div class=WordSection1><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>So, we want to import bvh-style mocap to video forms to x3d typical realtime encodings. The big benefit could be literally lots of example mocap out there to add to the mostly ‘standard’ default, stand, walk, run, jump, etc, motions in the x3d HAnim archives. The  hard part(s) is that the typical bvh-style skeleton is different than any of our loa0-4 x3d HAnim skeletons. The major differences are  in the skeleton hierarchy and the default initial pose before animation. The typical bvh skeleton encountered so far is simplified  skeleton, with hips and shoulders connected more for ease of capture than realistic hip and shoulder motions and with default skeleton posed as T for draping instead of I for relaxed attention; maybe basic default joint orientations and other details. </p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>See, the data you see in bvh is probably sets of capture skeleton bone orientations which luckily can be used as playback skeleton joint rotation – that is if you apply the correct bone orientation to the appropriate joint rotation. After that, the data may be in xyz euler angles at fixed frame rate  instead of (realtime) timer-interpolator axis-angle or unit quaternion style. While the typical bvh skeleton is ok for capture and transport of basic animations, it fails for realistic shoulder and hip and hand and feet animations. </p><p class=MsoNormal>Also, if the capture data rate is not appropriate for the motion, then the xyz data lacks precision of axis-angle. Anyway, the promise is that we will find some special animation stuff that would be a basis for transport to ‘Standard’ skeleton. This hope is brightened when we see that we may be able to capture some important basic motions of the Pirouette as performed by a talented dancer. I am sure that if this animation can be developed using the HAnim loa3 or 4 ‘standard’ skeleton the end result will be much more satisfying and great certainty of reuse with other x3d ‘standard’ skeletons.  </p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>There are some basic things we need in order to make this a systematic process. </p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>1. Joint/Segment/Site</p><p class=MsoNormal>Feature Reference Table (three cols, three parts)</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>  Joint Schema | v1 Joint name | v2 Joint name</p><p class=MsoNormal>   Ref Number  |                          |</p><p class=MsoNormal>...</p><p class=MsoNormal>  Segment Schema | v1 Segment name | v2 Segment name</p><p class=MsoNormal>   Ref Number         |                                  |</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>... </p><p class=MsoNormal>  Site Schema | v1 Site name | v2 Site name</p><p class=MsoNormal>   Ref Number |                        |</p><p class=MsoNormal>... </p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>2. Update archived walk, run, etc animations.</p><p class=MsoNormal>  a. recode using v2 Joint/Segment/Site ref names </p><p class=MsoNormal>  b. recode using v2 Joint/Segment/Site ref numbers  </p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>This makes our archived ‘standard’ animations that run on ‘standard’ HAnim skeleton easier to reuse on v2 skeletons.. </p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>3. Update joeKick skeleton and skin</p><p class=MsoNormal>  a. recast joekick loa3 v1 names to v2 names to make v2 loa3 </p><p class=MsoNormal>  b. recast joekick v2 loa3 with Joint/Segment/Site ref numbers</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>4. Improve either korean loa4 model skeleton </p><p class=MsoNormal>or loa4 in spec annex A skeleton </p><p class=MsoNormal>  a. recast loa4 skeleton in humanoid scale </p><p class=MsoNormal>   maybe not necessary, but could provide closer to spec example  </p><p class=MsoNormal>  b. recast korean loa4 with Joint/Segment/Site ref numbers </p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>This provides two reference skeletons, loa3 and loa4, to test bvh-derived animations.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>5. Apply archived run, walk, etc, animations to typical bvh skeleton </p><p class=MsoNormal>to find systematic conversion from typical bvh skeleton to HAnim. </p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>6. Recast bvh animations to hanim models </p><p class=MsoNormal>  a. get piro animation working on 'std' hanim loa3 or 4 skeleton.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>More later, </p><p class=MsoNormal>Joe</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><div style='mso-element:para-border-div;border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal style='border:none;padding:0in'><b>From: </b><a href="mailto:joedwil@earthlink.net">Joseph D Williams</a><br><b>Sent: </b>Monday, November 14, 2022 3:55 PM<br><b>To: </b><a href="mailto:dragonmagi@gmail.com">Chris Thorne</a><br><b>Cc: </b><a href="mailto:x3d-public@web3d.org">X3D Graphics public mailing list</a><br><b>Subject: </b>RE: [x3d-public] Pirouette.x3d</p></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Bhanks, just having some fun. What the heck is wrong with root rotation? <o:p></o:p></p><p class=MsoNormal>Bunches of redundant data in this. Will be able to make it work lots better using real Hanim skeleton.<o:p></o:p></p><p class=MsoNormal>Joe<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Sent from <a href="https://go.microsoft.com/fwlink/?LinkId=550986">Mail</a> for Windows<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><div style='border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal><b>From: </b><a href="mailto:dragonmagi@gmail.com">Chris Thorne</a><br><b>Sent: </b>Monday, November 14, 2022 3:45 PM<br><b>To: </b><a href="mailto:joedwil@earthlink.net">Joseph D Williams</a><br><b>Cc: </b><a href="mailto:x3d-public@web3d.org">X3D Graphics public mailing list</a><br><b>Subject: </b>Re: [x3d-public] Pirouette.x3d<o:p></o:p></p></div><p class=MsoNormal><o:p> </o:p></p><div><p class=MsoNormal>bice work. <o:p></o:p></p><div><p class=MsoNormal><br clear=all><o:p></o:p></p><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><p class=MsoNormal><span style='font-size:11.5pt;font-family:"Arial",sans-serif;color:black;background:white'>Social: <a href="https://www.facebook.com/DrChrisThorne" target="_blank">https://www.facebook.com/DrChrisThorne</a></span><o:p></o:p></p></div><div><p class=MsoNormal>Only unreal told the truth. They did not call their object shifting method "floating origin".<o:p></o:p></p></div><div><p class=MsoNormal><b><i><span style='font-size:13.5pt'>Making games that scale and not fail</span></i></b><o:p></o:p></p></div><div><p class=MsoNormal><a href="http://www.floatingorigin.com/" target="_blank"><span style='font-size:10.0pt;font-family:"Arial",sans-serif;color:#0000E9'>http://www.floatingorigin.com</span></a><o:p></o:p></p></div></div><div><div><div><div><p style='margin-bottom:0in'><span style='font-size:10.0pt;font-family:"Arial",sans-serif;color:#1A1A1A'>Research profile: </span><span style='font-family:"Arial",sans-serif'><a href="https://www.researchgate.net/profile/Chris_Thorne3" target="_blank"><span style='font-size:10.0pt;color:#0000E9'>https://www.researchgate.net/profile/Chris_Thorne3</span></a></span></p><p style='margin-bottom:0in'><o:p> </o:p></p></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div><p class=MsoNormal><o:p> </o:p></p></div></div><p class=MsoNormal><o:p> </o:p></p><div><div><p class=MsoNormal>On Tue, 15 Nov 2022 at 07:10, Joseph D Williams <<a href="mailto:joedwil@earthlink.net">joedwil@earthlink.net</a>> wrote:<o:p></o:p></p></div><blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0in;margin-bottom:5.0pt'><div><div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:4.8pt'>Video of  Pirouette.x3d.<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:4.8pt'> <o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:4.8pt'><a href="https://www.youtube.com/watch?v=2ognun8PEpg" target="_blank">https://www.youtube.com/watch?v=2ognun8PEpg</a><o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:4.8pt'> <o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:4.8pt'>Some work on conversion of bvh file to Pirouette.x3d. mainly to find the animations that work and the one that doesn’t. <o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:4.8pt'> <o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:4.8pt'>First, looking at the Pirouette.x3d with x_ite from the archives, then with viewx3dscene tool, using editor to find timesensor to stop animations and find the reference pose at the first frame, then isolate the animation causing the problem, which is the root rotation being improperly applied. <o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:4.8pt'> <o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:4.8pt'>Thanks, <o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:4.8pt'>Joe<o:p></o:p></p></div></div></div></blockquote></div><p class=MsoNormal style='margin-left:4.8pt'>_______________________________________________<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" target="_blank">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a><o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p></div></body></html>