[x3d-public] default interpolation keys

Andreas Plesch andreasplesch at gmail.com
Mon Jul 10 16:42:31 PDT 2017


>
> Date: Mon, 10 Jul 2017 08:40:42 -0700
> From: Leonard Daly <Leonard.Daly at realism.com>
> To: x3d-public at web3d.org
> Subject: Re: [x3d-public] default interpolation keys
> Message-ID: <82a1dc2f-4021-2778-8a15-a069666b9a2a at realism.com>
> Content-Type: text/plain; charset="utf-8"; Format="flowed"
>
> Andreas,
>
> This is a very reasonable suggestion. As you point out, there would be
> no way to get an empty key field except when keyValue was also empty.
>

The only situation I can vaguely imagine when empty key and keyValue fields
would be useful is an initial state which does not want to be immediately
changed to a functional, fully populated interpolator. But this would be
likely a misuse since activation like this should be done more explicitly.
Although there is the statement that an empty keyValue field is valid and
leads to returning of the initial value for the field data type. This
indicates that there was some idea of a situation when this behavior would
be expected.
Hm, there seems to be contradiction since an empty keyValue field requires
an empty key field which should lead to no events at all, eg. no returning
of any value ?
Regardless, the empty fields behavior would not change if both fields are
explicitly given as empty. Just the default key field value would change
when no key value is provided.


> I haven't looked, but I suspect A-Frame uses TWEEN to do the
> interpolations. TWEEN automatically provides evenly spaced keys when
> given multiple keyValues. I was planning on working on an upgrade for
> that sometime this fall. Please let me know if you are going to make
> modifications to TWEEN.
>
>
Yes, A-Frame uses TWEEN. The proposed default key value would correspond to
the default TWEEN behavior. I had raised an issue with Tween here to
discuss keyed animation:
https://github.com/tweenjs/tween.js/issues/352

As discussed there it turns out that by using custom (piecewise)
interpolation or custom easing it is already possible to do key frame
animation with Tween. This is what I do for the A-Frame keyframes
component. So I do not think there will be changes to Tween although the
maintainer expressed some interest.

Andreas



> Leonard Daly
>
>
>
> > The default key field value is [ ], empty.
> >
> > http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/
> components/interp.html#X3DInterpolatorNode
> >
> >
> > recognizes the validity of an empty key field, which then means no
> > events are generated and no interpolation happens.
> >
> > Is that behavior useful for any situation ? A serious question,
> > perhaps for prototypes somehow ?
> >
> > I am developing an Aframe equivalent to interpolation nodes
> > (https://github.com/andreasplesch/aframe-keyframes-component) and
> > weigh other default key values.
> >
> > Specifically, I am leaning towards a default which provides constant
> > intervals for keyValues. If there are 5 keyValues, the default keys
> > would be [0,0.25,0,5,0.75,1]. This is what most commonly may be the
> > expected behavior from an interpolator. Given n keyValues, default
> > keys are [0/(n-1), 1/(n-1) .., (n-1)/(n-1)].
> >
> > The benefits of such a default are least surprise, and more concise
> > scenes.
> >
> > The drawback is backwards incompatibility although I have not seen a
> > scene which uses the default key field value.
> >
> > My goal is to raise a better informed specification comment as I feel
> > there may be more to consider.
> >
> > Any comments are very welcome,
> >
> > Andreas
> >
>
> --
> *Leonard Daly*
> 3D Systems & Cloud Consultant
> LA ACM SIGGRAPH Chair
> President, Daly Realism - /Creating the Future/
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20170710/b0d1cbaf/attachment.html>


More information about the x3d-public mailing list