[x3d-public] glTF - HAnim conversion

Joseph D Williams joedwil at earthlink.net
Mon Dec 17 09:49:45 PST 2018


Whatever it is named, just try some complex and see what happens when you don’t use center, but instead actually (try to) translate child joints. 
The issue is not what it is called, but what it actually is. Your interpretation seems to be one thing while an hanim application would have to look at it in an entirely different way. Again, just try to build something fun and see where you get led if you use translate. Again, think rootspace which you want to be uniform skeletonspace. 
All is best when all joints are in rootspace and skin is also best when skinspace =skeletonspace. It doesn’t matter where you think the joint is located, just where the joint center is located relative to the root and its parents and children.  Maybe think like all the joints are actually in the same place but the center of rotation is positioned absolutely with respect to the root so we can have a reasonable way to establish positions of things like joints and sites, and yet all dimensions are biven with respect to the same thing – the root. 
Gltf doesn’t have ‘center’? OK, so what? Believe me that is an artifact of the old ways and anyway, the label that is put on it makes no diff at all, it is what you do with it. Just do the right things and see what happens.
Good Work and Good Luck,
Joe 

From: Andreas Plesch
Sent: Friday, December 14, 2018 3:38 PM
To: Joe D Williams
Cc: X3D Graphics public mailing list; Michalis Kamburelis; Humanoid Animation (H-Anim) Working Group
Subject: Re: [x3d-public] glTF - HAnim conversion

Joe, the issue is that for automatic glTF conversion purposes center unfortunately is not available since glTF does not have it.

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.

-Andreas

---on the phone---

On Fri, Dec 14, 2018, 11:57 AM Joseph D Williams <joedwil at earthlink.net wrote:
• I agree that HAnim is easier to mentally model and is better defined.
 
Hi Andreas, 
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. 
Thanks Again, 
Joe. 
 
From: Andreas Plesch
Sent: Thursday, December 13, 2018 4:43 PM
To: Joe D Williams
Cc: X3D Graphics public mailing list; Michalis Kamburelis; Humanoid Animation (H-Anim) Working Group
Subject: Re: [x3d-public] glTF - HAnim conversion
 
On Thu, Dec 13, 2018, 5:48 PM Joseph D Williams <joedwil at earthlink.net wrote:
• … about not accepting that for implementation purposes  Such a choice does not affect authoring meaning
 
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.
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.
 
• I still wish there was a simple two joint with minimal skin HAnim example.
 
Please, go for at least a root and two more, making a total of at least three joints.
Makes sense. Will take a look at a finger.
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.
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.
 
Best, Andreas
 
In that last .x3d example I sent, take apart a hand and work with one finger, maybe. 
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. 
 
All Best, 
Joe
 
 
 
From: Andreas Plesch
Sent: Thursday, December 13, 2018 1:04 PM
To: Joe D Williams
Cc: X3D Graphics public mailing list; Michalis Kamburelis; Humanoid Animation (H-Anim) Working Group
Subject: Re: [x3d-public] glTF - HAnim conversion
 
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.
 
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').
 
I still wish there was a simple two joint with minimal skin HAnim example.
 
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.
 
More if there is some progress, -Andreas
 
 
 
 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20181217/3fb50676/attachment-0001.html>


More information about the x3d-public mailing list