SOP Solver in Houdini

Download Houdini File (Torus Footprint on Grid): SOP_solver.hiplc

Download Houdini File (Torus Footprint on Height Field Terrain): SOP Solver Footprints on HeightField.hiplc

SOP Solver vs Foreach Loop

Foreach Loop block

Foreach Loop block

SOP Solvers are like foreach loops except the iterations in SOP Solvers involve everything that happens in the frame. The iterations inside foreach loops, involve everything that happens inside the foreach block. The foreach block is the orange block in the screenshot on the right.

The scale of functionality is quite different as well. SOP Solvers are perfect for animations where you have an object evolving over time, from frame to frame. For example, if you want something to grow over time or maybe shrink over time, SOP Solvers make it easy. Foreach loops are more targeted for repeated tasks done on geometries or calculations. For example, if you wanted to shrink all 10 cubes by their individual centroid as the pivot, using a foreach loop would be best.

They are both similar in a way where you can accumulate data over each iteration. By accessing the data from the previous iteration, this greater possibilities of evolution.

Torus stamping footprints on a Height Field Terrain

Torus stamping footprints on a Height Field Terrain

Snowy Footprints

In the tutorial video, I walk through SideFX’s Foot prints example and explain some of the concepts of the SOP solver node. I then reuse the same Houdini example file and replace the grid with a Height Field terrain. This results in the Torus stamping foot prints all over the Height Field terrain instead of the plain grid.

This is just one example of the power of the SOP Solver node. This scene can easily be a snowy scene in the Alps and if I had a better animation to reuse instead of the Torus, like a character animated by motion capture walking or running. The character’s footprints can be stamped all over the snowy Alps.

Foreach Loops

I cover foreach loops in a previous post titled, Loops in Houdini vs Coding.