[x3d-public] both X3DOM and X_ITE.

John Carlson yottzumm at gmail.com
Sat Jun 2 19:27:15 PDT 2018


Did my vertex animation shader give you any clue how you might write a skin
deformer?  Essentially, my shader deforms the surface of a sphere.

Are we still doing glTF2?

Thanks!

John

On Tue, May 29, 2018, 11:15 PM John Carlson <yottzumm at gmail.com> wrote:

> All three look like stubs. Segments contain Displacers? At least we have a
> start.
>
>
>
> Speaking of vertex animation.
>
>
>
>
> https://coderextreme.net/X3DJSONLD/src/main/shaders/x3dom_flowers_chromatic.vs
>
>
>
> contains vertex animation in a shader, scripted from the X3D by changing
> parameters (I guess you would change time or an interpolator (displacer?)
> of the skeleton?).  Hmm.  I don’t know how the skeleton affects the entire
> skin.   Would we need a geometry shader? It’s probably best to see how
> Instant or Flux implements it.
>
>
>
> Here’s a fuller example:
>
>
>
> https://coderextreme.net/X3DJSONLD/src/main/html/flowers.xhtml
>
>
>
>
>
> John
>
>
>
> Sent from Mail <https://go.microsoft.com/fwlink/?LinkId=550986> for
> Windows 10
>
>
>
> *From: *Andreas Plesch <andreasplesch at gmail.com>
> *Sent: *Tuesday, May 29, 2018 10:32 PM
> *To: *John Carlson <yottzumm at gmail.com>
> *Cc: *Joe D Williams <joedwil at earthlink.net>; x3dom mlist
> <x3dom-users at lists.sourceforge.net>; X3D Graphics public mailing list
> <x3d-public at web3d.org>
> *Subject: *Re: both X3DOM and X_ITE.
>
>
>
> From what I can tell, the Nancy displacer proto is a stub ?
>
>
>
> On Tue, May 29, 2018, 10:07 PM John Carlson <yottzumm at gmail.com> wrote:
>
> Looks like there’s a Displacer in NancyPrototypes.x3d?
>
>
>
> $ grep  "name=..isplace" *Proto*|grep -v roundtrip|grep ProtoDeclare|awk
> -F: '{    print $1; }'|sort -u
>
>
>
> HAnimPrototypes.x3d
>
> InterchangableActorsViaDynamicRoutingPrototypes.x3d
>
> NancyPrototypes.x3d
>
> ProtoToNativeTag.xsl
>
>
>
> Also note the ProtoToNativeTag.xsl stylesheet.  That could be useful!
>
>
>
> John
>
>
>
> Sent from Mail <https://go.microsoft.com/fwlink/?LinkId=550986> for
> Windows 10
>
>
>
> *From: *Andreas Plesch <andreasplesch at gmail.com>
> *Sent: *Tuesday, May 29, 2018 9:53 PM
> *To: *John Carlson <yottzumm at gmail.com>
> *Cc: *Joe D Williams <joedwil at earthlink.net>; x3dom mlist
> <x3dom-users at lists.sourceforge.net>; X3D Graphics public mailing list
> <x3d-public at web3d.org>
> *Subject: *Re: both X3DOM and X_ITE.
>
>
>
> Well, it looks deformable skin and displacer would need a lot of
> attention, perhaps by first developing a displacer proto ?
>
> Although there may be one already ?
>
>
>
> On Tue, May 29, 2018, 9:19 PM John Carlson <yottzumm at gmail.com> wrote:
>
> Yes, great to see other people using the proto expander!
>
>
>
> I don’t believe it’s native hanim, I believe it’s proto hanim.
>
>
>
> So what’s next?
>
> John
>
>
>
> Sent from Mail <https://go.microsoft.com/fwlink/?LinkId=550986> for
> Windows 10
>
>
>
> *From: *Andreas Plesch <andreasplesch at gmail.com>
> *Sent: *Tuesday, May 29, 2018 2:37 PM
> *To: *Joseph D Williams <joedwil at earthlink.net>
> *Cc: *John Carlson <yottzumm at gmail.com>; x3dom mlist
> <x3dom-users at lists.sourceforge.net>; X3D Graphics public mailing list
> <x3d-public at web3d.org>
> *Subject: *Re: both X3DOM and X_ITE.
>
>
>
> 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
>
>
>
>
>
>
>
>
>
> --
>
> Andreas Plesch
>
> Waltham, MA 02453
>
>
>
>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20180602/8c3ba3e9/attachment-0001.html>


More information about the x3d-public mailing list