This tutorial walks you through creating a simple squash-and-stretch rig for a ball in Blender 5. You’ll build a two-bone stretch system, add a master control, and create custom controller shapes to make animation easier.
Step 1: Add an Armature
- Make sure you have the Rigify addon active
- Press Shift + A → Armature → Single Bone
- The bone may be hidden inside the mesh
- Select the armature
- Open Object Properties [running man]
- Under Viewport Display, enable In Front so the bones remain visible through the mesh
Position the bone roughly in the center of the ball
- Press G, then Z, to move it vertically to the bottom of the ball
Step 2: Create the Stretch Bones
- Use TAB to enter Edit Mode
- Select the tip of the bone
- Press G, then Z, to move the top of the bone to the top of the ball
- Make adjustments as necessary to make sure the bone spans the ball
- Use E, the Z, to extrude a second bone at the top of the ball
The bones should form a vertical chain running through the center of the ball
Step 3: Separate the Bones
The stretch setup works best when the two bones are not parented together
- Select the top bone
- Press Alt + P
- Choose Clear Parent
The two bones are now independent
Step 4: Rename the Bones
Clear naming makes rigging much easier
Select each bone and rename it in the Bone Properties panel
- Lower bone → Root
- Upper bone → Squash
Step 5: Add the Stretch Constraint
The lower bone will stretch toward the upper bone
- Select both bones
- Use CTRL TAB to switch to Pose Mode
- Select the Root bone
- Open the Bone Constraints tab
- Click Add Bone Constraint → Stretch To
Configure the constraint:
- Target: your armature
- Bone: Squash
Now test it
Select the Squash bone and press G and move your mouse
The lower bone should automatically stretch toward it
You can also move the Root bone to see how the setup behaves
Step 6: Parent the Ball to the Armature
Now bind the mesh to the rig
- Return to Object Mode by using CTRL TAB
- Select the ball
- Hold Shift and select the armature
- Press Ctrl + P
- Choose Armature Deform → With Automatic Weights
Switch back to Pose Mode using CTRL TAB and move either bone
The ball should squash and stretch automatically
Step 7: Create a Master Control Bone
A master control lets you move the entire rig without affecting the squash-and-stretch behavior
Add the Control Bone
- Use TAB to go into Edit Mode
- Press Shift + A to add a new bone
- Select the top of the Bone and use G, then Z, to scale the Bone down
- Rename this bone: Control
Step 8: Parent the Stretch Bones to the Control
Still in Edit Mode:
- Select Squash
- Hold CTRL and select Root
- Finally select Control so it is the active bone
- Press Ctrl + P
- Choose Keep Offset
Now test the rig
- Use CTRL TAB to go back into Pose Mode
- Moving the Squash bone affects stretching
- Moving Root bone affects stretching
- Moving Control bone moves the entire rig together
Step 9: Create a Custom Controller Shape
Controller shapes are easier to animate than bones
- Use CTRL TAB to return to Object Mode
- Press Shift + A → Mesh → Circle
- Scale it larger with S key
- Move it slightly below the ball
This circle will become the custom control shape
Select the bones and use CTRL TAB to enter Pose Mode
Squash Bone
- Select Squash bone
- Open Bone Properties
- Under Viewport Display, find Custom Shape
- Use the eyedropper to select the circle
Adjust the display:
- Rotation: 90° (X Axis)
- Scale: approximately 2.5
- Raise it slightly using Translation Y
Root Bone
Suggested values:
- Select the Root bone
- Use the eyedropper to select the circle
- Rotation: 90° (X Axis)
- Scale: about 1.5
- Lower it slightly with Translation Y
Control Bone
Suggested settings:
- Select the Control bone
- Use the eyedropper to select the circle
- Rotation: 90° (X Axis)
- Scale: around 6
Make this controller larger than the ball so it’s easy to grab
The circle object is now only used as a controller shape
Return to Object Mode using CTRL TAB and delete the mesh circle
The custom controller shapes remain assigned to the bones
Step 10: Test the Rig
In Pose Mode:
- Select the Controllers and use CTRL TAB to go into Pose Mode
- Move the Squash controller to squash and stretch the ball
- Move the Root controller to squash and stretch the ball
- Move the Control controller to reposition the entire rig
- Rotate the Control to rotate the whole ball
Everything should move together while preserving the squash-and-stretch behavior
Step 11: Color-Code the Controllers (Optional)
To make the rig easier to read:
- Select a controller
- Open Bone Properties → Viewport Display
- Select a Bone Color
Suggested colors:
- Squash → Red
- Root → Yellow
- Control → Purple
Color coding becomes especially useful on larger character rigs
You can also use the Wire Width to make the Controllers easier to see
Conclusion
You now have a fully functional squash-and-stretch ball rig featuring:
- Automatic squash and stretch using a Stretch To constraint
- Automatic mesh deformation with armature weights
- Independent top and bottom stretch controls
- A master control for moving and rotating the entire rig
- Custom controller shapes for easier animation
- Optional color-coded controls for better organization
This simple rig demonstrates several fundamental rigging techniques that can be expanded into more advanced animation rigs