To loop hand-drawn Paint frames in Fusion, draw one complete cycle, then use a Time Stretcher node to repeat those source frames. This Mac workflow creates a repeating animation in the composition, with a six-frame example you can check frame by frame.
The task here is a small frame-by-frame animation: six slightly different drawings of a circle, repeated for the duration of a DaVinci Resolve timeline clip. The workflow uses the Paint, expression, and Time Stretcher controls documented in Blackmagic Design’s Fusion 21.1 Reference Manual.
Which Paint stroke type should you use?
Choose Multistroke when each drawing should appear on an individual frame. Blackmagic documents Multistroke as having a default duration of one frame. Set the brush and duration before drawing: these strokes do not offer the later editing available with the regular Stroke tool. See “Paint,” particularly “Single-Frame Stroke Types,” in the Fusion reference manual.
The regular Stroke and Polyline Stroke tools behave differently: their initial duration spans the entire composition. They are useful when you need editable paths or a line that draws itself using Write-On controls. For a sequence of separately drawn poses, that default can make earlier drawings remain visible over later ones. Blackmagic explains these distinctions under “Editable Stroke Types” and “Animating and Tracking Paint Strokes” in the same manual.
For this example, use Multistroke with a duration of one frame. Draw a complete circle on each of six consecutive frames, changing its contour slightly each time. These are illustrative drawings; no imported artwork or footage is required.
Set up a separate canvas for the drawings
On Resolve’s Edit page, open the Effects Library and locate Fusion Composition in the Effects category. Drag it onto a video track and trim it to the desired finished duration—for example, five seconds. Select the composition and open the Fusion page. The DaVinci Resolve 21 Reference Manual describes Fusion Composition as a customizable effect and explains the Fusion page’s node-based workspace.
Add a Background node and a Paint node. With the Node Editor focused, press Shift-Spacebar, search for the required node, and press Return. Connect the nodes in this order: Background1 → Paint1 → MediaOut1. Blackmagic documents this node-creation shortcut under “Working in the Node Editor” in the Fusion reference manual.
Select Background1, set its image dimensions to match the intended composition, and set its color’s Alpha to 0 for a transparent canvas. Paint needs an image input to establish its canvas resolution; Blackmagic specifically documents a transparent Background feeding Paint for a separately composited drawing layer. See “Using Paint as the Foreground in a Merge Composite” in the Fusion manual.
Keeping the canvas separate also gives you a useful timing boundary. Place the looping operation after Paint on this drawing branch. If you instead paint directly onto moving footage and retime the combined image, the source-time change also repeats that footage. That follows from Time Stretcher sampling the image connected to its input, as described in the manual’s “Time Stretcher” section.
Draw and inspect one complete cycle
Select Paint1 and display its output in a viewer. Choose Multistroke from the Paint toolbar above the viewer. Set the brush color, size, and stroke duration before drawing. The manual calls the duration control Stroke Duration in its discussion of single-frame strokes; keep it at 1 for this example. These setup requirements are documented in “Paint”.
Use the frame numbers displayed in Fusion’s time ruler. The example below assumes that your first drawing is at Fusion frame 0. If your working range starts elsewhere, use the offset expression in the next section.
- At frame 0, draw the first circle.
- Move to frame 1 and draw the second variation.
- Continue through frames 2, 3, 4, and 5.
- Scrub back through all six frames before adding the loop.
Each frame should contain its intended drawing without unwanted strokes from neighboring frames. Temporarily viewing Paint1 directly makes this check easier: you are inspecting the source cycle before any timing changes.
Think about the transition from drawing 5 back to drawing 0 while you work. For this circle example, keep their size and position reasonably close if you want a subtle repeating wobble. This is an animation design choice: looping the frame numbers cannot correct a visible jump between the last and first drawings.
Repeat the frames with Time Stretcher
Add a Time Stretcher node after Paint1, giving this connection order: Background1 → Paint1 → TimeStretcher1 → MediaOut1. Its Source Time control determines which upstream frame appears at the current output frame. The Fusion manual’s “Time Stretcher” section documents that behavior and notes that a newly added node initially has a Source Time animation curve with one keyframe set to 0.
Replace that initial animation with an expression:
- Right-click the Source Time label and choose the Remove entry naming its existing animation.
- Double-click the Source Time numeric field, type
=, and press Return to open its expression field. - Enter
time % 6in that expression field. - Set the node’s interpolation mode to Nearest.
On a Mac, Control-click opens a contextual menu if you do not use a secondary mouse or trackpad click. Apple documents this in “Right-click on Mac”. Blackmagic documents removing parameter animation under “Editing Parameters in the Inspector” and entering expressions with = under “Using SimpleExpressions” in the Fusion manual.
The expression time % 6 is an Inspector expression, not a standalone program. Fusion documents time as the current frame number and supports one-line Lua expressions. Lua’s % operator returns the modulo remainder, so this expression cycles through source frames 0–5. The repeating formula is derived from those documented features; see Fusion’s expression documentation and Lua’s arithmetic operators.
| Output frame | Source frame requested | Expected drawing |
|---|---|---|
| 0 | 0 | First circle |
| 1 | 1 | Second circle |
| 5 | 5 | Sixth circle |
| 6 | 0 | First circle again |
| 7 | 1 | Second circle again |
| 11 | 5 | Sixth circle again |
| 12 | 0 | First circle again |
Choose Nearest to preserve the individual drawings. Blackmagic documents Nearest as duplicating or dropping frames, while Blend dissolves adjacent frames together. For this frame-by-frame example, blending would introduce intermediate appearances that you did not draw. See the interpolation controls in “Time Stretcher”.
Adapt the expression to your frame range
Count the source frames inclusively. Drawings on frames 0 through 5 form a six-frame cycle, so use % 6. Using % 5 would omit drawing 5 from the repeating sequence. At an illustrative timeline rate of 24 frames per second, six frames last 0.25 seconds, producing four cycles per second.
If your drawings occupy source frames 100–105, and you want the first drawing at output frame 100, use 100 + ((time - 100) % 6). At output frames 100–105, it requests source frames 100–105; at output frame 106, it returns to source frame 100.
The general relationship is source start + ((current frame − output start) modulo cycle length). Substitute actual Fusion frame numbers, rather than the Edit page’s timeline timecode. These examples assume consecutive drawings displayed for one output frame each. If you want a slower cycle, decide on the intended holds and timing before changing the expression.
Check the output and diagnose common problems
Inspect TimeStretcher1 or MediaOut1 across at least two complete cycles. For the zero-based example, check frames 5, 6, 11, and 12 individually. Those boundaries reveal an incorrect cycle length or a missing drawing more clearly than watching continuous playback.
Fusion’s transport Loop button is useful for previewing, but it controls how the playhead travels through the playback range. Blackmagic documents both repeating and ping-pong preview modes under “Looping Options” in the Fusion reference manual. The Source Time expression creates the repeated image sequence within your composition.
| Symptom | What to inspect | Correction |
|---|---|---|
| Every output frame shows the same drawing | Source Time may still have its initial constant animation | Confirm that the expression controls Source Time and its displayed value changes as you scrub |
| Earlier drawings remain visible on later source frames | Stroke type and duration | Inspect Paint1 directly; use Multistroke with duration 1 before creating replacement drawings |
| A blank frame appears regularly | Missing source drawing or incorrect range | Inspect every source frame and check the inclusive cycle length |
| Drawings appear blended together | Time Stretcher interpolation | Select Nearest |
| Background footage repeats with the drawing | Time Stretcher’s position | Keep it on the separate transparent Paint branch before compositing |
Return to the Edit page and play the full Fusion Composition. Confirm the first drawing appears where intended and that the repeats continue through the clip’s final frame. If you later change the clip’s start or duration, revisit the expression’s output-start assumption and inspect the new boundaries.
A dependable Paint loop starts with a clean source cycle: every intended frame exists, stroke durations match the drawing method, and the final drawing transitions deliberately into the first. Once those frames are correct, Time Stretcher provides a compact way to repeat them while preserving the original drawings for further work.
Sources
- Fusion 21.1 Reference Manual — Blackmagic Design.
- DaVinci Resolve 21 Reference Manual — Blackmagic Design.
- Right-click on Mac — Apple.
- Lua 5.1 Reference Manual: Arithmetic Operators — Lua.org.