[x3d-public] both X3DOM and X_ITE.

John Carlson yottzumm at gmail.com
Tue May 29 03:32:18 PDT 2018


Can we assess what is missing in X3DOM for Native HAnim tags?

https://github.com/x3dom/x3dom/tree/master/src/nodes/H-Anim

Thanks,

John

Sent from Mail for Windows 10

From: Joseph D Williams
Sent: Tuesday, May 29, 2018 12:29 AM
To: Andreas Plesch
Cc: John Carlson; x3dom mlist; X3D Graphics public mailing list
Subject: RE: both X3DOM and X_ITE.

➢ Sounds like something you really need a authoring system for.

Fortunately, x3d can create a fine authortime and a fine runtime, and even mix the two. 

Thanks and Best, 
Joe
 


From: Andreas Plesch
Sent: Monday, May 28, 2018 8:20 PM
To: Joseph D Williams
Cc: John Carlson; x3dom mlist; X3D Graphics public mailing list
Subject: Re: both X3DOM and X_ITE.

Ok, I will try to take out the scripts and make the example work with
x3dom and John's expander, maybe further simplify. The next step would
be to take a stab at blindly porting the proto's to x3dom and thereby
discover potential problems.

On Mon, May 28, 2018 at 7:26 PM, Joseph D Williams
<joedwil at earthlink.net> wrote:
> Real fine, Andreas. Nancy is a ‘simple’ humanoid where simple means that
> geometry is child of segment which gets driven by joint. When the joint
> moves a segment, then the geometry moves as expected. Simple means the basic
> hierarchy but no continuous-mesh skin.

Simple or Basic humanoid may be good target target then. Perhaps Basic
is in a Profile ? I should look at the new spec.

> As you can see from the protos, nothing special about x3d is required
> because x3d is already so special – that is unless you wanna get some real
> skin in the game.
>
> Yes, there is no script required to do that ‘simple’ character, and the
> protos do not require any scripting.

ok.

> The Nancy scripts are derived from the protos given in HAnim Part 1 Annex A
> examples (VRML at this moment, but easy to figure out). So for a basic
> humanoid there is nothing really new except the names of the various
> humanoid skeleton and skin objects. Even the animations are completely
> standard interpolators. Again, the only tough part is getting the skin to
> work.
>
> Also please notice in the spec where it is possible to create the
> continuous-mesh skin from selected vertices of geometry that is part of a
> segment. That is a possible way to leverage from geometries of the segments
> to a full continuous-mesh surface.

Sounds like something you really need a authoring system for.

-Andreas

> A collection is here:
>
> http://hypermultimedia.com/x3d/hanim/HAnimCollection20130818/0MainStageScene0818.x3dv
>
> http://hypermultimedia.com/x3d/hanim/HAnimCollection20130818/HAnimCollection20130818.zip
>
> http://www.hypermultimedia.com/x3d/JoeX3D/JoeX3D.htm
>
> some other pieces:
>
> Thanks and Best,
>
> Joe
>
> http://hypermultimedia.com/acontents.htm
>
> From: Andreas Plesch
> Sent: Monday, May 28, 2018 3:28 PM
> To: Joseph D Williams
> Cc: John Carlson; x3dom mlist; X3D Graphics public mailing list
> Subject: Re: both X3DOM and X_ITE.
>
>
>
> A quick follow up:
>
>
>
> http://www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/NancyDivingProtoInstancesIndex.html
>
>
>
> seems to be a good example for proto-based HAnim.
>
>
>
> It works in x_ite and perhaps is expandable.
>
>
>
> The scripts do not seem to part of the proto's ? If not, perhaps it is
>
> possible to simplify and take those out ?
>
>
>
> -Andreas
>
>
>
> On Mon, May 28, 2018 at 6:09 PM, Andreas Plesch <andreasplesch at gmail.com>
> wrote:
>
>> On Mon, May 28, 2018 at 4:24 PM, Joseph D Williams
>
>> <joedwil at earthlink.net> wrote:
>
>>>
>
>>> From: Andreas Plesch
>
>>>
>
>>>
>
>>>> There just does not seem a lot of demand or requests by users or
>
>>>> customers. Of course, this may be a chicken and egg problem.
>
>>>
>
>>> And, that if you hae soething that works, like contact and instant, maybe
>
>>> you don’t need to complain.
>
>>>
>
>> Or on the web look for other,widely available technologies.
>
>>>
>
>>>> Contributions to x3dom or x_ite are always welcome, in any case.
>
>>>
>
>>> Great a contribution to either is a contribution to X3D.
>
>>>
>
>> Well said.
>
>>>
>
>>>> For x3dom, my interest would be probably the glTF angle. glTF has
>
>>>> character animation. Here is an example:
>
>>>>
>
>>>>
>>>> https://www.donmccurdy.com/2017/11/06/creating-animated-gltf-characters-with-mixamo-and-blender/>
>
>>>
>
>>> Great, I will look. The basic x3d hanim skeleton, bindings, animations,
>>> and
>
>>> geometries can be stored in gltf. I hope I can look back in the hanim
>
>>> archives to see a comparison I did. No doubt gltf can transport the good
>
>>> stuff with the only problem that gltf uses unit quats instead of
>>> axis-angle.
>
>>>
>
>> x3dom uses quats internally anyways, I think rotation field values are
>
>> immediately converted at parsing.
>
>>>
>
>>>> The best explanation, apart from studying glTF loaders, is apparently
>
>>>> in this figure, sorry about that:
>
>>>>
>
>>>>
>>>> https://raw.githubusercontent.com/KhronosGroup/glTF/master/specification/2.0/figures/gltfOverview-2.0.0a.png
>
>>>
>
>>> OK, I will look for more recent info, but I don’t think anything in this
>>> has
>
>>> changed. Structure and data – names may be different but the data and its
>
>>> application is the same. Now I know there may be some new tech but for
>>> the
>
>>> basics stuf, not much has changed in the last 20 years since hanim was
>
>>> specified.
>
>>
>
>> The glTF spec. itself, I think, refers to the figure to explain meaning.
>
>>
>
>>>> translation of a simple glTF character to an HAnim humanoid would be a
>
>>>> good first step.
>
>>>
>
>>> A better first step would be to transcode an HAnim humanoid into gltf and
>
>>> back again. From what I saw it would work. After all, it is all the same
>
>>> structure and same data. I was going to work on the Boxman and the
>>> JoeKick
>
>>> models in the x3d hanim example archives.
>
>>
>
>> Well, these are two steps. The simplest rigged skining glTF example seems
>> to be:
>
>>
>
>>
>> https://github.com/KhronosGroup/glTF-Sample-Models/tree/master/2.0/RiggedSimple
>
>>
>
>>>
>
>>>> A functional, minimal subset of HAnim of nodes and/or a Proto-based
>
>>>> implementation of the nodes would also help implementers.
>
>>>
>
>>> Of course we have the proto-based nodes for HAnim where the geometries
>>> are
>
>>> children of Segments (bones) and we animate the skeleton. A prototype for
>
>>> seamless skin animation is Boxman in x3d hanim archives - it needs a
>>> fancy
>
>>> script to move skin. Since there are no other features of x3d that
>
>>> approximate the way skin is animated, there are no scriptless prototypes.
>
>>
>
>> Ok: Here is the link:
>
>>
>> http://www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/HAnimPrototypesIndex.html
>
>>
>
>> But I do not see scripts ?
>
>>
>
>> Will there be an proto update for the new version of HAnim ?
>
>>
>
>>>> A main challenge will be probably the requirement to have vertex
>
>>>> geometry manipulation in a shader on the GPU. This is done only for
>
>>>> displacement textures of a CommonSurfaceShader node currently in
>
>>>> x3dom.
>
>>
>
>>> Yes, we need to control individual ‘skin’ vertices according to a simple
>
>>> weighting algorithm depending upon rotation of one or more joints. That
>>> has
>
>>> been a problem, yet it is so basic, that and morph shape, that we should
>
>>> have both features outside the Humanoid container.
>
>>
>
>> Yes, morphing seems generally useful. I think glTF may use weighted
>
>> matrices but not sure.
>
>>
>
>>> If anyone wants to learn character animation, anything you learn about
>>> x3d
>
>>> hanim will not be a waste of time. X3d hanim still documents an industry
>
>>> standard approach where inputs were taken from all major toolmakers
>>> because
>
>>> strangely, even back in the late 1990’s there was great input from users
>>> to
>
>>> the biggies that they had to allow data to be exported and transported
>
>>> between applications. Only the names were changed to prevent favoritism
>>> and
>
>>> preserve innocence – ooh, and to bring the secretive data structures and
>
>>> bindings out into the open.
>
>>
>
>> Ok. I will say that the HAnim prototypes which do not need scripts
>
>> should be possible, even straightforward to port to x3dom and probably
>
>> x_ite native nodes. John's protoexpander probably already could deal
>
>> with those. So the main challenge probably really is the GPU based
>
>> vertex displacing.
>
>>
>
>> Is there any use in having the Grouping/Transform type HAnim nodes only ?
>
>>
>
>> Best, -Andreas
>
>>
>
>>>
>
>>> On Mon, May 28, 2018 at 10:42 AM, Joseph D Williams
>
>>>
>
>>> <joedwil at earthlink.net> wrote:
>
>>>
>
>>>>> both X3DOM and X_ITE …
>
>>>
>
>>>> The discussions about both X3DOM and X_ITE are, to me, missing a very
>
>>>> important feature. Neither of these tools can do HAnim skeleton
>>>> controlled
>
>>>> deformable skin. This is a very important feature, lending itself to
>>>> many
>
>>>> important applications in addition to HAnim. There have been several
>
>>>> discussions about the hanim joint(s) to deformable skin bindings and as
>
>>>> far
>
>>>> as I have seen, there is no doubt that the way x3d specifies the basic,
>
>>>> most
>
>>>> simple, and most transportable technique to achieve the result. So, as
>>>> the
>
>>>> HAnim standard takes the next step, why not move a bit toward
>>>> implementing
>
>>>> this important capability in your browsers. BSContact does it, I think
>
>>>> Instant does it mostly but x3dom and x_ite don’t.
>
>>>> Thanks and Best,
>
>>>
>
>>>>
>
>>>
>
>>>> Joe
>
>>>
>
>>>>
>
>>>
>
>>>>
>
>>>
>
>>>>
>
>>>
>
>>>>
>
>>>
>
>>>
>
>>>
>
>>>
>
>>>
>
>>>
>
>>>
>
>>> --
>
>>>
>
>>> Andreas Plesch
>
>>>
>
>>> Waltham, MA 02453
>
>>>
>
>>>
>
>>
>
>>
>
>>
>
>> --
>
>> Andreas Plesch
>
>> Waltham, MA 02453
>
>
>
>
>
>
>
> --
>
> Andreas Plesch
>
> Waltham, MA 02453
>
>



-- 
Andreas Plesch
Waltham, MA 02453


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20180529/6751366c/attachment-0001.html>


More information about the x3d-public mailing list