Crowds & Simulation / Houdini & Procedural Workflows / Houdini
Time Turner Modeling, Animation and Simulation Houdini Tutorial
Written guide

Playing loads YouTube content. YouTube processes data after activation.
Watch on YouTubeIf the player is blocked or unavailable, use Watch on YouTube.
An hourglass inside rotating rings is both a modeling problem and a collision problem. The visible glass needs thickness, the rings need a transform order that carries their attachments, and the sand needs an inward-facing collision surface that follows the animation. This walkthrough develops those parts separately before testing a half-turn that pours sand into the opposite chamber.
The source uses Houdini’s historical Dry Sand shelf workflow. It does not establish an exact software version or teach a Vellum conversion. Materials, additional animation and most final rendering work happen off camera. The instructional endpoint is the modeled assembly and demonstrated grain containment during the turn, followed by a rendered example.
Connect the glass chambers and preserve an inner surface
At 00:44, begin with a polygon-mesh Sphere centered at Y = -1, then merge a transformed copy shifted upward by two units. Select from the merged result, remove the opposing faces and use PolyBridge to connect the two open edge loops. The first bridge twists; adjust Pairing Shift until the correspondence runs straight between the openings.
Reduce the bridge divisions to a manageable amount and use its shaping controls and ramp to narrow the center. This neck establishes the passage for the sand. Judge both its silhouette and its opening: the narration considers how the narrowing will slow the grains, rather than treating the hourglass as two spheres joined by an arbitrary tube. A final Y scale of about 1.1 elongates the otherwise round chambers.
Create a clearly named output null for this hourglass shape. At 07:00, branch a copy for the inside, reverse its normals and use a small extrusion to move it inward. The demonstrated thickness is reduced to approximately 0.02. Merge the inner and outer surfaces for the visible glass, and keep a separate output for the inner collider.
Wireframe inspection makes the separation between the surfaces easier to see. Preserve those distinct outputs: the surface needed to contain grains is not the whole collection of decorative parts, and the original outward-facing shape is useful later as a modeling cutter.
Cut and bevel the supporting rings
At 10:01, organize the glass nodes into a network box, then build the surrounding support from a capped polygon Tube. Adjust its orientation, radius, height and divisions so it surrounds the glass cleanly. Expand a copy of the hourglass shape slightly and subtract it from the tube with Boolean. The first Intersect result shows the region that should be removed; switching to Subtract produces the intended opening.
The first support is too thick. Reduce the tube height and the cutter’s expansion for a closer fit. Before the Boolean, inset and recess the tube faces to make a shallow rim, with a negative 0.05 distance used in the example. Beveling is moved after the Boolean so the cut opening can be included in the edge treatment.
Edge selection takes a substantial part of the demonstration. A loop that runs in an unexpected direction prompts a temporary face-move test; the mesh appears connected, so that test edit is removed. The instructor then works in an orthographic wireframe view, selects broadly and deselects unwanted interior edges, including extra edges around the poles. Save the finished selection in an edge group before PolyBevel so it can be reused without repeating the selection.
Use a restrained bevel that rounds highlights without changing the ring’s overall shape. Later, while assembling the animation, the instructor bypasses this bevel because it is causing issues. The source does not document a separate final bevel repair; do not assume that the earlier selection and settings remain universally stable after every later Boolean change.
Assemble the nested motion before decorating it
At 24:03, derive a larger outer ring from the existing tube-related geometry. Remove unwanted faces, reshape the remaining loops and Fuse the intended coincident vertices. An apparent lack of fusion is resolved by displaying the Fuse output; its 0.01 setting then shows the connection. Add another enlarged ring when testing reveals that a third ring is needed for the intended motion.
Merge the glass with its inner support before that assembly’s Transform. Add capped tubes as connecting pins, with opposite pins created through a 180-degree transform. Adjust their length so they do not protrude through the far side. Place each pin pair in the branch of the ring it should accompany, and merge it upstream of the relevant rotation.
The narration explores different axes while building, so use the later successful test as the reference: the mid-ring control rotates around X, and the inner-ring control rotates around Y. At 40:01, both are keyed through 360 degrees over a 48-frame test. Play the result and confirm that the glass and attachments follow their intended assembly. The test channels are then deleted at frame one before further modeling.
The outer handle is made with successive extrusions. An attempt to shape alternating edges runs into unsuitable face topology and is abandoned. The retained handle is simpler. Texture-based detail is only suggested; there is no demonstrated fix for that unsuccessful serration attempt.
Create the sand source, exposed controls and star cutouts
At 44:00, use the inner hourglass shape and another sphere to define the starting sand region in the lower chamber. The Boolean initially behaves incorrectly because the inner surface’s normals are reversed for collision purposes. Reverse the working cutter’s orientation for this modeling operation, then preserve the resulting volume with an OUT_SAND null. Inspect it inside the glass in wireframe before turning it into grains.
The object-level parameter interface receives a Time Turner settings folder with two float controls. Their defaults are zero, and the example slider ranges extend to approximately ten turns in either direction. The narration explicitly distinguishes the slider range from a hard limit: larger typed values can still be entered.
At 52:06, copy the mid-ring control parameter and paste a relative reference into its internal X rotation. Connect the inner-ring control to its internal Y rotation in the same way. Test each exposed control. Pinning one parameter pane while navigating in another makes it easier to preserve the source control during this linking step; the instructor has to repin a pane after losing that selection.
The star decoration begins with a polygon Circle reshaped into a star and extruded with Output Back. Scale and position copies so each cutter passes completely through the intended support. Merge these cutters into the Boolean’s cutting geometry. The stars are placed manually; scattering them is mentioned afterward as a possible faster method, not demonstrated as part of this network.
A transformed set places cutouts on the other side. Negative scaling introduces a normals problem, corrected with Reverse before the subtraction. Inspect the final Boolean result and retest the ring controls. Decorations should not sever the intended transform dependencies or leave cutters visible as part of the finished object.
Solve containment with the inner wall, not the whole ornament
At 01:07:02, Object Merge the sand output into a separate geometry object and create Dry Sand from that source. The generated DOP network simulates the grains, but adding the complete time turner as a Static Object initially pushes them outward instead of containing them.
At 01:10:03, the instructor changes the static object’s collision treatment to use the surface. The inward-facing inner wall is the relevant boundary for this setup. The captions describe the control generically, so verify its location in the recorded interface rather than assuming the same label in every Houdini version.
The initial working collision still includes unnecessary model parts. Insert a Blast in the collision-source branch and select the inside glass wall. Blast first removes that selection; enable Delete Non-Selected to keep only the inner wall instead. Preserve the visible display on the full model while the collider reads the reduced branch. The next playback contains the sand and calculates markedly faster in the example.
These are two different checks: collision orientation determines which side of the wall the grains occupy, while the source branch determines how much geometry is evaluated. Hiding the decorative rings in the viewport alone would not establish that they have been excluded from the collider.
Animate the collision surface and evaluate the grain trial
At 01:13:01, hold the assembly for the first 24 frames, then animate the mid ring to 180 degrees over the next second. The visible model flips, but the initial simulation does not follow. Inspecting the DOP collider shows why: the collision surface remains in its original pose.
Enable Use Deforming Geometry on the Static Object and recalculate from frame one. The next trial shows grains staying inside the turning glass and pouring into the opposite chamber. The instructor considers the existing substeps adequate for that test because the sand is not visibly escaping through the glass; no exact substep count or broad stability guarantee is established.
The closing refinement reduces a grain-size-related setting from 0.05 to 0.002 to seek finer sand. The precise parameter label is not clearly preserved in the captions. Treat the values as an on-screen trial to inspect, not a complete resolution recipe. The calculation slows as more particles are introduced, and the source then moves to off-camera animation, materials and rendering.
The final ten-second render is reported to have taken about twelve hours on the instructor’s setup. That is a historical observation, not a render-time estimate for another machine. Before pursuing that presentation, verify the supported core result: the correct initial sand region, inward containment, a collider that follows both ring controls, a clear neck passage and no obvious grain escape during the demonstrated half-turn. The source does not supply a full material, render or cache configuration for reproducing the final image exactly.