<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:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@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;}
.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;}
/* List Definitions */
@list l0
        {mso-list-id:531577432;
        mso-list-type:hybrid;
        mso-list-template-ids:389703720 -1 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l0:level1
        {mso-level-start-at:0;
        mso-level-number-format:bullet;
        mso-level-text:\F0D8;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;
        mso-fareast-font-family:"Times New Roman";
        mso-bidi-font-family:"Times New Roman";}
@list l0:level2
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l0:level3
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l0:level4
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;}
@list l0:level5
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l0:level6
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l0:level7
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;}
@list l0:level8
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l0:level9
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></style></head><body lang=EN-US link=blue vlink="#954F72"><div class=WordSection1><p class=MsoNormal>Can we assess what is missing in X3DOM for Native HAnim tags?</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><a href="https://github.com/x3dom/x3dom/tree/master/src/nodes/H-Anim">https://github.com/x3dom/x3dom/tree/master/src/nodes/H-Anim</a></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Thanks,</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>John</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</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>Tuesday, May 29, 2018 12:29 AM<br><b>To: </b><a href="mailto:andreasplesch@gmail.com">Andreas Plesch</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.</p></div><p class=MsoNormal><o:p> </o:p></p><ul style='margin-top:0in' type=disc><li class=MsoNormal style='mso-list:l0 level1 lfo1'>Sounds like something you really need a authoring system for.<o:p></o:p></li></ul><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Fortunately, x3d can create a fine authortime and a fine runtime, and even mix the two. <o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Thanks and Best, <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><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 8:20 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>Ok, I will try to take out the scripts and make the example work with<o:p></o:p></p><p class=MsoNormal>x3dom and John's expander, maybe further simplify. The next step would<o:p></o:p></p><p class=MsoNormal>be to take a stab at blindly porting the proto's to x3dom and thereby<o:p></o:p></p><p class=MsoNormal>discover potential problems.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>On Mon, May 28, 2018 at 7:26 PM, Joseph D Williams<o:p></o:p></p><p class=MsoNormal><joedwil@earthlink.net> wrote:<o:p></o:p></p><p class=MsoNormal>> Real fine, Andreas. Nancy is a ‘simple’ humanoid where simple means that<o:p></o:p></p><p class=MsoNormal>> geometry is child of segment which gets driven by joint. When the joint<o:p></o:p></p><p class=MsoNormal>> moves a segment, then the geometry moves as expected. Simple means the basic<o:p></o:p></p><p class=MsoNormal>> hierarchy but no continuous-mesh skin.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Simple or Basic humanoid may be good target target then. Perhaps Basic<o:p></o:p></p><p class=MsoNormal>is in a Profile ? I should look at the new spec.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>> As you can see from the protos, nothing special about x3d is required<o:p></o:p></p><p class=MsoNormal>> because x3d is already so special – that is unless you wanna get some real<o:p></o:p></p><p class=MsoNormal>> skin in the game.<o:p></o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> Yes, there is no script required to do that ‘simple’ character, and the<o:p></o:p></p><p class=MsoNormal>> protos do not require any scripting.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>ok.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>> The Nancy scripts are derived from the protos given in HAnim Part 1 Annex A<o:p></o:p></p><p class=MsoNormal>> examples (VRML at this moment, but easy to figure out). So for a basic<o:p></o:p></p><p class=MsoNormal>> humanoid there is nothing really new except the names of the various<o:p></o:p></p><p class=MsoNormal>> humanoid skeleton and skin objects. Even the animations are completely<o:p></o:p></p><p class=MsoNormal>> standard interpolators. Again, the only tough part is getting the skin to<o:p></o:p></p><p class=MsoNormal>> work.<o:p></o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> Also please notice in the spec where it is possible to create the<o:p></o:p></p><p class=MsoNormal>> continuous-mesh skin from selected vertices of geometry that is part of a<o:p></o:p></p><p class=MsoNormal>> segment. That is a possible way to leverage from geometries of the segments<o:p></o:p></p><p class=MsoNormal>> to a full continuous-mesh surface.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Sounds like something you really need a authoring system for.<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>> A collection is here:<o:p></o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> http://hypermultimedia.com/x3d/hanim/HAnimCollection20130818/0MainStageScene0818.x3dv<o:p></o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> http://hypermultimedia.com/x3d/hanim/HAnimCollection20130818/HAnimCollection20130818.zip<o:p></o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> http://www.hypermultimedia.com/x3d/JoeX3D/JoeX3D.htm<o:p></o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> some other pieces:<o:p></o:p></p><p class=MsoNormal>><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>> Joe<o:p></o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> http://hypermultimedia.com/acontents.htm<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>> Sent: Monday, May 28, 2018 3:28 PM<o:p></o:p></p><p class=MsoNormal>> To: Joseph D Williams<o:p></o:p></p><p class=MsoNormal>> Cc: John Carlson; x3dom mlist; X3D Graphics public mailing list<o:p></o:p></p><p class=MsoNormal>> Subject: Re: both X3DOM and X_ITE.<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>> A quick follow up:<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>> 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>><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>><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>><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>><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>><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>><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><o:p></o:p></p><p class=MsoNormal>> wrote:<o:p></o:p></p><p class=MsoNormal>><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>><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>>>><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>><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>><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>>>><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>><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>>>><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>>>><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>>>><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>>>><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>>>><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>><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>>>>><o:p> </o:p></p><p class=MsoNormal>><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>>>><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,<o:p></o:p></p><p class=MsoNormal>>>> and<o:p></o:p></p><p class=MsoNormal>><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>><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>><o:p> </o:p></p><p class=MsoNormal>>>> stuff with the only problem that gltf uses unit quats instead of<o:p></o:p></p><p class=MsoNormal>>>> axis-angle.<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>>> x3dom uses quats internally anyways, I think rotation field values are<o:p></o:p></p><p class=MsoNormal>><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>>>><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>><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>>>>><o:p> </o:p></p><p class=MsoNormal>><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>>>><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<o:p></o:p></p><p class=MsoNormal>>>> has<o:p></o:p></p><p class=MsoNormal>><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>><o:p> </o:p></p><p class=MsoNormal>>>> application is the same. Now I know there may be some new tech but for<o:p></o:p></p><p class=MsoNormal>>>> the<o:p></o:p></p><p class=MsoNormal>><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>><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>>><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>>><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>><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>>>><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>><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>><o:p> </o:p></p><p class=MsoNormal>>>> structure and same data. I was going to work on the Boxman and the<o:p></o:p></p><p class=MsoNormal>>>> JoeKick<o:p></o:p></p><p class=MsoNormal>><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>>><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<o:p></o:p></p><p class=MsoNormal>>> to be:<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>>> 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>><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>><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>>>><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<o:p></o:p></p><p class=MsoNormal>>>> are<o:p></o:p></p><p class=MsoNormal>><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>><o:p> </o:p></p><p class=MsoNormal>>>> seamless skin animation is Boxman in x3d hanim archives - it needs a<o:p></o:p></p><p class=MsoNormal>>>> fancy<o:p></o:p></p><p class=MsoNormal>><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>><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>>><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>><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/HAnimPrototypesIndex.html<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>>> But I do not see scripts ?<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>>> 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>>><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>><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>><o:p> </o:p></p><p class=MsoNormal>>>>> displacement textures of a CommonSurfaceShader node currently in<o:p></o:p></p><p class=MsoNormal>><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>>><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>><o:p> </o:p></p><p class=MsoNormal>>>> weighting algorithm depending upon rotation of one or more joints. That<o:p></o:p></p><p class=MsoNormal>>>> has<o:p></o:p></p><p class=MsoNormal>><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>><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>>><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>><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>>><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<o:p></o:p></p><p class=MsoNormal>>>> x3d<o:p></o:p></p><p class=MsoNormal>><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>><o:p> </o:p></p><p class=MsoNormal>>>> standard approach where inputs were taken from all major toolmakers<o:p></o:p></p><p class=MsoNormal>>>> because<o:p></o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>>>> strangely, even back in the late 1990’s there was great input from users<o:p></o:p></p><p class=MsoNormal>>>> to<o:p></o:p></p><p class=MsoNormal>><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>><o:p> </o:p></p><p class=MsoNormal>>>> between applications. Only the names were changed to prevent favoritism<o:p></o:p></p><p class=MsoNormal>>>> and<o:p></o:p></p><p class=MsoNormal>><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>><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>>><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>><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>><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>><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>><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>>><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>>><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>><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>>>><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>>>><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>>>><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>><o:p> </o:p></p><p class=MsoNormal>>>>> important feature. Neither of these tools can do HAnim skeleton<o:p></o:p></p><p class=MsoNormal>>>>> controlled<o:p></o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>>>>> deformable skin. This is a very important feature, lending itself to<o:p></o:p></p><p class=MsoNormal>>>>> many<o:p></o:p></p><p class=MsoNormal>><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>><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>><o:p> </o:p></p><p class=MsoNormal>>>>> far<o:p></o:p></p><p class=MsoNormal>><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>><o:p> </o:p></p><p class=MsoNormal>>>>> most<o:p></o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>>>>> simple, and most transportable technique to achieve the result. So, as<o:p></o:p></p><p class=MsoNormal>>>>> the<o:p></o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>>>>> HAnim standard takes the next step, why not move a bit toward<o:p></o:p></p><p class=MsoNormal>>>>> implementing<o:p></o:p></p><p class=MsoNormal>><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>><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>><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>>>>><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>>>><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>>>><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>><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>><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></div></body></html>