Fix Velocity Stepping in High Speed Houdini Simulations
- Rahul Gupta
- Apr 15
- 4 min read
Updated: 7 days ago
Velocity stepping is a visual artifact in smoke or fire simulations where fast-moving emitters create a segmented or “stepped” trail instead of a smooth one. This occurs when the emitter moves too far between simulation time steps, causing the volume source to update in discrete bursts rather than continuously, resulting in visible gaps or strobing. If you're wondering how to fix velocity stepping in particle / pyro Houdini simulations, here’s a no-fluff breakdown.


Velocity stepping happens when a fast-moving emitter travels too far between frames. The solver injects density at one spot, then again at a distant point in the next frame, leaving gaps in the trail.
Let's Dive Right in on different techniques to apply to reduce and mitigate some of these stepping issues -
Add Substeps
On your DOP Network (or Pyro Solver), increase the substep count (e.g. 2, 4, or more) so that the solver updates multiple times per frame. Each substep will source and advect the smoke, reducing large jumps. For example, even a single extra substep can make a difference for moderate speeds.
Setting a Minimum Substeps ensures the solver takes at least that many steps per frame. Also, set a reasonable Max Substeps (to cap the CPU cost). This ensures stability for fast-moving simulations, this all comes of-course with extra computation costs.
example - min substeps - 2 ; max substeps - 3 velocity stepping in smoke trail Velocity Blur
Velocity Blur with Volume Rasterize Attributes -
For fast-moving pyro sources, enabling Velocity Blur in the Volume Rasterize Attributes Node is a simple and effective way to reduce stepping. It uses the velocity (v) attribute to smear density over the emitter's motion path, creating a smoother, continuous trail.
velocity blur on volume rasterize attributes Before using velocity blur, make sure your emitter has a velocity (v) attribute. If it doesn’t, calculate it using a Trail SOP (set to “Compute Velocity”) or a Point Velocity SOP.
trail sop (compute velocity) Sometimes, the velocity field can be too uniform, causing the blurred density to look blocky or artificial. To break this up and make the trail feel more natural, try adding a bit of randomness to the velocity vectors (use AttribNoise or randomizeAttrib), just enough to introduce variation without ruining directionality. This helps the blurred emission blend more organically.




Smear using Trail SOP
Arguably my favorite technique to reduce velocity stepping without a heavy sim cost is to use a Trail SOP to stretch the emitter along its path. This creates a streak of geometry representing where the emitter was over a few frames before, mimicking substeps.
Set the Trail SOP to "Trail Length" mode, and create multiple duplicates per frame (e.g. 10 copies spaced at 0.1-frame intervals). This results in a smooth ribbon of emission instead of choppy puffs.
Combine the Trail SOP with a Point Jitter to break up uniformity and help the streak blend more organically with the original emitter. The jitter adds slight randomness to the trail points, which helps avoid a stiff or overly linear look, especially useful when creating more natural, chaotic pyro trails. Just keep the jitter subtle to preserve direction while softening the appearance.
trail sop and point jitter in action smear stack Sub-Frame Source Interpolation (Time Blend / Retime SOP)
Use a Time Blend SOP or Retime SOP before feeding your source into the Pyro setup. These nodes interpolate your geometry between frames so the solver can see motion at sub-frame intervals. This is especially important for animation done directly in Houdini. Not so useful for Alembic Caches (especially if you don't have subframes baked in from your exporting software)
For more complex motion (like changing topology), you might need to dig into point caches or attribute interpolation—but for most cases, Time Blend or Retime gets the job done.
Visualizing Subframes
Right-click the playbar and disable integer frame snapping.
To check if interpolation is working, scrub the timeline at subframes (e.g. 0.1 or 0.25).
You should see smooth motion or trailing points. If the emitter still jumps from frame to frame, interpolation isn’t working—and substeps from Retime SOP won’t help.
Volume Rasterization Tips
1. Particle Scale Overlap
Increase Particle Scale or Coverage slightly so volumes overlap between frames. Just enough to blend—too much will blur out detail.
2. Boost Emission Frequency
Emit more particles or sub-frame births to avoid stepping. Sparse emissions = choppy trails.
3. Use a Negative Shutter Offset
Set velocity blur offset to -0.5 or -1.0 to trail smoke behind the emitter, not ahead. Helps motion look natural and continuous.
Extra DOP Network Tips for Reducing Velocity Stepping
Here are a few Advanced tricks Houdini artists use when the usual fixes aren’t enough:
1. Simulate at Higher FPS / Adjust Time Scale
Instead of increasing substeps, try simulating at a higher frame rate—like 120 FPS. Set your Time Scale to something like 0.2 to simulate finer motion, then retime the result back to 24 FPS. This forces the solver to compute more granular motion. Just be aware: it generates more frames, heavier caches, and longer sim times—so only use this when really needed.
2. Use Better Advection Schemes
In Houdini’s Pyro Solver, switch to more accurate advection methods like BFECC or MacCormack. They preserve detail better in fast-moving volumes. Also, check your CFL condition. Lower CFL values = more adaptive substeps.
3. Post-Sim Smoothing (using Volume VOP)
If a tiny bit of stepping remains. Average the current frame with the previous/next ones to fill subtle gaps.
> Time Shift SOP ×3 → Set to $F-1, $F, $F+1
> Merge SOP → Combine all three
> Volume VOP → Connect merged result, Use 3 Bind nodes to import all 3 densities.
> Add them, then multiply by 0.333 and output to Density.
By using these techniques, you can greatly reduce velocity stepping in your Houdini Pyro sims. Fast-moving emitters will leave smooth, continuous trails—no gaps, no stutter. The result is more realistic, production-ready fire and smoke that holds up under intense motion. Combine smart sourcing with subframe sampling and solver tuning, and even the fastest pyro effects will look clean and convincing.
Happy Simming!
Tips based on best practices from the Houdini community, SideFX docs, OdForce, Reddit, seasoned FX artists, and yours truly.