[x3d-public] Turning on and off simultaneous animations individually

John Carlson yottzumm at gmail.com
Fri Dec 13 04:41:10 PST 2024


Another challenge is to have multiple animations on the same geometry
(possible with HAnimDisplacer).  This works fairly well with Sunrize
(X_ITE?) but not so well with FreeWRL.

I'm going to keep my scripts around for a while longer, but I think it's
possible to reset the Proto's TimeSensor with startTime, according to Joe.

If CGE gets HAnimDisplacer working, I will attempt to port the script or
implement no script.

I've noticed Octaga 5.0.8 and BS Contact having issues with my files.  If
someone wants to change my scripts to make those X3D browsers work, that
would be great.

Does Instant work on Windows 11?

John



On Wed, Dec 11, 2024 at 3:08 PM Andreas Plesch <andreasplesch at gmail.com>
wrote:

> Hi John, group,
>
> Exploring how far one could get without X3D scripts and only using
> event utilities, let me share an example of a panel of individually
> controlled toggle buttons which then drive a simple assemblage of
> individually animated spheres:
>
>
> https://andreasplesch.github.io/Library/Viewer/index.html?url=https://gist.githubusercontent.com/andreasplesch/6fd2fd0b0f745b3549b74150b7752d89/raw/37f94755f763ecc9a0439a0dab2f32441e8b12aa/toggleButtonExample.x3d
>
> https://gist.github.com/andreasplesch/6fd2fd0b0f745b3549b74150b7752d89
>
> There are two sections, one for the control panel and one for the
> controlled assemblage. Each section has a Proto as the main building
> block for simple reuse. The toggle button Proto is based on wrapping,
> synced Integer and BooleanSequencers for color toggling and outputting
> useful events corresponding to the state of the button. This is
> probably the most useful and interesting part. Everything else is more
> for demonstration.
> There is also an animatedBlob Proto which shows how animations might
> be controlled by routing events from a toggle button.
> The animations all start out in sync after being enabled by a button
> but then can be individually paused and resumed for arbitrarily
> pulsating patterns.
>
> Event utilities generally turn out to require verbose declarative
> code, compared to logic in scripts but that can be mitigated to a good
> extent by Protos which also help with scene structure.
>
> There is one standard related question which came up for me and I
> think that may have been raised before. The question is what the
> value_changed should be after a Sequencer receives a first 'next'
> event without ever having received a set_fraction or other event. In
> this case there is not a next value because there was never any value
> in the first place. Both x3dom and x_ite currently output the first
> keyValue and set the first key as the current key in this case.
>
> x_ite and x3dom work almost the same with the example. x_ite
> immediately starts the animations where x3dom waits as intended until
> the related Timesensors receive a first 'enabled' event. There may be
> a simple fix for x_ite use but I could not find it.
>
> Thanks, -Andreas
>
> On Sat, Dec 7, 2024 at 4:37 PM John Carlson <yottzumm at gmail.com> wrote:
> >
> > So here’s an interesting question:  If I have the same ROUTE in two
> different choices in a Switch, is one of them ignored?
> >
> > Not that I’m going to do that.
> >
> > I’m probably going to try using a Switch unless someone says that ROUTEs
> are always active in a Switch, disagreeing with the AI.
> >
> > John
> >
> > On Sat, Dec 7, 2024 at 3:29 PM John Carlson <yottzumm at gmail.com> wrote:
> >>
> >> From X3D4:
> >>
> >>
> >> 4.4.8.2 Routes
> >>
> >> Routes are not nodes.
> >>
> >> [snip]
> >>
> >> Redundant routing is ignored. If an X3D file repeats a routing path,
> the second and subsequent identical routes are ignored. This also applies
> for routes created dynamically using the X3D SAI.
> >>
> >>
> >> Can someone clarify how statements are affected by Switches?  Can I
> have different choices of a PROTO inside a Switch?  Effectively changing
> ProtoBody content at run-time???
> >>
> >> John
> >>
> >>
> >>
> >> On Sat, Dec 7, 2024 at 2:40 PM John Carlson <yottzumm at gmail.com> wrote:
> >>>
> >>> Would it be possible to put an animation’s ROUTEs in a Switch that
> could be toggled on and off with a boolean toggle?
> >>>
> >>> Google AI says:
> >>>
> >>> Yes, you can absolutely put "ROUTE" nodes within a "Switch" node in
> X3D; in fact, it's a common practice to use them together to dynamically
> control which set of connections (via ROUTE) are active depending on which
> child node of the Switch is currently selected.
> >>>
> >>> I didn’t realize that statements were affected by Switch.
> >>>
> >>> John
> >>>
> >>> On Sat, Dec 7, 2024 at 1:43 PM John Carlson <yottzumm at gmail.com>
> wrote:
> >>>>
> >>>> We are dealing with multiple facial animations.  The thing we want to
> do is combine animations using HAnimDisplacers.  Currently, our animations
> go from key = 0 to key = 1, (weight = 0 to weight = 1) and each animation
> is controlled by a single TimeSensor that we enable or disable.  What we
> want to do is enable multiple facial animations, yet retain a single
> TimeSensor.  I have done something with enabling multiple time sensors all
> at the same time.  So, ideally, we could toggle each facial animation
> individually.
> >>>>
> >>>> Note that one can have multiple simultaneous HAnimDisplacer
> animations on a single Coordinate, they all add up just fine.  There’s no
> single animation per body part requirement as there is in other places in
> X3D (according to Michalis, from my understanding).
> >>>>
> >>>> I don’t currently know how to individually toggle multiple animations
> without toggling multiple TimeSensors, so assistance is welcome!  Indeed, a
> multiple toggle button X3D example would be welcome (hopefully, something
> we can put in a scenegraph).
> >>>>
> >>>> Here’s what we currently have
> >>>>
> https://github.com/coderextreme/ci2had/blob/main/resources/SingleMenuJin.x3d
> >>>>
> >>>> As you can see, lots of duplication.
> >>>>
> >>>> Viewed best in FreeWRL and Sunrize/X_ITE.
> >>>>
> >>>> John
>
>
>
> --
> Andreas Plesch
> Waltham, MA 02453
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20241213/f3021c0d/attachment.html>


More information about the x3d-public mailing list