← Learn library

Crowds & Simulation / Houdini & Procedural Workflows / Houdini

How to Break a Wall in 3D | Houdini Tutorial

Channel: CGI Nerd ·

Written guide

Original CGI Nerd video thumbnail
How to Break a Wall in 3D | Houdini TutorialCGI Nerd · Video hosted on YouTube

Playing loads YouTube content. YouTube processes data after activation.

Watch on YouTube

If the player is blocked or unavailable, use Watch on YouTube.

Software: Houdini

This lesson creates a cannonball impact by separating a wall into a static remainder and a fractured dynamic region. It concentrates small fragments near the intended impact, holds those fragments together with glue constraints, then removes selected constraints with an animated color mask. A final camera, material and motion-blur pass makes the break readable in a rendered sequence.

The distinction between impact and constraint removal matters: the cannonball collides physically, but the mask that releases the glue is keyed to a chosen frame. This is an art-directed setup, not a demonstrated system that detects arbitrary impacts and automatically deletes bonds wherever they occur. The instructor refers to Houdini version 17 during material assignment; the exact build and current-version equivalents are unverified.

Separate the part that breaks from the part that stays

During 00:36–10:00, make a wall from a polygon-mesh Box and create a separate ground Grid. Position and scale the wall, then add enough surface divisions to support the later painted mask. The source favors reasonably square surface polygons and keeps the thin depth direction comparatively simple.

Begin with a coarse Voronoi Fracture. Its geometry input receives the wall; its point input receives a small Scatter distribution. Change the scatter seed and count until one coarse piece covers the desired break region. This first fracture defines the broad division between moving and unmoving wall, rather than the final small debris.

Two Blast branches separate the selected region from its complement. One retains the area that will receive the detailed fracture, and the other retains the surrounding wall. In the example, four coarse pieces are numbered from zero, and piece two is selected for the detailed break. That number belongs to this particular scatter result; it is not a stable identifier after changing the seed or count.

End the surrounding-wall branch with a named Null output. The important check is that the two branches reconstruct the original wall when viewed together, without duplicating the selected region or accidentally deleting part of the static remainder.

Give the fracture interior points and a denser impact zone

At 10:04–20:00, try a second Voronoi Fracture on the selected region. A plain surface scatter produces a revealing limitation: Exploded View shows fragments arranged from opposite surfaces, with little useful subdivision inside the wall. The source introduces Voronoi Fracture Points to control surface and interior points before fracturing.

Increasing interior points supplies sites inside the volume. Exploded View is an inspection tool here; its separated display is not the geometry that should enter the simulation. Use it to see whether the apparent wall actually contains the intended fragment structure.

The initial fragments are still too uniform. To concentrate smaller pieces near impact:

  1. Initialize the wall’s point color to black with the historical Point SOP controls.
  2. Paint white where the ball is intended to hit, including the corresponding back area, and smooth the painted falloff.
  3. Enable the Scatter density attribute and use the painted color, Cd, to bias point placement.
  4. Combine this dense local distribution with a sparser general fracture-point distribution.
  5. Feed the combined sites into the detailed Voronoi Fracture and inspect the resulting pieces.

The mask is controlling fracture-site density, not simulation activation or glue strength at this stage. The combined distribution provides small pieces near impact and larger pieces farther away. The general sites matter because concentrating everything only in the painted patch would not give the surrounding volume the same controlled subdivision.

The source later acknowledges that some final pieces remain too long. The density treatment improves the distribution but does not establish that every fragment has a convincing shape.

Create static colliders and dynamic objects with inspectable outputs

During 20:00–26:24, end the fractured branch with another named Null. In a separate geometry object, Object Merge the earlier static-wall output. This makes the static and dynamic portions available as separate objects without rebuilding either one.

Add a sphere for the cannonball and position it in front of the intended impact region. Make the ground and surrounding wall static objects. Make the cannonball a rigid body and the fractured wall a packed RBD fractured object using the shelf workflow. Save before running the simulation.

The first simulation exposes a collision-shape problem in the static wall. Its visible pieces surround the opening, but the collision representation spans an area that should remain open. Display the collision geometry and enable the source’s per-set convex-hull option so the separate wall sections receive appropriate hulls.

Return to frame one and simulate again. Inspecting the collision representation is essential: the renderable opening and the solver’s collision opening are different representations, and a correct-looking wall alone does not prove that the ball and fragments can move through it.

The exact checkbox label is imperfectly captioned. Use the recorded static-object collision panel to identify the per-set hull setting; this guide does not claim that a single convex hull can represent an arbitrary concave wall.

Tune the impact path before adding selective release

At 26:24–31:00, use the cannonball’s initial velocity in negative Z to send it toward the wall. The instructor tries several speeds, from negative 10 through faster negative values, and returns to a slower impact to obtain more debris moving toward the camera.

Speed also affects where the ball reaches the wall after falling under gravity. The source adjusts its initial height separately to put the impact in the desired region. A ball missing the fracture patch does not necessarily indicate a collision failure; first inspect its trajectory and arrival position.

The ground is enlarged after pieces fall beyond its edge. This distinguishes fragments falling out of the scene from fragments passing through an existing collider. Re-run from the beginning after changes so the comparison uses the updated initial state.

At this point the wall begins collapsing under gravity before the ball arrives. A successful impact trajectory has not solved that structural problem.

Use glue to hold pieces together, then remove selected bonds

During 31:00–35:23, Glue Adjacent creates constraints between the fractured pieces. Increasing glue strength resists collapse, but can also prevent the desired break. Increasing the cannonball’s density then pushes the connected mass around instead of producing the intended localized destruction.

The instructor sets glue strength to negative one, which is demonstrated as unbreakable strength in this setup. This keeps bonds from failing through the ordinary strength threshold, but it does not anchor the entire assembly to the world. The tutorial’s next operation is to delete particular bonds explicitly.

The generated constraint geometry represents neighboring piece relationships with connected points and primitives. It is separate from the visible wall fragments. Removing selected constraint primitives releases relationships between pieces; it does not directly erase those pieces from the rendered wall.

Work in the generated constraint-processing network, near its Remove Broken stage. Initialize the constraint points’ color to black. Create a separate sphere with white point color to serve as the deletion mask. This sphere is a control shape, distinct from the physically simulated cannonball.

Animate the mask, promote its color and reset the simulation

At 35:23–44:58, Attribute Transfer moves the white mask color onto nearby constraint points. The constraint geometry is the receiving input; the colored sphere is the source. Its initial influence is too large, so reduce the distance threshold until only the intended impact neighborhood is affected.

Inspect the simulation to find the arrival time. In this example the collision occurs around frame 11. Key the mask sphere away from the wall at frame one and over the impact area at frame 11. These keyframes are specific to the current trajectory. Changing the ball’s speed or starting position requires checking the mask timing again.

The transferred color initially belongs to points, but the intended deletion acts on the constraint primitives. Add Attribute Promote to transfer Cd from point to primitive ownership, then use a Blast or Delete operation to remove primitives carrying the transferred nonzero color. The source describes the color comparison but does not clearly narrate a complete expression with its punctuation and vector-component handling; verify the actual field rather than treating the spoken words as executable syntax.

The first test still does not break. A warning indicates incorrect cached glue results. Reset Simulation and replay from the beginning; the edited constraint removal then takes effect. The instructor lowers the mask slightly at its keyed impact frame and resets again to improve the result.

This sequence separates three checks that should not be conflated: the transfer must color the desired region, the deletion must remove constraint primitives, and the solver must evaluate the updated constraints instead of stale cached results. Seeing a white patch alone does not establish that any glue has been released.

Compare density changes after the release mechanism works

During 45:08–49:03, the instructor compares cannonball densities around 1,000, 5,000 and 10,000. The lower trial cracks the wall without driving all the way through; the higher trial gives the desired penetration. A wall-density change is also tried and then returned to the lower value.

These values are artistic trials for this geometry, speed and constraint arrangement. They are not material measurements or a general impact recipe. Density affects mass together with an object’s volume, so copying the numbers onto differently sized geometry does not establish the same collision.

Review the later frames as well as the impact. Partly supported fragments can settle and fall after the initial strike. The final demonstration retains those delayed movements rather than stopping the simulation immediately after the ball passes through.

Assign fracture materials and distinguish viewport display from render output

At 49:09–58:02, create a camera and frame the impact, trying a lower, wider view for depth. The example uses an 800-by-800 render and explores a focal length of 35 after starting at 50. These are composition choices. Unlock the camera after framing so subsequent viewport navigation does not move it unintentionally.

Add an environment light and enable rendering its light geometry for the desired background. The Voronoi Fracture’s inside and outside groups provide separate material targets: the source uses orange for newly exposed interior faces and black for the exterior and ground. Assign materials at the relevant wall-output branches, retaining the generated group distinctions.

The simulated wall appears gray in the viewport even though the test render has the intended materials. The instructor changes the DOP Import mode to fetch unpacked geometry to obtain the expected viewport colors. This is a display/import representation correction in the shown scene, not evidence that the successful render required a new shader assignment.

Inspect a broken frame to judge the inside material. An intact wall can conceal its internal faces, so the absence of orange before impact is not itself an assignment failure.

Enable object motion blur and evaluate the remaining fragment problem

During 58:02–1:03:01, allowing motion blur on the Mantra render node is not sufficient by itself. The instructor also enables velocity motion blur on the cannonball and dynamic wall through their render sampling settings. A test frame then shows blur on the moving object, and the same treatment is applied to the moving fragments.

Save the scene, change the render from a single frame to a frame range, and inspect the whole simulation before choosing its end. Small pieces continue settling late in the example, so the full timeline is retained rather than assuming the action ends at the main impact.

The final playback reveals long, thin fragments that the instructor considers unnatural. Increasing interior fracture points is suggested as a way to improve them, but that revised fracture and a new simulation are not demonstrated. Preserve that as a remaining modeling task. The lesson establishes a useful localized release workflow and rendered example, with manually coordinated timing and a known fragment-shape limitation.