π’ CR Increment Float
A Stepped Value That Bumps Up Every N Frames
- FLOAT
- show_help
CR Increment Float and its cousin CR Gradient Float solve related but different problems. Gradient gives you a smooth ramp between two values. This one gives you a staircase: a value that holds steady for a stretch of frames, then jumps up by a fixed step, holds again, jumps again.
How it works. Set a start_value and a step, plus start_frame and frame_duration to define how many frames each stair takes, and feed it current_frame from whatever's driving your animation. Instead of interpolating smoothly like CR Gradient Float does, this reads as: hold at start_value, and every frame_duration frames after start_frame, add step. So a step of 0.1 with frame_duration of 8 gives you a value that jumps by 0.1 every 8 frames rather than creeping up continuously - a distinctly different look in an animation than a smooth ramp, and sometimes the one you actually want (visible, discrete shifts rather than an imperceptible drift).
One technical note worth flagging. This node is marked as an "output node" in ComfyUI's graph model - a flag that means the node executes every time you queue a run, even if nothing downstream is wired to its output. CR Gradient Float doesn't carry that same flag. It's a small distinction, but if you're used to ComfyUI skipping nodes with no downstream consumers, don't expect that optimization to apply here.
Why step instead of smooth. Beyond animation, a stepped value is genuinely the right tool sometimes even outside a frame-by-frame context - stepping CFG or denoise across a batch of test generations, for instance, where you want N distinct, clearly separated values rather than a continuous sweep. CR Gradient Float would give you the continuous version of the same idea; this one gives you the discrete version.
Inputs and output that matter. start_value and step (the base and the jump size), start_frame / frame_duration (how the stairs are timed), current_frame (where you are). Output is a single FLOAT plus show_help.
Install. ComfyUI Manager: search "Comfyroll Studio", install, restart. Manually: cd ComfyUI/custom_nodes && git clone https://github.com/Suzie1/ComfyUI_Comfyroll_CustomNodes.git, restart. No models needed.
Troubleshooting. As with the Gradient nodes, the most common issue isn't the math - it's forgetting to wire current_frame to something that actually changes across your run. If the output looks frozen, that's almost always the cause. And the pack-wide install gotcha applies here too: a real, documented failure mode on r/comfyui shows a single broken import inside Comfyroll (Failed to load Graphics nodes / Failed to load Utility nodes) wiping every node in the pack from the menu at once, since they all register from one shared file. If nodes go missing after install, a clean git clone fixes it more reliably than debugging pip.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| start_value | FLOAT | 1.0000β9999 | β |
| step | FLOAT | 0.100-9999β9999 | β |
| start_frame | INT | 00β9999 | β |
| frame_duration | INT | 10β9999 | β |
| current_frame | INT | 00β9999 | β |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| FLOAT | FLOAT | β |
| show_help | STRING | β |