<div dir="auto"><div><div dir="auto">Joe, the issue is that for automatic glTF conversion purposes center unfortunately is not available since glTF does not have it.</div><div dir="auto"><br></div><div dir="auto">It will be interesting to see how center would need to be treated for a conversion from HAnim to glTF. It will likely need embedded transforms/joints.</div><div dir="auto"><br></div><div dir="auto">-Andreas</div><div dir="auto"><br><div data-smartmail="gmail_signature" dir="auto">---on the phone---</div></div><br><br><div class="gmail_quote"><div dir="ltr">On Fri, Dec 14, 2018, 11:57 AM Joseph D Williams <<a href="mailto:joedwil@earthlink.net" target="_blank" rel="noreferrer">joedwil@earthlink.net</a> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div lang="EN-US" link="blue" vlink="#954F72"><div class="m_-2983527224661074602m_-8958789190955110277WordSection1"><ul style="margin-top:0in" type="disc"><li class="m_-2983527224661074602m_-8958789190955110277MsoListParagraph" style="margin-left:0in">I agree that HAnim is easier to mentally model and is better defined.</li></ul><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">Hi Andreas, </p><p class="MsoNormal">Fine work. When you get the translation vs center thing, you will be even more impressed. Think that you really want to stay in the same space as root, for all joints. Look at what happens to the simple rig when you use center rather than translate and how that would evolve when you have more than a couple of joints in a row that have to be positioned exactly. </p><p class="MsoNormal">Thanks Again, </p><p class="MsoNormal">Joe. </p><p class="MsoNormal"><u></u> <u></u></p><div style="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:andreasplesch@gmail.com" rel="noreferrer noreferrer" target="_blank">Andreas Plesch</a><br><b>Sent: </b>Thursday, December 13, 2018 4:43 PM<br><b>To: </b><a href="mailto:joedwil@earthlink.net" rel="noreferrer noreferrer" target="_blank">Joe D Williams</a><br><b>Cc: </b><a href="mailto:x3d-public@web3d.org" rel="noreferrer noreferrer" target="_blank">X3D Graphics public mailing list</a>; <a href="mailto:michalis.kambi@gmail.com" rel="noreferrer noreferrer" target="_blank">Michalis Kamburelis</a>; <a href="mailto:h-anim@web3d.org" rel="noreferrer noreferrer" target="_blank">Humanoid Animation (H-Anim) Working Group</a><br><b>Subject: </b>Re: [x3d-public] glTF - HAnim conversion</p></div><p class="MsoNormal"><u></u> <u></u></p><div><div><div><p class="MsoNormal">On Thu, Dec 13, 2018, 5:48 PM Joseph D Williams <<a href="mailto:joedwil@earthlink.net" rel="noreferrer noreferrer" target="_blank">joedwil@earthlink.net</a> wrote:</p></div><div><blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in"><div><div><ul type="disc"><li class="m_-2983527224661074602m_-8958789190955110277m-8320956075756076490msolistparagraph">… about not accepting that for implementation purposes  Such a choice does not affect authoring meaning</li></ul><p class="MsoNormal"> </p><p class="MsoNormal">OK, my overreaction just as you said, x3d implement must live with the syntax or structure of the ‘standard’ model presented by the x3d hanim standard (or else start a big project. Anything can be done under your covers and lots has changed under the covers over the last years but so far the overall best practice way of constructing and verifying the user code, using skin and/or segment geometry, and animating the thing for realtime interactivity has not changed. I think you are going through basics and learning well. What if there was no gltf or collada? That was true not so long ago.</p></div></div></blockquote></div></div><div><p class="MsoNormal">Since I looked at HAnim first in order to give it a try with x3dom, I may be biased but after trying to then figure out glTF skins, I agree that HAnim is easier to mentally model and is better defined.</p></div><div><div><blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in"><div><div><p class="MsoNormal"> </p><ul type="disc"><li class="m_-2983527224661074602m_-8958789190955110277m-8320956075756076490msolistparagraph">I still wish there was a simple two joint with minimal skin HAnim example.</li></ul><p class="MsoNormal"> </p><p class="MsoNormal">Please, go for at least a root and two more, making a total of at least three joints.</p></div></div></blockquote></div></div><div><p class="MsoNormal">Makes sense. Will take a look at a finger.</p></div><div><div><blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in"><div><div><p class="MsoNormal">I’m lazy now and must say that if you take the path of coding in gltf, then deriving the x3d, then maybe the web3D x3d use case is really that you make your model in x3d, which to me is much easier, then export to one or more gltf files. That could also lead to a friendlier set of gltf interfaces to x3d/vrm, making it even easier to transport setups and animations between similar humanoids.</p></div></div></blockquote></div></div><div><p class="MsoNormal">The angle was how to integrate glTF in general, as Inline content. It is unclear if animation and skinning in the glTF should be supported and how they would be controlled by the X3D runtime. HAnim support in a player could be leveraged to also do glTF skinning. But what you are suggestion is also valid. If there is no HAnim support, a glTF playing module could then be leveraged to add such support if it is possible to convert HAnim to glTF.</p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">Best, Andreas</p></div><div><div><blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in"><div><div><p class="MsoNormal"> </p><p class="MsoNormal">In that last .x3d example I sent, take apart a hand and work with one finger, maybe. </p><p class="MsoNormal">Just attach the root to the first finger joint of your choice. The joints and vertices are clearly marked in the user code, and I think there is a viewpoint in there aimed at the right hand. </p><p class="MsoNormal"> </p><p class="MsoNormal">All Best, </p><p class="MsoNormal">Joe</p><p class="MsoNormal"> </p><p class="MsoNormal"> </p><p class="MsoNormal"> </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" rel="noreferrer noreferrer" target="_blank">Andreas Plesch</a><br><b>Sent: </b>Thursday, December 13, 2018 1:04 PM<br><b>To: </b><a href="mailto:joedwil@earthlink.net" rel="noreferrer noreferrer" target="_blank">Joe D Williams</a><br><b>Cc: </b><a href="mailto:x3d-public@web3d.org" rel="noreferrer noreferrer" target="_blank">X3D Graphics public mailing list</a>; <a href="mailto:michalis.kambi@gmail.com" rel="noreferrer noreferrer" target="_blank">Michalis Kamburelis</a>; <a href="mailto:h-anim@web3d.org" rel="noreferrer noreferrer" target="_blank">Humanoid Animation (H-Anim) Working Group</a><br><b>Subject: </b>Re: [x3d-public] glTF - HAnim conversion</p></div><p class="MsoNormal"> </p><div><p class="MsoNormal">Thanks. Well, I do believe in baby steps and so I want to get a very simple example right and fully understand it before moving to more fully developed examples.</p><div><p class="MsoNormal"> </p></div><div><p class="MsoNormal">Let me also try to be very specific since a few of the responses below are based on my descriptions being too concise ('rotated vertices' vs 'vertex locations being translated according to a rotation about a center').</p></div><div><p class="MsoNormal"> </p></div><div><p class="MsoNormal">I still wish there was a simple two joint with minimal skin HAnim example.</p></div><div><p class="MsoNormal"> </p></div><div><p class="MsoNormal">I did not understand your response about not accepting that for implementation purposes it may be convenient to have a weighted joint per vertex rather than vertex per weighted joint data structure. Such a choice does not affect authoring meaning I am not suggesting changes to HAnim.</p></div><div><p class="MsoNormal"> </p></div><div><p class="MsoNormal">More if there is some progress, -Andreas</p></div><div><p class="MsoNormal"> </p></div><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><p class="MsoNormal"> </p></div></div></blockquote></div></div></div></div></blockquote></div></div></div><p class="MsoNormal" style="margin-left:4.8pt"> </p><p class="MsoNormal"><u></u> <u></u></p></div></div></blockquote></div></div></div>