[x3d-public] [x3dom-users] both X3DOM and X_ITE.

Leonard Daly Leonard.Daly at realism.com
Tue May 29 13:21:10 PDT 2018


Andreas,

I have made the suggestions that X3D V4 include a "skin & bones" 
animation node that is not H-Anim. This would be a basic skin animation 
based on movement of bones, independent of any H-Anim body structure or 
naming conventions. It is needed when animating flexible material such 
as cables, hoses, material, etc. This node could form the basics of 
H-Anim skin animation. I do not have a formal written proposal at this time.

Leonard Daly



> The Nancy prototypes example does not have scripts and was therefore
> easier to adapt. It turns out the included HUD was the only obstacle
> for have it work with x3dom and the protoexpander:
>
> https://x-ite-nancy-protos.glitch.me/index.xhtml
> uses
> https://x-ite-nancy-protos.glitch.me/NancyPrototypesNoHUD.json
>
> The HUD reorientation routing is disabled here but the animation buttons work.
>
> So this should make this example a good target for basic, native hanim.
>
> http://www.web3d.org/documents/specifications/19774-1/V2.0/HAnim/ObjectInterfaces.html
> http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/hanim.html
>
> are the specifications to go by ?
>
> Are Protos in http://www.web3d.org/documents/specifications/19774-1/V2.0/HAnim/BodyDimensionsAndLOAs.html#LOA0ExampleSourceInVRML
>
> the same as  the Nancy protos ?
>
> -Andreas
>
> On Mon, May 28, 2018 at 11:20 PM, Andreas Plesch
> <andreasplesch at gmail.com> wrote:
>> 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
>
>
>

-- 
*Leonard Daly*
3D Systems & Cloud Consultant
LA ACM SIGGRAPH Past Chair
President, Daly Realism - /Creating the Future/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20180529/6c4af46a/attachment-0001.html>


More information about the x3d-public mailing list