• Home
  • Documentation
  • Forum
  • Blog
  • Users
    • Map
    • Userlist
    • Businesses
    • Userpages
    • Connections
  • Contributions
    • All
    • Store
  • Downloads
    • vvvv beta
    • vvvv beta previews
  • Store

    Show / Hide Table of Contents

    Frame-based Animation

    Related nodes

    to built up your loops:
    FrameDelay (Value)

    to accumulate values over time or get changes between frames:
    Integrate (Differential)
    FrameVelocity (Animation)
    FrameDifference (Animation)

    to measure time itself:
    StopWatch (Value)

    nodes that are frame-based implementations of some algorithm:
    ADSR (Value Framebased)
    Spray (Animation)
    Wanderer (Animation 2d)
    Wanderer (Animation 3d)

    Scenario: an object shall react to events by applying forces.
    There are different famous examples of this way of doing animations:

    • BOIDS
    • Physics engines, like Box2D or Bullet (included in DX11).

    But you also can do your own frame-based animation, simply by patching.

    The basic idea here is that the current value of the animation is simply calculated based upon the value of the last frame and tweaked a bit in a certain way. See more about Loops.

    When doing this naively, higher frame rates will result in faster animations. To avoid that, here is a simple trick:

    • measure how much time has passed between the last frame and the current frame. A combination of Stopwatch (Animation) and FrameDifference (Animation) can help you out.
    • scale your velocity and acceleration by this amount

    As a result your animation will be framerate independent.

    See also:

    • Related Contributions
    • Improve this Doc

    © 2020 by vvvv group. Imprint | Privacy Policy.
    Thanks to DocFX for building this website. Analytics by Plausible.

    Back to top