home about gallery publications education links forum contact


..::icey age::..

Before we start, let’s get a few facts sorted out. Max4’s own particle system is not all that great, especially when working with instanced geometry - Motion blur can go a little awry when working with deflectors and the particles don’t “stick in the ground” in the same direction that they were traveling. Add to this if you’ve got any rotation going on then your particles will just sit there and spin until hell freezes over. But now for the good part – we can use anything as a particle emitter and even particles themselves, which will help us greatly as we progress through this task.

Ice Age was put together by a multi-million dollar studio over a number of years. We’re going to try this in about an hour or so, so you can expect some quality difference! The first thing to sort out will be our geometry for our cliffs, snow-covered ground and sky. The cliffs are two separate objects – one main cliff and one that falls. In the included scene on the cover cd you will notice that there is a duplicate of the cliff objects. This is so the rendered version is high polygon, but any selection areas generated from the cliff’s surface area interacting with the ground (which is tessellated in specific area for extra detail) is created by the low poly version. This therefore keeps calculation times down in the viewport and allows us to work faster.

The initial mound of snow at the base of the cliffs is generated by displacing the snow plane object around the area beneath them. This is produced by using a Volume Select modifier with the entire cliffs chosen as the selection area, falloff on this selection to create a gradual strength and finally an Xform modifier to move the cliffs. These modifiers are used as they are simple to use and also allow us to refine geometry further down the stack later on if required as no actual mesh editing has occurred. The falling ice block also displaces the snow as it falls and travels across the scene. This displacement is created in the same way as we created the initial buildup of snow at the base of the cliffs, but this time animate the position of the second Xform modifier so the selection area is raised gradually as the ice falls and travels across the scene.

The ice shards are never seen in the film to begin to emit from anything – they simply appear, so the next part is simply guesswork about when they are emitted. A basic geometry emitter is created at the base of the moving ice block and it linked to the cliff with it’s link inheritance limited to the direction of the moving ice to prevent any unwanted translation. Using a Particle Array system, we can choose the object as the emitter, edit the particle type to tetra (or use instanced geometry if preferred) and edit the lifespan, birth, size, death and other relevant parameters such as rotation due to direction of travel. Add a little gravity to make the particles fall back down to the snow plane after they are emitted, and create a deflector with 0 bounce and 100% friction to make them stick in the snow. This, unfortunately, can flip the particles around so that they are not sticking out of the ground at the same angle that they were traveling, but as the scene is moving quite quickly, this isn’t that much noticeable. A Mesher compound object is created and the particle array system is chosen. This compound object allows us to edit particles as if they were geometry (kind of a snapshot every frame), and therefore can be used as another particle emitter. Another particle system is created, set to facing particles, assigned a soft snow dust material and the Mesher compound object as the emitter. The mesher object is then hidden.

Enlarge Screenshot Load in the icey_age_initial.max file into 3ds max 4. A quick analysis of the scene shows that there are different versions of objects for the ice cliffs – a low and high polygon version for the falling ice chunk and the same for the remaining stationary cliffs. There is also an entire low poly cliff mesh to initially displace the surface. The high poly chunk is also linked to the animated low polygon chunk.
Enlarge Screenshot Select the ground snow plane. Note that there has been some tessellation to the surface to add extra detail in our displacements. Add a Volume Select modifier and select the Ice Cliffs Proxy mesh as the Volume type. Change the selection level to vertex and increase the soft selection falloff to 500 with a pinch of 1.26. Add an Xform modifier and move the gizmo along the Z axis to raise the level of snow around the base of the cliffs. Hide the Cliffs Proxy object.
Enlarge Screenshot Add a little variation on the surface by adding a Mesh Select modifier to clear the selection and add a Noise modifier or two to randomize the surface a little. Using the previous step’s method, we can now displace the snow for the moving ice chunk. Create another Volume Select modifier and with the same settings (apart from Falloff set to 800 and Pich to -2), select the Ice Chunk Proxy object as the Volume type. Hide the Ice Chunk Proxy object. Scrubbing the timebar will show the surface being deformed by the ice as it passes through the geometry.
Enlarge Screenshot Unhide the “Shards Emitter”. This is a non-renderable piece of geometry shaped to emit the particles and linked to the low poly ice chunk so it only inherits it’s forward motion. Create a Gravity Spacewarp and point it downward. Create a Deflector Spacewarp and size and position it so it is encompassing the snow plane’s geometry and is at the same position along the Z axis.
Enlarge Screenshot Create a Particle Array system and select the Shards Emitter object as the particle emitter. Amend the speed spinner to 50 and Use Rate to 40 (these can be animated if required). Set the Emit Start to 100, Emit Stop to 400, Life to 400, Particle Size to 70, Particle Size Variation to 100 and Grow and Fade to 0. Set the Standard Particle Type to Tetra, and the Spin Axis to Direction of Travel. Set the Spin time to 0. Assign the Ice material to the particles. Bind the two Spacewarps to the particle system.
Enlarge Screenshot Create a Mesher Compound Object. In the Modifier panel, select the particle system as the chosen object. Scrub the timeline forward and add a Volume Select modifier to the Mesher. Select Face selection, check on Invert and check off Auto Fit. Move and scale the Gizmo so that the stationary particles on the deflector are not selected (ie within the Gizmo’s boundary). Create another Particle Array System and select the Mesher object as the emitter. Check on Use Selected Sub-Objects. Set the Use Rate to 100, Start spinner to 100, Stop to 400, Display Until to 400, Life to 15, Variation to 10, Size to 200, Variation to 20, Grow for 15 and set the Spin Time to 100, Assign the Snow Dust material to the particle system. Hide the Mesher object.
Enlarge Screenshot The cliffs are simple polygons refined to create the smooth and slightly rough ice. The meshsmooth finishing modifier can be turned off if you like it a bit more rough!
Enlarge Screenshot And the final render. Instanced geometry has been used in this instance with a lot of object motion blur. You may wish to use image motion blur for your scene to keep those render times down…
Download the max file! Zip file to accompany - You may need to remap the "sky intense.bmp" file when loading the scene into 3ds max.

..::tips::..

Additional debris like smaller shards can be created by cloning the initial particle system, amending particle types, particle sizes and death rates so they just simply trail off the further they travel from the emitter. Don’t forget to use a different seed for the particle system though!

To enable the particles to gradually appear and not just all “turn on”, you may wish to animate the birth rates, sizes and speed of the main particle “shards” and offset the animation so it co-incides with the falling of the ice block.

Try creating various types of shard as geometry and using these as the particle type. However, using the deflector spacewarp on a Particle Array system that uses instanced geometry as the main particle type can result in motion blur not working properly, or at all.

Third party particle systems such as Particle Studio or Thinking Particles would be excellent to recreate this effect, and would not create any motion blur or rotational problems due to their event-driven architecture. Additionally, better smoke and dust effects could be created using volumetric plugins such as Afterburn or Pyrocluster.

The sense of scale does not exist in the scene… create a decent background plate for the ice block to cast a shadow onto. Also, place the odd pine tree here and there so when we view the scene we can see the respective size of the ice blocks!

As the particles come to rest in the snow plane, you may wish to displace the snow around the individual particle. This can be accomplished by creating a Volume Select modifier on the plane and selecting the particle as the selection method with slight falloff on vertices and extra soft-selection bubble to create slight mounds. Add another Xfrom modifier to the plane and displace it to generate the impression of the snow being moved when the particle hits the plane.

Initially published: 3D World magazine, Issue 29, September 2002.

Copyright © Pete Draper, September 2002. Reproduction without permission prohibited.

www.xenomorphic.co.uk