Overview & Purpose
The Bounce tool is the heart of the Bounce toolset in the Anim Toys pack. It allows users to procedurally generate complex bounce animations for an input image or element. It simulates physical properties like gravity and bounciness, and offers extensive controls for deforming the image (squash and stretch) as it impacts and rebounds. Additionally, it can synchronize rotations (somersaults) with the bounce cycle.
This tool also serves as the data source for the Bounce Save and Bounce Stretcher tools, allowing for advanced animation workflows.
Parameters
Basic Bounce
Parameter | Description | Default |
---|---|---|
Starting Height | Sets the initial height (in pixels relative to the input image's bottom edge within the bounce container) from which the image will drop to begin bouncing. A value of 0 places the image at the baseline. | 815 |
Gravity | Controls the acceleration that pulls the image downwards and slows its upward rebound. Higher values mean stronger gravity. | 0.05 |
Bounciness | Determines the rebound height as a factor of the previous bounce's maximum height. A value of 1.0 means full rebound height; lower values reduce subsequent bounce heights. | 0.9 |
Threshold Bounce Frames | Sets a minimum duration (in frames) for a full bounce cycle. If the calculated next bounce is shorter than this value, the bouncing stops. Helps prevent overly rapid, jittery bounces. | 1 |
Squash
Controls how the image deforms vertically upon hitting the baseline.
Parameter | Description | Default |
---|---|---|
Squashiness | Determines how much the image squashes vertically. The actual amount depends on the downward velocity at impact. | 0.5 |
Squash Multiplier | Further increases the squash effect beyond what Squashiness provides. |
5.0 |
Frames/Squash Limit | Sets the maximum number of frames the squash animation (squash down and return to original shape) can take, regardless of impact velocity. | 7 |
Squash Time Factor | A non-linear control to fine-tune the duration of the squash. Lower values shorten the squash time. A value of 0 effectively turns off squashing. | 0.5 |
Squash Easing | Selects the easing curve for the squash deformation: Linear (constant rate) or Ease (eases in and out of the most squashed position). | Linear |
Squash Bulge Factor | Controls how much the image widens horizontally to compensate for vertical squash. A value of 1 attempts to maintain the image's original area. Values over 1 overcompensate. | 1.0 |
Stretch
Controls how the image deforms vertically as it rebounds from the baseline.
Parameter | Description | Default |
---|---|---|
Stretchiness | Determines how responsive the vertical stretch is to the rebound velocity. | 0.5 |
Stretch Multiplier | Further increases the stretch effect. High values can lead to a jello effect if upward velocity isn't enough to clear the baseline. | 3.0 |
Stretch Rebound Factor | Controls how long it takes for the stretched image to return to its normal height. 0 means an instant snap-back; 1 means it takes until the next baseline impact. | 1.0 |
Stickiness | Helps mitigate a sticky or jello appearance when bounce velocity is low by reducing the applied stretch. Useful for the end of a bounce cycle. | 1.0 |
Stretch Narrowing Factor | Controls how much the image narrows horizontally to compensate for vertical stretch. A value of 1 attempts to maintain area. | 1.0 |
Baseline Timing
Parameter | Description | Default |
---|---|---|
Baseline Pause Time | Number of frames the image will hold at its most squashed state on the baseline before unsquashing and rebounding. | 0 |
Min Time at Baseline | Ensures the image visually reaches the baseline for at least this many frames per bounce, preventing perceived floating bounces. | 1 |
Somersault
Controls synchronized rotation of the image during each bounce.
Parameter | Description | Default |
---|---|---|
Half Turns per Bounce | Number of 180-degree turns the image performs during each bounce cycle (from takeoff to next landing). Even numbers land upright; odd numbers alternate orientation. Negative values reverse rotation direction. Rotation pauses during squash. | 0 |
Somersault Time Factor | Controls how much of the available airtime is used for the somersault. 1.0 uses all available time; 0.5 completes the turns around the middle of the bounce. | 1.0 |
Tool Actions
Action Button | Description |
---|---|
Show Bounce Container | Toggles the visibility of an outline representing the calculation area for the bounce. Useful for precise positioning. The button text changes to Hide Bounce Container when the outline is visible. |
Save Bounce Data | Calculates and stores the complete bounce animation data (position, deformation, angle for every frame) internally within this node. This data is then accessible by the Bounce Save and Bounce Stretcher tools, or for export. A notification will appear confirming the save. |
Create Polygon | Generates a new PolylineMask tool in the composition, drawing a path representing the bounce trajectory. This polygon is static and independent of the Bounce tool once created. Requires data to be saved first. |
Export Bounce Data | Opens a file dialog to save the internally stored bounce data as a CSV (Comma Separated Values) file. This file can be used in other applications like Blender. Requires data to be saved first. Important: You must enter the full desired file path, including the filename and the .csv extension (e.g., C:\MyBounces\bounce_01.csv or /Users/YourName/Documents/bounce_data.csv ). |
Common Controls
Standard Fusion Transform node common controls (Motion Blur, Quality, etc.) are available under the Common tab.
Usage Guide
- Add the Bounce tool to your flow and connect an image.
- Adjust Basic Bounce parameters (
Starting Height
,Gravity
,Bounciness
,Threshold Bounce Frames
) to define the core motion. Use the Show Bounce Container action to visualize the baseline. - Fine-tune Squash and Stretch parameters to control image deformation on impact and rebound. Pay attention to how velocity influences these effects.
- Use Baseline Timing to add pauses or ensure ground contact.
- If desired, enable Somersault controls for synchronized rotations.
- For advanced workflows (under Tool Actions):
- Click Save Bounce Data to make the animation data available.
- Click Create Polygon to visualize the bounce path.
- Click Export Bounce Data to save a CSV for external use.
- Adjust Common controls like Motion Blur for final polish.
Examples & Tips
- Realistic Ball Bounce: Moderate
Gravity
,Bounciness
around 0.7-0.9, subtleSquashiness
andStretchiness
. - Cartoony Bounce: Higher
Squashiness
/Stretchiness
, pronouncedSquash Bulge Factor
andStretch Narrowing Factor
. Consider addingSomersaults
. - Heavy Object Drop: High
Gravity
, lowBounciness
(e.g., 0.1-0.3), minimal or no stretch. - Motion Blur: Often significantly enhances the look of bounce animations, especially with squash and stretch. Apply it after finalizing the bounce motion.
- Conservative Deformation: Subtle squash and stretch values tend to look more natural than extreme ones.
- Iterative Refinement: The Bounce tool simulates physics. Small parameter changes can have large effects. Adjust and preview often.