home about gallery publications education links contact

..::scene construction effect::..

There are a few ways to perform this effect. Animating geometry either by animating a subtractive Boolean Operand or Slice modifier is the first, but is very awkward to produce due to the Boolean failing or Slice producing wayward results. The second would be a plugin solution; there are several out there which do the job effectively, but at a cost. The third, and most effective (apart from the plugin solution) would be material-based.

Analysing the problem, we need to produce a ‘wave’ that constructs the wireframe mesh, fill-shades it, then textures & lights the object(s). Due to some limitations of Max’s materials, and this technique, we will unfortunately have to duplicate every mesh element in the scene that is to be ‘constructed’. This shouldn’t have too much effect on rendering times as the mesh copy should have cast & receive shadows turned off, no light being cast on it, excluded from all raytracing (etc). The reason we are copying the mesh is due to the Wireframe material. We would assume that we would create a Composite or Blend material to mix the Wireframe, Wave & Textured materials. This wouldn’t work due when the Wireframe material has been introduced to the Blend, it turns the entire Blend material to wire, hence the mesh copy.

With the Wireframe material (with additive transparency) assigned to this mesh copy, the blend of the Wave & Textured material can be created, with a Gradient Ramp Map in the Mix slot. This should have an unused Map id assigned and be set up to mix the materials half and half (or whatever your preference). In the Wave material, another Gradient Ramp Map with the same id should be created in the Diffuse slot to colour the wave accordingly, also another in the Opacity slot should you wish to fade it in or out before the Texture material is blended in. A Gradient Ramp Map with the same id should also be created in the Opacity slot of the Wireframe material to fade it in and out.

With these materials now assigned to the scene, an instanced UVW Map modifier should be created on both wireframe and wave/textured meshes and it’s id set to that in the Gradient Ramp Maps. Remove all tiling from the Gradient Ramp Maps to eliminate the materials appearing outside the UVW Map’s Gizmo, and position the Gizmo outside the mesh’s boundaries. Note that you may need to amend or invert the Gradient Ramp’s colours in the Opacity and Mix slots due to the now solid colour outside the Gizmo as tiling has now been removed. To see this, turn on Show Map in Viewport in the Gradient Ramp Map and ensure that the material should not be viewed outside the Gizmo by performing a few test renders.

Animate the Gizmo passing over the meshes and when rendered you should see the scene begin to ‘construct’. You may need to scale the Gizmo up further and/or amend the Gradient Ramp key positions so the Textured area remains and is not cut off by the following edge of the Gizmo.

This effect can also be used on multiple objects in the scene; the scene should be collapsed to one mesh, and then treated as one simple object as before. The materials and material id’s will remain, and the resulting Multi/Sub-Object material should be extracted to blend with the Wave material.

Enlarge ScreenshotThe main components of the construction consist of a wireframe material with additive transparency, a Wave materials and the final fully shaded material.
Enlarge ScreenshotMultiple objects & materials can be used if all are collapsed to one mesh then the materials extracted & mixed with the Wave material to fade them in.
Download the max file!
Zip file to accompany - 3ds max scene & sample animation of the main components.

Initially published: 3D World magazine, Issue 15, August 2001.

Copyright © Pete Draper, August 2001. Reproduction without permission prohibited.