<div style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:12pt"><p style="font-family: Arial, Helvetica, sans-serif; margin: 0.1rem 0px; line-height: 1;">Hi Emma and All, <br> <br>Thanks for thoughts on the CAESAR data. I think you see the basic details <br>as well as the folks that did that study and later ones. For the model, <br>it is not a mirror, it is you looking out of the screen at you, interacting <br>with your virtual twin. The surface feature point measurements data in HAnim standard, <br>Part 1, Annex A was derived from CAESAR data circa 1995 - 2000, and used <br>to approximate appropriate Joint center values over that period. </p>
<p style="font-family: Arial, Helvetica, sans-serif; margin: 0.1rem 0px; line-height: 1;"> </p>
<p style="font-family: Arial, Helvetica, sans-serif; margin: 0.1rem 0px; line-height: 1;"><a href="https://www.web3d.org/documents/specifications/19774-1/V2.0/index.html">https://www.web3d.org/documents/specifications/19774-1/V2.0/index.html</a></p>
<p style="font-family: Arial, Helvetica, sans-serif; margin: 0.1rem 0px; line-height: 1;"> <br> <br>With this in mind, as we look at spec for portable avatar, it is <br>important that we apply a model that is capable of realistic interactions, <br>more than just making simple animations and poses. The end aim is a <br>fully interactive anytime anywhere data and transaction store to serve <br>its and your various operations in the metaverse web environment. <br> <br>Everything in x3d hanim is pure x3d. <br>The Joint, Segment and Site nodes are basic transforms <br>nested in a realistic skeleton hierarchy, including a root node. </p>
<p style="font-family: Arial, Helvetica, sans-serif; margin: 0.1rem 0px; line-height: 1;">The Segment can contain anything x3d but is intended for geometry</p>
<p style="font-family: Arial, Helvetica, sans-serif; margin: 0.1rem 0px; line-height: 1;">and the Site can contain anything x3d and is intended for accessories and sensors.</p>
<p style="font-family: Arial, Helvetica, sans-serif; margin: 0.1rem 0px; line-height: 1;"> <br>The root node is how you translate and rotate the entire model, <br>then motions and poses are achieved by applying rotations to <br>various joint nodes of the hierarchy. <br>For example, to move the right arm from default position to <br>pointing ahead toward +z, you would apply negative X-axis rotation to the <br>shoulder joint and the upper, lower, and hand children will move as expected.<br> <br>This study of Jin LOA4 provides a complete V2 LOA4 model <br>developed independently of the Joint center and Site translation measurements <br>used in the tables and user code for HAnim Part 1 Annex A tables. <br>This Jin is aimed at an individual about 1.5 meters tall. <br> <br>This data was only intended to show and proof the Joint, Segment, Site <br>hierarchal structure of the web3d x3d Humanoid Animation model.<br> <br>The main thing I would like to do is to introduce the <br>web3d x3d hanim model to the group looking at spec for a <br>Portable-Avatar-Format. <br>I am attaching a latest example of an example x3d loa4 with only the <br>joint centers and site translations shown, no surface geometry. <br> <br>Important items are: connection of the root to sacro and vl5 which <br>provides detailed control of basic hip and spine animation; and <br>the upper body shoulders connections which, instead of binding the <br>shoulder's motions together at a lower spine vertebrae, provides <br>much more realistic operation of the shoulders and arms. <br> <br>X3d hanim was and is totally focussed on the idea of transportable <br>characters, animations, and interactions for operation in <br>transportable environments. Basically, we want to be able to use <br>animations developed for a similar hierarchy. <br>If the target skeleton is similar hierarchy to the source skeleton, <br>then maybe the animation will only need tuning for differences <br>like ratios of lengths of appendages. <br> <br>We an see that the first step for establishing commonality in animations <br>is agreement of the default pose and default Joint rotations prior to animation. <br> <br>The basic stuff for default pose prior to animation:<br> 0 0 0 at floor between feet, <br> default I pose (relaxed attention) <br> model gaze toward +Z, <br> +X to model left, +Y up, <br> Right-hand rule,<br> All skeleton Joint center and Site location, <br> and skin point measurements relative to 0 0 0, <br> All Joint transforms to 0 0 1 0. <br> <br>In this configuration, if you were sitting on a default transform, <br>you would be facing +Z and rotations of the X-axis would represent <br>pitch motions, Y-axis would be yaw motions, and rotation of Z-axis would be roll. <br> <br>It is important to recognize that the end goal is the comprehensive <br>digital twin where the model also serves as a high resolution responsive <br>data base for daily personal and external functions. <br>Whatever we start with for a most basic Portable Avatar <br>we want to make sure that the user starts with a truly extensible model <br>that the owner can craft using best sustainable metaverse practices for <br>realtime anytime anywhere everywhere personal and automated operations <br>between models over a wide range of interactive possibilities. <br> <br>Looking forward to further discussions and fun in metaverse,<br>Joe<br> <br>If you can't run the example, please tell me or try<br><a href="https://castle-engine.io/castle-model-viewer">https://castle-engine.io/castle-model-viewer</a></p>
<p style="font-family: Arial, Helvetica, sans-serif; margin: 0.1rem 0px; line-height: 1;"> </p>
<p style="font-family: Arial, Helvetica, sans-serif; margin: 0.1rem 0px; line-height: 1;"> </p>
<p style="font-family: Arial, Helvetica, sans-serif; margin: 0.1rem 0px; line-height: 1;"> </p>
<p style="font-family: Arial, Helvetica, sans-serif; margin: 0.1rem 0px; line-height: 1;"> </p>
</div>
<div class="elnk-inline-message-container" style="border-left: 1px solid #aaa; box-sizing: border-box; padding: 10px 0 10px 15px; margin: 0;">
<p>-----Original Message-----<br>From: Emma Scott <connect@fashionshouldempower.com><br>Sent: Apr 24, 2024 12:06 PM<br>To: Joe D Williams <joedwil@earthlink.net><br>Cc: Donald Brutzman <brutzman@nps.edu>, Carol McDonald <cemd2@comcast.net>, Anita Havele <anita.havele@web3d.org>, Doug Sanden <gpugroup@gmail.com>, Holger Seelig <holger.seelig@yahoo.de>, John Carlson <yottzumm@gmail.com>, Humanoid Animation (H-Anim) Working Group <h-anim@web3d.org>, Katy Schildmeyer KS APPAREL DESIGN <katy@ksappareldesign.com>, Myeong Won Lee <myeongwonlee@gmail.com>, Richard F. Puk <puk@igraphics.com>, William Glascoe <eosocxo@comcast.net>, <x3d-public@web3d.org><br>Subject: Re: Technical-Specification-Portable-Avatar-Format-MPAI-PAF-V1</p>
<p style="margin: 0.1rem 0; line-height: 1.0;"> </p>
Hi Joe,
<div> </div>
<div>My group is assessing posture of the original CAESAR data set. Following are a few broad scope findings which may contribute to this discussion:</div>
<div> </div>
<div>Scan pose generally requests aligned heels. While this is not always the case it is a good assumption to start from, and appropriate scanning protocol. A mid-point between the heel landmarks (calcaneus_posterior) could be considered a good floor ground zero.</div>
<div> </div>
<div>The various body regions can be twisted in different directions. Having a set floor point provides an adequate base point of reference for noting such occurrences.</div>
<div> </div>
<div>The hip joint is significant for posture assessment and automated pose detection. Hence, the floor point could be relocated in ‘z’ to be the average of the two hip joints. Averaging is necessary due to the above mentioned possibility of lower torso twist. Eluding to the importance of posture within Hanim would be prudent. This could be a way of laying groundwork for future discussion.</div>
<div><br>
<div>
<div>Best Regards,<br>Emma Scott</div>
<div> </div>
</div>
<div><br>
<blockquote>
<div>On Apr 24, 2024, at 10:45 AM, Joe D Williams <joedwil@earthlink.net> wrote:</div>
<div>
<div style="font-family: arial, sans-serif; font-size: 12pt;">
<div style="margin: 0.1rem 0px; line-height: 1;"><span style="font-family: Aptos, sans-serif; font-size: 16px; white-space: normal; float: none; display: inline;">> I’ve already suggested that “on the floor between the feet” is not precise enough, in my mind, and I suggest the x location on the floor: between ankles, knees, hips, between any left, right pair of foot joints, or at the x location of a backbone joint or the sacroiliac.</span></div>
<p style="margin: 0.1rem 0; line-height: 1.0;"> </p>
<div style="margin: 0.1rem 0px; line-height: 1;">On the floor between the feet is a fairly constant starting point to base all other measurements of the skeleton. </div>
<div style="margin: 0.1rem 0px; line-height: 1;">Any other location is variable, like basing somewhere else, like anywhere else means measurements are relative to some point that will vary lots from skeleton to skeleton. </div>
<div style="margin: 0.1rem 0px; line-height: 1;">Between the feet on the floor is a constant where all features then have a x 0 z (y always positive value. </div>
<div style="margin: 0.1rem 0px; line-height: 1;">Notice the the document now says to reference it somewhere else, like another joint, but that means a variable reference and thus less transport between skeletons. </div>
<div style="margin: 0.1rem 0px; line-height: 1;">0 0 0 should be on the floor and between the feet is as good a location as any and bound to be better relationship between measurements of other skeletons than referencing it to some point that is variable between models. </div>
<div style="margin: 0.1rem 0px; line-height: 1;">If not 0 0 0 then, for instance there will not be an obvious height value, and if not approximately in the center of the model, then animation gets hard fast. Can't really compare skeleton dimensions unless the reference value is at the floor and approximately centered in x y z. Hard to compare skeletons and share animations if measurement reference is at a certain (variable) landmark (like a joint) (This was done when Root was not used and some made 0 0 0 at some joint.) </div>
<p style="margin: 0.1rem 0; line-height: 1.0;"> </p>
<div style="margin: 0.1rem 0px; line-height: 1;">Thanks and Best,</div>
<div style="margin: 0.1rem 0px; line-height: 1;">Joe</div>
<p style="margin: 0.1rem 0; line-height: 1.0;"> </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="margin: 0.1rem 0px; line-height: 1;">Thanks,</div>
<div style="margin: 0.1rem 0px; line-height: 1;">Joe</div>
<p style="margin: 0.1rem 0; line-height: 1.0;"> </p>
<p style="margin: 0.1rem 0; line-height: 1.0;"> </p>
<p style="margin: 0.1rem 0; line-height: 1.0;"> </p>
</div>
<div class="elnk-inline-message-container" style="border-left: 1px solid #aaa; box-sizing: border-box; padding: 10px 0 10px 15px; margin: 0;">
<p>-----Original Message-----<br>From: Brutzman, Donald (Don) (CIV) <brutzman@nps.edu><br>Sent: Apr 24, 2024 8:10 AM<br>To: Carol McDonald <cemd2@comcast.net>, Joe D Williams <joedwil@earthlink.net><br>Cc: Anita Havele <anita.havele@web3d.org>, Doug Sanden <gpugroup@gmail.com>, Emma Scott <connect@fashionshouldempower.com>, Holger Seelig <holger.seelig@yahoo.de>, John Carlson <yottzumm@gmail.com>, Humanoid Animation (H-Anim) Working Group <h-anim@web3d.org>, Katy Schildmeyer <katy@ksappareldesign.com>, Myeong Won Lee <myeongwonlee@gmail.com>, Richard F. Puk <puk@igraphics.com>, William Glascoe <eosocxo@comcast.net>, x3d-public@web3d.org <x3d-public@web3d.org>, Brutzman, Donald (Don) (CIV) <brutzman@nps.edu><br>Subject: RE: Technical-Specification-Portable-Avatar-Format-MPAI-PAF-V1</p>
<p style="margin: 0.1rem 0; line-height: 1.0;"> </p>
<!-- [if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!-- [if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size: 11.0pt;">Thanks for the close look at these capabilities, Joe and Carol. Glad it is worth review for possible benefits.</span></p>
<div><span style="font-size: 11.0pt;"> </span></div>
<p class="MsoNormal"><span style="font-size: 11.0pt;">To your question: it is possible to extend LOA1 and LOA2 within any individual model, simply by adding additional joints/segments feature points, geometry and skin. The only limitation is that behavior animations (interpolators or HAnimMotion nodes) will not be targeting those added nodes. Often such differences are not a problem, since LOA1 and LOA2 joints are carefully chosen to be sufficient for meaningful motion.</span></p>
<div><span style="font-size: 11.0pt;"> </span></div>
<p class="MsoNormal"><span style="font-size: 11.0pt;">If a suitable MPAI example is available, may I suggest close examination and then remodeling using HAnim2/X3D4. That will allow precise comparison and correlation between the representations. It will be interesting to see how much alignment is possible.</span></p>
<div><span style="font-size: 11.0pt;"> </span></div>
<p class="MsoNormal"><span style="font-size: 11.0pt;">Proposing changes is always possible, but given the existing functionality and flexibility of LOA1 and LOA2, the threshold for accepting such changes would be to show (again through examples) that significant benefit would result.</span></p>
<div><span style="font-size: 11.0pt;"> </span></div>
<p class="MsoNormal"><span style="font-size: 11.0pt;">Meanwhile, our current specification-update roadmap:</span></p>
<ul style="margin-top: 0in;" type="disc">
<li class="MsoListParagraph" style="margin-left: 0in; mso-list: l0 level1 lfo1;"><span style="font-size: 11.0pt;">19775-2 SAI 4.0 working draft ready for submission to Web3D/ISO,</span></li>
<li class="MsoListParagraph" style="margin-left: 0in; mso-list: l0 level1 lfo1;"><span style="font-size: 11.0pt;">19776-1 XML 4.0 working draft essentially complete, inviting comments and finishing review of issues,</span></li>
<li class="MsoListParagraph" style="margin-left: 0in; mso-list: l0 level1 lfo1;"><span style="font-size: 11.0pt;">19776-2 ClassicVRML 4.0 working draft update has started,</span></li>
<li class="MsoListParagraph" style="margin-left: 0in; mso-list: l0 level1 lfo1;"><span style="font-size: 11.0pt;">HAnim2/X3D4 possible additions of feature points and errata fixes can be considered,</span></li>
<li class="MsoListParagraph" style="margin-left: 0in; mso-list: l0 level1 lfo1;"><span style="font-size: 11.0pt;">Submitting ISO New Work Item Proposals (NWIPs) for SC24 consideration to occur in June.</span></li>
<li class="MsoListParagraph" style="margin-left: 0in; mso-list: l0 level1 lfo1;"><span style="font-size: 11.0pt;">Am expecting Web3D will have successfully transitioned to an annual specification-update cycle at that point.</span></li>
</ul>
<div><span style="font-size: 11.0pt;"> </span></div>
<p class="MsoNormal"><span style="font-size: 11.0pt;">Looking forward to future steady evolution and progress.</span></p>
<div>
<div><span style="font-size: 9.0pt; font-family: 'Courier New';"> </span></div>
<p class="MsoNormal"><span style="font-size: 9.0pt; font-family: 'Courier New';">all the best, Don</span></p>
<p class="MsoNormal"><span style="font-size: 9.0pt; font-family: 'Courier New';">-- </span></p>
<p class="MsoNormal"><span style="font-size: 9.0pt; font-family: 'Courier New';">Don Brutzman Naval Postgraduate School, Code USW/Br brutzman@nps.edu</span></p>
<p class="MsoNormal"><span style="font-size: 9.0pt; font-family: 'Courier New';">Watkins 270, MOVES Institute, Monterey CA 93943-5000 USA +1.831.656.2149</span></p>
<p class="MsoNormal"><span style="font-size: 9.0pt; font-family: 'Courier New';">X3D graphics, virtual worlds, navy robotics https://faculty.nps.edu/brutzman</span></p>
</div>
<div><span style="font-size: 11.0pt;"> </span></div>
<div>
<div style="border: none; border-top: solid #E1E1E1 1.0pt; padding: 3.0pt 0in 0in 0in;">
<p class="MsoNormal"><strong><span style="font-size: 11.0pt; font-family: 'Calibri',sans-serif;">From:</span></strong><span style="font-size: 11.0pt; font-family: 'Calibri',sans-serif;"> Carol McDonald <cemd2@comcast.net> <br><strong>Sent:</strong> Wednesday, April 24, 2024 6:26 AM<br><strong>To:</strong> John Carlson <yottzumm@gmail.com>; Joe D Williams <joedwil@earthlink.net><br><strong>Cc:</strong> Anita Havele <anita.havele@web3d.org>; Brutzman, Donald (Don) (CIV) <brutzman@nps.edu>; Doug Sanden <gpugroup@gmail.com>; Emma Scott <connect@fashionshouldempower.com>; Holger Seelig <holger.seelig@yahoo.de>; Humanoid Animation (H-Anim) Working Group <h-anim@web3d.org>; Katy Schildmeyer <katy@ksappareldesign.com>; Myeong Won Lee <myeongwonlee@gmail.com>; Richard F. Puk <puk@igraphics.com>; William Glascoe <eosocxo@comcast.net>; x3d-public@web3d.org<br><strong>Subject:</strong> Re: Technical-Specification-Portable-Avatar-Format-MPAI-PAF-V1</span></p>
</div>
</div>
<div> </div>
<div>
<div>
<p class="MsoNormal"><span style="font-family: 'Helvetica',sans-serif; color: #333333;">This is awesome. Let me look at this email and comments, and the linked document and see the adds. I noticed that in the linked document that they reference LOA0 - LOA4. Does this mean that we can or can not propose changes to LOA1 or LOA2? Or that we let this group know of any updates? </span></p>
</div>
<div>
<div><span style="font-family: 'Helvetica',sans-serif; color: #333333;"> </span></div>
</div>
<div>
<p class="MsoNormal"><span style="font-family: 'Helvetica',sans-serif; color: #333333;">Carol </span></p>
</div>
<blockquote style="margin-top: 5.0pt; margin-bottom: 5.0pt;">
<div>
<p class="MsoNormal">On 04/23/2024 9:31 PM PDT John Carlson <<a href="mailto:yottzumm@gmail.com">yottzumm@gmail.com</a>> wrote:</p>
</div>
<div>
<div> </div>
</div>
<div>
<div> </div>
</div>
<div>
<p class="MsoNormal">Hi Joe, this was a bit long for me to get through, but I’ve already suggested that “on the floor between the feet” is not precise enough, in my mind, and I suggest the x location on the floor: between ankles, knees, hips, between any left, right pair of foot joints, or at the x location of a backbone joint or the sacroiliac.</p>
</div>
<div>
<div> </div>
</div>
<div>
<p class="MsoNormal">“Between the feet” offers too far of a range of x locations in my mind, and even z is not well defined in my mind.</p>
</div>
<div>
<div> </div>
<div>
<div>
<p class="MsoNormal">On Tue, Apr 23, 2024 at 10:34<span style="font-family: 'Arial',sans-serif;"> </span>PM Joe D Williams <<a href="mailto:joedwil@earthlink.net">joedwil@earthlink.net</a>> wrote:</p>
</div>
<blockquote style="margin-top: 5.0pt; margin-bottom: 5.0pt;">
<div>
<p style="margin: 0.1rem 0px;"><span style="font-family: Arial, sans-serif;"> </span></p>
<div style="margin: 0.1rem 0px;"><span style="font-family: Arial, sans-serif;"><a href="https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fmpai.community%2Fwp-content%2Fuploads%2F2023%2F10%2FTechnical-Specification-Portable-Avatar-Format-MPAI-PAF-V1.pdf&data=05%7C02%7Cbrutzman%40nps.edu%7Cb6c618bca87241de74ee08dc64622ca1%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C638495623330616001%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=SwKyVlFACHfN7jYlQHuaMlUXY2A4jMy101jjV4Ud0L0%3D&reserved=0" target="_blank" rel="noopener">https://mpai.community/wp-content/uploads/2023/10/Technical-Specification-Portable-Avatar-Format-MPAI-PAF-V1.pdf</a></span></div>
<p style="margin: 0.1rem 0px;"><span style="font-family: Arial, sans-serif;"> </span></p>
<div style="margin: 0.1rem 0px;"><span style="font-family: Arial, sans-serif;">This is important HAnim stuff. <br>Some basic concepts of character structure and animation best practice <br>are being defined for the PAF. </span></div>
<p style="margin: 0.1rem 0px;"><span style="font-family: Arial, sans-serif;"> </span></p>
<div style="margin: 0.1rem 0px;"><span style="font-family: Arial, sans-serif;">So, let's please figure a way to give some HAnim best practice guidance <br>to the group. </span></div>
<p style="margin: 0.1rem 0px;"><span style="font-family: Arial, sans-serif;"> </span></p>
<div style="margin: 0.1rem 0px;"><span style="font-family: Arial, sans-serif;">The HAnim standard was mentioned and followed in several instances but in important ways abandoned. To be commented on below. </span></div>
<p style="margin: 0.1rem 0px;"><span style="font-family: Arial, sans-serif;"> </span></p>
<div style="margin: 0.1rem 0px;"><span style="font-family: Arial, sans-serif;">Please recall that the entire reason for x3d is HAnim Humanoid and its environment and the entire purpose of HAnim is authoring transportable Humanoids using transportable animations and interactions. </span></div>
<div style="margin: 0.1rem 0px;"><span style="font-family: Arial, sans-serif;"> <br>A similar character should be able to fairly easily adapt, or even use directly, animations and interactions that work on a similar model. <br>So, for skeleton-driven animations, this means a standard but customizable skeleton hierarchy and <br>a standard but customizable set of surface feature interaction points. <br>And most importantly, a standardized default pose before animation. <br> <br>First, HAnim proves a realistic skeleton, one that is capable of realistic simulations of realtime stimulus/response interactions with the host environment and other Humanoids. </span></div>
<div style="margin: 0.1rem 0px;"><span style="font-family: Arial, sans-serif;">That is the main idea, so to have this transportable device, called a Body Model here, that can actually represent a You, we must apply some standrds. </span></div>
<div style="margin: 0.1rem 0px;"><span style="font-family: Arial, sans-serif;"><br>"7.3 Body<br>7.3.1 Body Model"</span></div>
<p style="margin: 0.1rem 0px;"><span style="font-family: Arial, sans-serif;"> </span></p>
<div style="margin: 0.1rem 0px;"><span style="font-family: Arial, sans-serif;">Is: <br>"MPAI adopts the Humanoid animation (HAnim) architecture [9] that gives access to the joint and <br>end-effector hierarchy of a human figure. This allows a model-independent animation of a skeleton <br>and related skin vertices associated with joints and geometry/accessories/sensors of individual <br>body segments and sites." </span></div>
<p style="margin: 0.1rem 0px;"><span style="font-family: Arial, sans-serif;"> </span></p>
<div style="margin: 0.1rem 0px;"><span style="font-family: Arial, sans-serif;">Suggestion: <br>Humanoid Animation (HAnim) <br>Great! Abstract, but says a (realistic) hierarchical body composed of Joints for animation, Segments for vizualization geometry, and interaction Sites for sensors or whatever. <br>And maybe a continuous deformable mesh skin. <br> <br>Is:<br>"The actual structure of the HAnim architecture depends on the selected element of the Level Of <br>Articulations (LOA) hierarchy: LOA 1, LOA 2, LOA 3, or LOA 4. All joints of an HAnim figure <br>are represented as a tree hierarchy starting with the humanoid_root joint. For an LOA 1 character, <br>there are 18 joints and 18 segments in the hierarchy."</span></div>
<p style="margin: 0.1rem 0px;"><span style="font-family: Arial, sans-serif;"> </span></p>
<div style="margin: 0.1rem 0px;"><span style="font-family: Arial, sans-serif;">Suggestion: Fantastic! <br><a href="https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/concepts.html#BasicSetJointHierarchy4" target="_blank" rel="noopener">https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/concepts.html#BasicSetJointHierarchy4 </a></span></div>
<p style="margin: 0.1rem 0px;"><span style="font-family: Arial, sans-serif;"> </span></p>
<div style="margin: 0.1rem 0px;"><span style="font-family: Arial, sans-serif;">New Sentence: <br>The HAnim architecture consists of nested transforms called Joint, Segment, and Site. <br>The transform hierarchy is operated by applying rotation to various Joint objects in the hierarchy. <br>The hierarchy is realistic so,for instance, the motion of a shoulder joint will result in the expected motion of the arm and hand child parts. <br>In addition, the character is equipped with a defined set of surface feature <br>landmarks used for viewer, geometry, sensor, and anything x3d. <br>The Site features are certain children of Segment nodes and are animated with the Segment controlled by the parent Joint. </span></div>
<p style="margin: 0.1rem 0px;"><span style="font-family: Arial, sans-serif;"> </span></p>
<div style="margin: 0.1rem 0px;"><span style="font-family: Arial, sans-serif;">Is:<br>"The bones of the body are described starting <br>from position (x0,y0,z0) of the root (neck or <br>pelvis)." </span></div>
<p style="margin: 0.1rem 0px;"><span style="font-family: Arial, sans-serif;"> </span></p>
<div style="margin: 0.1rem 0px;"><span style="font-family: Arial, sans-serif;">Should be:<br>The Joint center values of the skeleton and the interaction landmarks <br>are x y z dimensioned relative to 0 0 0 at the floor between the feet. </span></div>
<div style="margin: 0.1rem 0px;"><span style="font-family: Arial, sans-serif;"> <br>This is measured using the standard default before animation pose. <br>The rotation of all Joint objects in default pose is defined at 0 0 1 0 radians; x=y=z=zero degrees. </span></div>
<p style="margin: 0.1rem 0px;"><span style="font-family: Arial, sans-serif;"> </span></p>
<div style="margin: 0.1rem 0px;"><span style="font-family: Arial, sans-serif;">Is: <br>"The orientation of a bone attached to the root <br>is defined by (α,β,γ) where α is the angle of the <br>bone with the x axis, and so on. The joint of a <br>bone attached to the preceding bone has a <br>position (x1,y1,z1) determined by the angles <br>(α1,β1,γ1) and the length of the bone." </span></div>
<p style="margin: 0.1rem 0px;"><span style="font-family: Arial, sans-serif;"> </span></p>
<div style="margin: 0.1rem 0px;"><span style="font-family: Arial, sans-serif;">Suggetion: </span></div>
<div style="margin: 0.1rem 0px;"><span style="font-family: Arial, sans-serif;">Bones Not important since the basis for the skeleton is Joint centers, not intersections of bones connecting them. The HAnim hierarchy is based on Joint centers and the orientation and length of a bone is not a data point in operation. <br>Animation of the skeleton and body is all about Joint center rotations. <br>Under the covers it is all about Joint centers so the author must be exposed to Joint centers as the base measurement landmarks and animation vehicles of the body. Although lucky that if rigged right, bone orientation and Joint rotation are same. </span></div>
<p style="margin: 0.1rem 0px;"><span style="font-family: Arial, sans-serif;"> </span></p>
<div style="margin: 0.1rem 0px;"><span style="font-family: Arial, sans-serif;">Is: <br>"The Body Model contains:<br>1. Pose composed by: <br>1.1. The position of the root.<br>1.2. The angles of the bones with the <br>(x,y,z) coordinate axes.<br>1.3. The orientation of the body <br>defined by 3 angles."</span></div>
<p style="margin: 0.1rem 0px;"><span style="font-family: Arial, sans-serif;"> </span></p>
<div style="margin: 0.1rem 0px;"><span style="font-family: Arial, sans-serif;">Suggestion: <br>The Humanoid Body Model contains: <br>1. Pose composed of: <br>1.1. The default pose prior to animation. <br>This is relaxed attention, facing +z, +y up, and +x to model left. <br>1.2. The 0 0 0 reference location for the model. <br>At the floor, between the feet since all default pose Joint center and surface landmark dimensions <br>are referenced relative to 0 0 0 for default pose. <br>1.3. In the default pose before animation all Joint center transforms are default 0 0 1 0 x=y=z=zero <br>1.4. The Humanoid has two levels of basic complexity. <br>Level 1 uses Segment geometry. <br>Level 2 continuous mesh skin plus Segment geometry. <br>Level 1 Segment geometry is animated directly by the parent Joint. <br>Level 2 skin is animated using weighted value sum from multiple Joint objects. <br>HAnim Displacer node can additively control geometry vertices. </span></div>
<p style="margin: 0.1rem 0px;"><span style="font-family: Arial, sans-serif;"> </span></p>
<div style="margin: 0.1rem 0px;"><span style="font-family: Arial, sans-serif;">Is: <br>"2. The standard bone lengths. <br>3. Lengths of the bones of the specific <br>model." </span></div>
<p style="margin: 0.1rem 0px;"><span style="font-family: Arial, sans-serif;"> </span></p>
<div style="margin: 0.1rem 0px;"><span style="font-family: Arial, sans-serif;">Suggestion:<br>These are not important in HAnim except figuring Joint center values for default pose. </span></div>
<p style="margin: 0.1rem 0px;"><span style="font-family: Arial, sans-serif;"> </span></p>
<div style="margin: 0.1rem 0px;"><span style="font-family: Arial, sans-serif;">Is: <br>4. Surface-related <br>4.1. Surface <br>4.2. Texture <br>4.3. Material <br>4.4. Cloth (an integral part of the model)" </span></div>
<p style="margin: 0.1rem 0px;"><span style="font-family: Arial, sans-serif;"> </span></p>
<div style="margin: 0.1rem 0px;"><span style="font-family: Arial, sans-serif;">Suggestion: <br>4. Surface features <br>4.1. Surface can be represented by collections of geometry contained by Segment objects. <br>The geometry can be textured and have complex surface features. <br>Site objects can be decorative or functional geometery, sensors, vieweres, etc. <br>4.2. clothing and accessories can be included in skin geometry, or drawn individually and <br>utilized as segment geometry. </span></div>
<p style="margin: 0.1rem 0px;"><span style="font-family: Arial, sans-serif;"> </span></p>
<div style="margin: 0.1rem 0px;"><span style="font-family: Arial, sans-serif;">Artwork: <br>Figure 9. Some Joints of the Body Model. </span></div>
<p style="margin: 0.1rem 0px;"><span style="font-family: Arial, sans-serif;"> </span></p>
<div style="margin: 0.1rem 0px;"><span style="font-family: Arial, sans-serif;">Suggestion: <br>OK except that vl5 should be the base of the spine and a vc7 should be present <br>to parent the skull and shoulders. Having the shoulders parented too low on the <br>spine is a handicap. Please show minimum LOA2 skeleton for this. </span></div>
<p style="margin: 0.1rem 0px;"><span style="font-family: Arial, sans-serif;"> </span></p>
<div style="margin: 0.1rem 0px;"><span style="font-family: Arial, sans-serif;">Is: <br>"The Body Model is represented in the glTF format and transmitted in the initial Portable Avatar at <br>the beginning of the Avatar-Based Videoconference. <br>The Spatial Attitude of a Body is defined with respect to the global coordinate system defined by<br>the Visual Environment." </span></div>
<p style="margin: 0.1rem 0px;"><span style="font-family: Arial, sans-serif;"> </span></p>
<div style="margin: 0.1rem 0px;"><span style="font-family: Arial, sans-serif;">Suggestion: <br>The Body Model skeleton, surface geometry, accessories, and personal animations are <br>represented in various forms including x3d HAnim, various gltf assets, ascii, binary, encripted formats, various image and sound formats contained by the standard Portable Avator package. <br>The Body Model is scaled 1:1 in meters (human scale) aimed at a standard host environment <br>1:1 scale. </span></div>
<p style="margin: 0.1rem 0px;"><span style="font-family: Arial, sans-serif;"> </span></p>
<div style="margin: 0.1rem 0px;"><span style="font-family: Arial, sans-serif;">Is: <br>"7.3.2 Body Descriptors<br>Body Descriptors are included in the data set describing the root and joints as:<br>1 Position and Orientation of the root.<br>2 Rotation angles of the joints.<br>The rotation of the head is treated as any other joint.<br> <br>Suggested: </span></div>
<div style="margin: 0.1rem 0px;"><span style="font-family: Arial, sans-serif;">Body Descriptors are from Default Pose with elements of data set in correct location in the skeleton hierarchy: <br>(1) Joint Center x y z values relative to 0 0 0. <br>(2) Surface Feature Landmarks x y z values relative to 0 0 0. <br>Animation data consisting of Root translation and rotation, Joint rotation, and or special aspects of body pose, geometry motion, sensor interactions may be generated in real time using internal or external (from host) scripts or by internal preprogrammed interpolators. <br> <br>Is: <br>"Figure 10 depicts Roll (rotation around y), Pitch (rotation around y, and Yaw (rotation around z) <br>of a Body" </span></div>
<p style="margin: 0.1rem 0px;"><span style="font-family: Arial, sans-serif;"> </span></p>
<div style="margin: 0.1rem 0px;"><span style="font-family: Arial, sans-serif;">Suggested:<br>Figure 10 depicts <br>Pitch (rotation around x), <br>Yaw (rotation around y), and <br>Roll (rotation around z) of a Body. </span></div>
<p style="margin: 0.1rem 0px;"><span style="font-family: Arial, sans-serif;"> </span></p>
<div style="margin: 0.1rem 0px;"><span style="font-family: Arial, sans-serif;">Figure 10 is not HAnim. <br>Unclear whether right- or left-hand rule.<br> HAnim is right-hand rule. <br>Axes are mixed up from HAnim. <br> The Figure 10 Body is facing -x,<br> +z to body left, <br> +y up. </span></div>
<div style="margin: 0.1rem 0px;"><span style="font-family: Arial, sans-serif;">The HAnim Body Model in default before animation pose is: <br>facing +z, <br>up is +y. and <br>+x to body left. </span></div>
<div style="margin: 0.1rem 0px;"><span style="font-family: Arial, sans-serif;">Please adopt the HAnim std coordinate system, same as default web3d x3d coordinate system. <br> <br>Not so much about x and y, most every system can produce a default skeleton for x and y with +x to viewer's right and Body Model left, and +y up as standard graphing practice. <br>But picking the correct direction for +z, and thus the Body Model default has been a topic for generations. To settle it, just think that relatively, the audience looking at the Body Model is facing -z with minus value increasing with distance and the Body Model is facing +z with plus value increasing with distance. <br>Important that authors honor and even demand this because negative scaling is out for this round <br>and that really didn't fix it anyway. </span></div>
<p style="margin: 0.1rem 0px;"><span style="font-family: Arial, sans-serif;"> </span></p>
<div style="margin: 0.1rem 0px;"><span style="font-family: Arial, sans-serif;">For rotation of axes, right-hand rule.<br>Thumb pointed toward + of axis then curl of fingers = + positive rotation. </span></div>
<div style="margin: 0.1rem 0px;"><span style="font-family: Arial, sans-serif;">When you are facing the body as a viewer, your gaze is toward -z, <br>+x is to your right, and +y is up. <br>The Body gaze is +z, <br>+x is body left, and +y is up. </span></div>
<p style="margin: 0.1rem 0px;"><span style="font-family: Arial, sans-serif;"> </span></p>
<div style="margin: 0.1rem 0px;"><span style="font-family: Arial, sans-serif;">It is not a mirror, it is a Body Model looking at you. </span></div>
<div style="margin: 0.1rem 0px;"><span style="font-family: Arial, sans-serif;">So, Figure 10 needs replacement for consistency. </span></div>
<p style="margin: 0.1rem 0px;"><span style="font-family: Arial, sans-serif;"> </span></p>
<div style="margin: 0.1rem 0px;"><span style="font-family: Arial, sans-serif;">Is: <br>"7.3.3 Head Descriptors <br>The Head Descriptors are the angles of: <br>1. Roll: head has moved toward one of the shoulders.<br>2. Pitch: head has moved up and down.<br>3. Yaw: head has rotated left to right (around the vertical axis of the head).<br>These are useful in case when a body-less head is animated." </span></div>
<p style="margin: 0.1rem 0px;"><span style="font-family: Arial, sans-serif;"> </span></p>
<div style="margin: 0.1rem 0px;"><span style="font-family: Arial, sans-serif;">Fine, this is like HAnim but not like Figure 10. </span></div>
<p style="margin: 0.1rem 0px;"><span style="font-family: Arial, sans-serif;"> </span></p>
<div style="margin: 0.1rem 0px;"><span style="font-family: Arial, sans-serif;">Is: <br>"7.4 Face <br>7.4.1 Face Model" </span></div>
<p style="margin: 0.1rem 0px;"><span style="font-family: Arial, sans-serif;"> </span></p>
<div style="margin: 0.1rem 0px;"><span style="font-family: Arial, sans-serif;">Just hoping HAnim facial animation evolving <br>is pretty much the same or slightly advanced. <br> <br>Attached is latest JinScaledL1LOA4 with Sites. <br>To me,this would be the best current example of an HAnim <br>character with Segment Geometry and showing V2 surface <br>feature landmarks. <br>The user code is fairly easy to read in Notepad. <br>Maybe skip the front interface stuff down to HAnimHumanoid <br>to read the loa4 skeleton, then have a look at the complete set of interpolators, routes timers to interpolators, routes interpolators to skeleton joints. In fact, multiple copies, one for each of the animations. <br> <br>View with any x3d tool or even use the X_ite Playground.<br>Just go to </span></div>
<div style="margin: 0.1rem 0px;"><span style="font-family: Arial, sans-serif;"> <br><a href="https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fcreate3000.github.io%2Fx_ite%2Fplayground%2F%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2FKhronosGroup%2FglTF-Sample-Models%2Fmaster%2F2.0%2FSimpleInstancing%2FglTF%2FSimpleInstancing.gltf&data=05%7C02%7Cbrutzman%40nps.edu%7Cb6c618bca87241de74ee08dc64622ca1%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C638495623330628463%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=sLnru8dmmX04wgvlUO3ybd7UorhKWEexYFz0FMdpSis%3D&reserved=0" target="_blank" rel="noopener">https://create3000.github.io/x_ite/playground/?url=https://raw.githubusercontent.com/KhronosGroup/glTF-Sample-Models/master/2.0/SimpleInstancing/glTF/SimpleInstancing.gltf </a></span></div>
<div style="margin: 0.1rem 0px;"><span style="font-family: Arial, sans-serif;"> <br>then paste this .x3d file in the text area replacing what is there. <br>Future versions of this will have the old, much more pleasing motions as pitch2, yaw2, roll2 animations. </span></div>
<div style="margin: 0.1rem 0px;"><span style="font-family: Arial, sans-serif;"> <br>Thanks and Best,<br>Joe</span></div>
<p style="margin: 0.1rem 0px;"><span style="font-family: Arial, sans-serif;"> </span></p>
</div>
</blockquote>
</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>