john's Avatar


27 Mar, 2020 03:55 AM

Here, for your animation pleasure, is a bounce node!

This node is somewhat hard to describe. You really have to use it to see how it works. Like the wave node it produces numbers that could be used to plot a curve. But the curve produced is a decaying sine wave with a fixed bottom and cycle tops that dampen at an adjustable rate.

The node takes five parameters:

  • Index. The time or X axis. You would normally connect a frame node to this to produce an animation.
  • Vigor. The "bounciness" of the dampening curve on a scale from 1 to 100. 1 produces a lethargic curve with hardly more than a single bounce. 100 produces a blur of bounces (a sine wave with a short period).
  • Initial height. The height of the initial peak where the damping curve starts. If animating a bouncing ball, this would be the ball's initial height.
  • Give. The extent to which an object can push through the "floor" of the curve (and produce negative y values). If set to 0 no negative values will be allowed and the object will ricochet off the floor with no give. When animating a ball you will want to set the give to an amount not exceeding half the height of the ball and deform the ball when it hits so that it deforms instead of actually passing through the floor.
  • Damping. A value from 0 to 100 that controls how fast the curve decays. A damping value of 0 will produce a sine wave. A value of 100 will immediately degrade after the first bounce.

The zip file includes three examples: a bouncing ball, a jiggling shape, and a weighted spring which starts stretched and contracts over time. The bouncing ball example plots the actual damping curve; in practice you would not show this curve in your animations.

Download the network and hit play to see the bounce node in action. Adjust the various bounce nodes to see how they affect the animation. You can multiply or divide the frame value feeding into the bounce node to control overall speed. Playing the animation inside Nodebox will occasionally skip frames resulting in some jerkiness; export movie to see a smooth animation.

I have also included a "bouncing star" animation produced with this node.

Have fun! Play!


Reply to this discussion

Internal reply

Formatting help / Preview (switch to plain text) No formatting (switch to Markdown)

Attaching KB article:


Already uploaded files

  • bounce_demo_screenshot.png 520 KB
  • 3.73 KB
  • bouncing_star.mp4 8.53 MB

Attached Files

You can attach files up to 10MB

If you don't have an account yet, we need to confirm you're human and not a machine trying to post spam.

Keyboard shortcuts


? Show this help
ESC Blurs the current field

Comment Form

r Focus the comment reply box
^ + ↩ Submit the comment

You can use Command ⌘ instead of Control ^ on Mac

Recent Discussions

17 Aug, 2022 08:11 AM
05 Aug, 2022 05:24 AM
02 Aug, 2022 06:57 PM
01 Aug, 2022 02:02 PM
11 Jul, 2022 10:19 AM


07 Jul, 2022 07:41 PM
03 Jul, 2022 11:08 PM
30 Jun, 2022 09:46 PM
30 Jun, 2022 07:01 PM
16 Jun, 2022 05:30 AM
06 Jun, 2022 01:07 PM