<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;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:#954F72;
text-decoration:underline;}
span.element
{mso-style-name:element;}
span.attribute
{mso-style-name:attribute;}
.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"><div class=WordSection1><p class=MsoNormal>No, those are just comments trying to promote browser makers to actually implement the new nodes rather than use the protos. A test of a browser is to get rid of the protos and run it. The protos served as a fine development tool and helped the various contributors and toolmakers of the time to agree on details.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>At the time, all did full hanim with no problems. Thus, protos are not deprecated in x3d hanim. The only purpose to the Humanoid container and its contents is to encourage organization and centralization of the documentation, and use some names that are realistic from a technical humanoidal sense, like if your understanding what is really the process is not shielded by the user interface. I mean if you wish to move the arm by bending the elbow do you want to think about orientation of the lower arm bone or simply deal with rotation of the parent joint?</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Any authoring environment without protos and scripts is very bleak.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Really, all hanim is basic, the hierarchy, the associated data structures, the rendering expectations, all of it.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>It just gets harder when we add convenience features like hanim Displacer and hanim joint(s)-skin bindings. </p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Thanks and Best, </p><p class=MsoNormal>Joe</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:yottzumm@gmail.com">John Carlson</a><br><b>Sent: </b>Monday, May 28, 2018 3:55 PM<br><b>To: </b><a href="mailto:andreasplesch@gmail.com">Andreas Plesch</a>; <a href="mailto:joedwil@earthlink.net">Joseph D Williams</a><br><b>Cc: </b><a href="mailto:x3dom-users@lists.sourceforge.net">x3dom mlist</a>; <a href="mailto:x3d-public@web3d.org">X3D Graphics public mailing list</a><br><b>Subject: </b>RE: both X3DOM and X_ITE.</p></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Note this model says:<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><span style='font-size:13.5pt;font-family:"Times New Roman",serif;color:black'><</span><span class=element><span style='font-size:13.5pt;font-family:"Times New Roman",serif;color:navy'>meta</span></span><span style='font-size:13.5pt;font-family:"Times New Roman",serif;color:black'> </span><span class=attribute><span style='font-size:13.5pt;font-family:"Times New Roman",serif;color:green'>name</span></span><span style='font-size:13.5pt;font-family:"Times New Roman",serif;color:black'>='</span><b><span style='font-size:13.5pt;font-family:"Times New Roman",serif;color:#CC5500'> warning </span></b><span style='font-size:13.5pt;font-family:"Times New Roman",serif;color:black'>' </span><span class=attribute><span style='font-size:13.5pt;font-family:"Times New Roman",serif;color:green'>content</span></span><span style='font-size:13.5pt;font-family:"Times New Roman",serif;color:black'>='</span><b><span style='font-size:13.5pt;font-family:"Times New Roman",serif;color:#CC5500'> This is a developmental example, use H-Anim native tags as shown in other examples instead of the prototypes and ProtoInstances shown here. </span></b><span style='font-size:13.5pt;font-family:"Times New Roman",serif;color:black'>'/><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:13.5pt;font-family:"Times New Roman",serif;color:black'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:13.5pt;font-family:"Times New Roman",serif;color:black'>So maybe prototypes are deprecated for HAnim?<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:13.5pt;font-family:"Times New Roman",serif;color:black'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:13.5pt;font-family:"Times New Roman",serif;color:black'>John</span><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 10<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:andreasplesch@gmail.com">Andreas Plesch</a><br><b>Sent: </b>Monday, May 28, 2018 6:28 PM<br><b>To: </b><a href="mailto:joedwil@earthlink.net">Joseph D Williams</a><br><b>Cc: </b><a href="mailto:yottzumm@gmail.com">John Carlson</a>; <a href="mailto:x3dom-users@lists.sourceforge.net">x3dom mlist</a>; <a href="mailto:x3d-public@web3d.org">X3D Graphics public mailing list</a><br><b>Subject: </b>Re: both X3DOM and X_ITE.<o:p></o:p></p></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>A quick follow up:<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>http://www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/NancyDivingProtoInstancesIndex.html<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>seems to be a good example for proto-based HAnim.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>It works in x_ite and perhaps is expandable.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>The scripts do not seem to part of the proto's ? If not, perhaps it is<o:p></o:p></p><p class=MsoNormal>possible to simplify and take those out ?<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>-Andreas<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>On Mon, May 28, 2018 at 6:09 PM, Andreas Plesch <andreasplesch@gmail.com> wrote:<o:p></o:p></p><p class=MsoNormal>> On Mon, May 28, 2018 at 4:24 PM, Joseph D Williams<o:p></o:p></p><p class=MsoNormal>> <joedwil@earthlink.net> wrote:<o:p></o:p></p><p class=MsoNormal>>><o:p> </o:p></p><p class=MsoNormal>>> From: Andreas Plesch<o:p></o:p></p><p class=MsoNormal>>><o:p> </o:p></p><p class=MsoNormal>>><o:p> </o:p></p><p class=MsoNormal>>>> There just does not seem a lot of demand or requests by users or<o:p></o:p></p><p class=MsoNormal>>>> customers. Of course, this may be a chicken and egg problem.<o:p></o:p></p><p class=MsoNormal>>><o:p> </o:p></p><p class=MsoNormal>>> And, that if you hae soething that works, like contact and instant, maybe<o:p></o:p></p><p class=MsoNormal>>> you don’t need to complain.<o:p></o:p></p><p class=MsoNormal>>><o:p> </o:p></p><p class=MsoNormal>> Or on the web look for other,widely available technologies.<o:p></o:p></p><p class=MsoNormal>>><o:p> </o:p></p><p class=MsoNormal>>>> Contributions to x3dom or x_ite are always welcome, in any case.<o:p></o:p></p><p class=MsoNormal>>><o:p> </o:p></p><p class=MsoNormal>>> Great a contribution to either is a contribution to X3D.<o:p></o:p></p><p class=MsoNormal>>><o:p> </o:p></p><p class=MsoNormal>> Well said.<o:p></o:p></p><p class=MsoNormal>>><o:p> </o:p></p><p class=MsoNormal>>>> For x3dom, my interest would be probably the glTF angle. glTF has<o:p></o:p></p><p class=MsoNormal>>>> character animation. Here is an example:<o:p></o:p></p><p class=MsoNormal>>>><o:p> </o:p></p><p class=MsoNormal>>>> https://www.donmccurdy.com/2017/11/06/creating-animated-gltf-characters-with-mixamo-and-blender/><o:p></o:p></p><p class=MsoNormal>>><o:p> </o:p></p><p class=MsoNormal>>> Great, I will look. The basic x3d hanim skeleton, bindings, animations, and<o:p></o:p></p><p class=MsoNormal>>> geometries can be stored in gltf. I hope I can look back in the hanim<o:p></o:p></p><p class=MsoNormal>>> archives to see a comparison I did. No doubt gltf can transport the good<o:p></o:p></p><p class=MsoNormal>>> stuff with the only problem that gltf uses unit quats instead of axis-angle.<o:p></o:p></p><p class=MsoNormal>>><o:p> </o:p></p><p class=MsoNormal>> x3dom uses quats internally anyways, I think rotation field values are<o:p></o:p></p><p class=MsoNormal>> immediately converted at parsing.<o:p></o:p></p><p class=MsoNormal>>><o:p> </o:p></p><p class=MsoNormal>>>> The best explanation, apart from studying glTF loaders, is apparently<o:p></o:p></p><p class=MsoNormal>>>> in this figure, sorry about that:<o:p></o:p></p><p class=MsoNormal>>>><o:p> </o:p></p><p class=MsoNormal>>>> https://raw.githubusercontent.com/KhronosGroup/glTF/master/specification/2.0/figures/gltfOverview-2.0.0a.png<o:p></o:p></p><p class=MsoNormal>>><o:p> </o:p></p><p class=MsoNormal>>> OK, I will look for more recent info, but I don’t think anything in this has<o:p></o:p></p><p class=MsoNormal>>> changed. Structure and data – names may be different but the data and its<o:p></o:p></p><p class=MsoNormal>>> application is the same. Now I know there may be some new tech but for the<o:p></o:p></p><p class=MsoNormal>>> basics stuf, not much has changed in the last 20 years since hanim was<o:p></o:p></p><p class=MsoNormal>>> specified.<o:p></o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> The glTF spec. itself, I think, refers to the figure to explain meaning.<o:p></o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>>>> translation of a simple glTF character to an HAnim humanoid would be a<o:p></o:p></p><p class=MsoNormal>>>> good first step.<o:p></o:p></p><p class=MsoNormal>>><o:p> </o:p></p><p class=MsoNormal>>> A better first step would be to transcode an HAnim humanoid into gltf and<o:p></o:p></p><p class=MsoNormal>>> back again. From what I saw it would work. After all, it is all the same<o:p></o:p></p><p class=MsoNormal>>> structure and same data. I was going to work on the Boxman and the JoeKick<o:p></o:p></p><p class=MsoNormal>>> models in the x3d hanim example archives.<o:p></o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> Well, these are two steps. The simplest rigged skining glTF example seems to be:<o:p></o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> https://github.com/KhronosGroup/glTF-Sample-Models/tree/master/2.0/RiggedSimple<o:p></o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>>><o:p> </o:p></p><p class=MsoNormal>>>> A functional, minimal subset of HAnim of nodes and/or a Proto-based<o:p></o:p></p><p class=MsoNormal>>>> implementation of the nodes would also help implementers.<o:p></o:p></p><p class=MsoNormal>>><o:p> </o:p></p><p class=MsoNormal>>> Of course we have the proto-based nodes for HAnim where the geometries are<o:p></o:p></p><p class=MsoNormal>>> children of Segments (bones) and we animate the skeleton. A prototype for<o:p></o:p></p><p class=MsoNormal>>> seamless skin animation is Boxman in x3d hanim archives - it needs a fancy<o:p></o:p></p><p class=MsoNormal>>> script to move skin. Since there are no other features of x3d that<o:p></o:p></p><p class=MsoNormal>>> approximate the way skin is animated, there are no scriptless prototypes.<o:p></o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> Ok: Here is the link:<o:p></o:p></p><p class=MsoNormal>> http://www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/HAnimPrototypesIndex.html<o:p></o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> But I do not see scripts ?<o:p></o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> Will there be an proto update for the new version of HAnim ?<o:p></o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>>>> A main challenge will be probably the requirement to have vertex<o:p></o:p></p><p class=MsoNormal>>>> geometry manipulation in a shader on the GPU. This is done only for<o:p></o:p></p><p class=MsoNormal>>>> displacement textures of a CommonSurfaceShader node currently in<o:p></o:p></p><p class=MsoNormal>>>> x3dom.<o:p></o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>>> Yes, we need to control individual ‘skin’ vertices according to a simple<o:p></o:p></p><p class=MsoNormal>>> weighting algorithm depending upon rotation of one or more joints. That has<o:p></o:p></p><p class=MsoNormal>>> been a problem, yet it is so basic, that and morph shape, that we should<o:p></o:p></p><p class=MsoNormal>>> have both features outside the Humanoid container.<o:p></o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> Yes, morphing seems generally useful. I think glTF may use weighted<o:p></o:p></p><p class=MsoNormal>> matrices but not sure.<o:p></o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>>> If anyone wants to learn character animation, anything you learn about x3d<o:p></o:p></p><p class=MsoNormal>>> hanim will not be a waste of time. X3d hanim still documents an industry<o:p></o:p></p><p class=MsoNormal>>> standard approach where inputs were taken from all major toolmakers because<o:p></o:p></p><p class=MsoNormal>>> strangely, even back in the late 1990’s there was great input from users to<o:p></o:p></p><p class=MsoNormal>>> the biggies that they had to allow data to be exported and transported<o:p></o:p></p><p class=MsoNormal>>> between applications. Only the names were changed to prevent favoritism and<o:p></o:p></p><p class=MsoNormal>>> preserve innocence – ooh, and to bring the secretive data structures and<o:p></o:p></p><p class=MsoNormal>>> bindings out into the open.<o:p></o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> Ok. I will say that the HAnim prototypes which do not need scripts<o:p></o:p></p><p class=MsoNormal>> should be possible, even straightforward to port to x3dom and probably<o:p></o:p></p><p class=MsoNormal>> x_ite native nodes. John's protoexpander probably already could deal<o:p></o:p></p><p class=MsoNormal>> with those. So the main challenge probably really is the GPU based<o:p></o:p></p><p class=MsoNormal>> vertex displacing.<o:p></o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> Is there any use in having the Grouping/Transform type HAnim nodes only ?<o:p></o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> Best, -Andreas<o:p></o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>>><o:p> </o:p></p><p class=MsoNormal>>> On Mon, May 28, 2018 at 10:42 AM, Joseph D Williams<o:p></o:p></p><p class=MsoNormal>>><o:p> </o:p></p><p class=MsoNormal>>> <joedwil@earthlink.net> wrote:<o:p></o:p></p><p class=MsoNormal>>><o:p> </o:p></p><p class=MsoNormal>>>>> both X3DOM and X_ITE …<o:p></o:p></p><p class=MsoNormal>>><o:p> </o:p></p><p class=MsoNormal>>>> The discussions about both X3DOM and X_ITE are, to me, missing a very<o:p></o:p></p><p class=MsoNormal>>>> important feature. Neither of these tools can do HAnim skeleton controlled<o:p></o:p></p><p class=MsoNormal>>>> deformable skin. This is a very important feature, lending itself to many<o:p></o:p></p><p class=MsoNormal>>>> important applications in addition to HAnim. There have been several<o:p></o:p></p><p class=MsoNormal>>>> discussions about the hanim joint(s) to deformable skin bindings and as<o:p></o:p></p><p class=MsoNormal>>>> far<o:p></o:p></p><p class=MsoNormal>>>> as I have seen, there is no doubt that the way x3d specifies the basic,<o:p></o:p></p><p class=MsoNormal>>>> most<o:p></o:p></p><p class=MsoNormal>>>> simple, and most transportable technique to achieve the result. So, as the<o:p></o:p></p><p class=MsoNormal>>>> HAnim standard takes the next step, why not move a bit toward implementing<o:p></o:p></p><p class=MsoNormal>>>> this important capability in your browsers. BSContact does it, I think<o:p></o:p></p><p class=MsoNormal>>>> Instant does it mostly but x3dom and x_ite don’t.<o:p></o:p></p><p class=MsoNormal>>>> Thanks and Best,<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><p class=MsoNormal>>>> Joe<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><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><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><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><p class=MsoNormal>>> --<o:p></o:p></p><p class=MsoNormal>>><o:p> </o:p></p><p class=MsoNormal>>> Andreas Plesch<o:p></o:p></p><p class=MsoNormal>>><o:p> </o:p></p><p class=MsoNormal>>> Waltham, MA 02453<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><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>> Andreas Plesch<o:p></o:p></p><p class=MsoNormal>> Waltham, MA 02453<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><p class=MsoNormal>-- <o:p></o:p></p><p class=MsoNormal>Andreas Plesch<o:p></o:p></p><p class=MsoNormal>Waltham, MA 02453<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p></div></body></html>