Piles Of Rubble
By Neil Blevins
Created On: Feb 26th 2007
Updated On: June 27th 2009

Go here to read this tutorial in Russian.

Here's a tutorial discussing how to make piles of rubble. I use reactor in this lesson, but below that I have some suggestions on other ways to make rubble, and I may expand those suggestions into mini-lessons in the future.

Rubble Using Reactor

1) First I made some simple pieces of rubble. These are all just poly modeled boxes with a simple concrete material applied. If this was a real production, I'd add much more detail, but these should be fine to show off the technique. Also, make sure their pivots are in the center of the objects.

Figure 1

2) I create a simple ground plane.

3) I use the clone function to place a whole bunch of the debris objects above the ground plane (I use instance to save on memory). Make sure none of them interpenetrate. Also, play with different positions of the objects to get different types of piles.

Figure 2

4) Randomly scale and rotate the objects. To do this, I used the transformRandomizer script available at http://www.neilblevins.com/cg_tools/soulburnscripts/soulburnscripts.htm. Because their pivots are at the center, you can rotate them around their center point using the script (just make sure "Use Pivot Point Center" is used on your Main Toolbar).

Figure 3

5) Go to Create -> Helpers -> Reactor -> RBCollection and add all your objects.
6) Select the ground plane, Go to Utilities -> Reactor -> Properties, check unyielding and Concave Use Mesh (choose other options if your ground plane isn't a perfectly flat plane)
7) Select your debris objects, Go to Utilities -> Reactor -> Properties, choose a large mass, say 500 kg, and a friction of 0.9.
8) Adjust the Col Tolerance value in the World rollout. Reducing this means objects are more accurate when they try and avoid interpenetrating. For the size of my scene, 0.5 works well.
9) Go to the Preview & Animation rollout of Reactor, click Preview In Window
10) In the reactor window, press Simulation -> Play. Pause it after all the rubble comes to rest. Don't worry if some of the rubble pieces fall off the edge. Either make your ground plane bigger, or just delete those objects once you return to max.
11) Choose Max -> Update Max in the reactor window
12) Close the Reactor Window, now you have your pile of rubble.
13) Do a cleanup phase. Due to limitations in your Reactor settings, you may find some of your debris is floating ever so slightly above other debris or the ground plane, etc. A quick check for interpenetrating will solve this, and you may need to move an object or two to avoid any obvious overlaps.

Figure 4

And there you have it, a nice easy quick pile of rubble. Here's a max file you can use (max 8 format).

Other techniques to try...

1) Use the scatter compound object to place tons of debris on the ground. Make sure to use some sort of random face selection on your distribution object so you don't get a uniform distribution. The two issues with this technique is objects will interpenetrate each other, and you won't get objects piled on top of one another other.

2) Use Peter Watje's scatter utility instead of the built in max scatter, http://www.maxplugins.de/max8.php?search=scatter&sort=Author. The advantage of this is you have more control over distribution, and adding multiple types of geometry. The disadvantage is it's not a procedural object, so once you've created it, you can't easily go back and tweak its creation parameters.

3) Pflow particle system, with it you can distribute objects based off bitmaps, which might be useful for adding specific types of debris in specific places over a large surface quickly. Check my Replacing Scatter Using Pflow lesson for more information.

4) Use the script called objectDropper http://www.neilblevins.com/cg_tools/soulburnscripts/soulburnscripts.htm. This does a similar job to reactor, except again, it won't keep the objects from interpenetrating, and you can't say have the pieces bounce or slide a little once they hit the ground.

5) Use the Advanced Painter http://www.scriptspot.com/start.asp?p=main_scripts&Sort=Name&BrowseType=Search&SearchField=advanced+painter to paint objects on the ground.

6) Use the objectPainter script http://www.neilblevins.com/cg_tools/soulburnscripts/soulburnscripts.htm, which is very similar to Advanced Painter, except a little more functionality, and is more recently updated.

7) Use some sort of texture and displacement material to add wreckage looking stuff on the ground for cheap.

And remember, all these techniques can be mixed together too, so you can use the technique that's best for placing whatever sort of debris you want to place. Like maybe do most of your small rubble using scatter, then place a few larger hero pieces using the reactor technique.


This site is ©2009 by Neil Blevins, All rights are reserved.
Back to NeilBlevins.com