[x3d-public] both X3DOM and X_ITE.

Andreas Plesch andreasplesch at gmail.com
Tue May 29 04:44:52 PDT 2018


There are stubs only, no functionality at this point.-Andreas

On Tue, May 29, 2018 at 6:32 AM, John Carlson <yottzumm at gmail.com> wrote:
> 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
>
>
>
>



-- 
Andreas Plesch
Waltham, MA 02453



More information about the x3d-public mailing list