| Modeling
with the Snapshot Tool
Ted Boardman tedb@tbmax.com
http://www.tbmax.com
Not
much more snow has fallen this month, but there certainly isn’t
much less out there, either. It’s not bad though; I drive
a VW GTI (small car) and am able to use the snow-covered driveway
to my advantage. I back quickly out of the garage, slam on the brakes,
and spin the steering wheel quickly while I shift from reverse to
first. In one motion I’m at the end of my driveway, headed
out. It makes any passengers a little woozy, but I get a kick out
of it.
I also
get a kick out of using the Snapshot tool in max and VIZ. It’s
an underutilized command that has been around for quite a while,
which is a shame because it can be an interesting way to model,
although that’s not what it was necessarily designed to do.
This
month I’ll show a couple of examples of how I use Snapshot.
The prime function is useful both max and VIZ, but some other examples
are only usable in max 4 or 5. Learn what it does and you should
be able to develop new ways of working with it, too.
What is Snapshot
Snapshot was a tool that was an extremely powerful way to create
complex arrays of objects and I still find it useful in that roll.
Simply put, if you have an animated object you can take snapshots
of the object at frames of it’s animate to create clones.
A good example would be a line of fence posts that wind up over
a hill.
Create
a path over the hill and animate one post to travel along the path.
TIP: use Constant Velocity and/or Normalize Spline if you want equally
spaced posts. Once animated, go to Tools, Snapshot and set the number
of clones you want. Viola’, a row of fence posts appear along
the path. The original animated post is still in the scene so you
would have to delete it, usually.
An
example of where I have used Snapshot in this manner is for a piece
of artwork that was hanging in a clients lobby that they were not
looking forward to reproducing in max because of the handwork involved.
It consisted of a column of cloth triangles on a wall that were
spaced equally and each was rotated slightly to create a fan effect
projecting from the wall.
The
easy solution was to animate one triangle moving and rotating 180
degrees up the wall. Then use Snapshot to make each copy. Figure
1 shows an example of what I mean with 20 clones. No math or calculations
required.

Figure 1: Reconstructed artwork using one animated
triangle and the Snapshot tool.
Snapshot
can be used in max and VIZ to help reduce the overhead caused by
Displacement Mapping, too. In an example of a mountainous landscape,
I used a Swirl map in the Displacement slot of a material and applied
it to a dense Plane primitive in the scene. See Figure 2 for the
resulting landscape.

Figure 2: Complex landscape made from Displacement Map and Snapshot
for an mesh that can easily be optimized. TIP: the appearance of
the sun backlighting the mountains is enhanced by applying a Falloff
map in the Self-Illumination slot of the landscape material.
In
order to see the mesh in the viewport while working, I had applied
a WorldSpace *DisplaceMesh modifer. The overhead of the dense mesh
and the calculations of DisplaceMesh can slow the workflow for the
fastest machines and Collapse doesn’t work on WorldSpace modifiers.
Snapshot
came to the rescue again. Once I had the landscape adjusted to my
liking, I used Snapshot to create a single new Mesh; a clone won’t
gain anything in this case. I could then delete the original and
apply and Optimize modifier to the new mesh to reduce the density
to a manageable and visibly acceptable level.
In
my newest book, 3ds max 5 Fundamentals by New Riders, I use Snapshot
to make copies of a bird’s wing that can be used as morph
targets. The process uses a Quadpatch that has been modified to
represent the flow of air under a bird’s wing as it flies.
The wing then gets a *PatchDeform WorldSpace modifier to cause it
to deform to the surface. I then move it across the surface and
make Snapshots of the wing in various positions. While VIZ doesn’t
have object morphing capabilities, this method can still be use
to generate some very complex objects that might otherwise be difficult
to model.
Use
of Snapshot with 3ds max
There
are some applications of Snapshot that are only valid in 3ds max
4 and 3ds max 5. For example I needed to create some icicles recently
(see Figure 3). I started with a SuperSpray particle system that
was set to MetaParticles with a large Size setting and a slow Speed
setting and the display set to 100 percent of the particles. See
Figure 4 for the relevant settings for my example. When I had the
object to my liking, I used Snapshot for a mesh copy for my scene.

Figure 3: Icicles outside a window created from a SuperSpray particle
system and Snapshot.

Figure
4: The basic SuperSpray settings to create a reasonable icicle.
All
sorts of random static masses could be created with the combination
of Particle Systems and Snapshot. For example, rather than the overhead
of a particle system waterfall, you might be able to create the
water with the particle system, snapshot a copy, and apply an animated
material for a much less intensive solution than the “live”
particles. Or, perhaps a rock cliff or smoke from a chimney, once
you know the potential you should be able to come up with your own
uses.
Reactor
and Snapshot in 3ds max 5
Reactor,
the dynamics tool that is included in 3ds max 5 is primarily considered
a special effects tool and, for that reason, I have seen only limited
use of it in production environments to date. However, using it
in combination with Snapshot opens a new world of possibilities
for general use.
I taught
an advanced modeling class recently at Virtual Partners in Green
Bay, WI http://www.virtualpartners.com
for a company that creates the glass blocks with laser cut objects
inside. They are often given as trophies or gifts by companies to
their best customers or employees and may contain scenes a diverse
as game fish, sports figures, vehicles, buildings, or company logos.
The
process is to generate a 3d model of the object with the necessary
detail, then to process the model in software that reads the xyz
surface data and translates it into code that the laser cutters
can use to melt a void in the glass, leaving what appears to be
a wire frame model inside.
One
of the objects that is popular with them these days is flags of
various kinds and they were not happy with the results or the time
involved in using FFD modifiers, SoftSelection methods, or Patch
objects to generate natural looking folds. I wasn’t sure if
Snapshot worked on objects with Reactor solutions, but thought it
was easy enough to find out.
Here
I’ll give two examples of solutions that fit their needs explicitly,
saving much production time and resulting in a better looking mesh.
One example is a flag hanging from a flagpole at an angle as if
it were mounted on the side of a building. The other example is
the canvas top on a covered wagon like the Conestoga wagons that
roamed the western plains of the US and Canada. The same techniques
could be used to create bedspreads, tablecloths, drapes, and clothing
for characters.
The
method uses the reactorCloth modifier and rigid bodies in the scene.
A
Covered Wagon
In
this scene I lofted an Ellipse along a path to create a bow that
would support the canvas top of a covered wagon. I then arrayed
it to make three copies.
The
canvas top is a Plane primitive with 30 Length and Width segments
that has been placed about 2 feet above the bows in the scene. See
Figure 5.

Figure
5: Four lofted bows with a 30 x 30 segment Plane placed about 2
feet above. Two Reactor objects can be seen to one side of the mesh
objects.
1.
From the Create, Helpers, Reactor menu choose RBCollection and pick
in a viewport. Then click CLCollection and pick near it in the same
viewport. This creates the necessary Reactor objects.
2. Select the Plane and, in the Modify panel, Modifier List, choose
reactorCloth. The default settings will be fine to start.
3. Select the RBCol object and, in the Modify panel, click the Add
button. Choose the bow objects from the list. Do not
add the Plane object. This lets reactor know these objects are classified
as Rigid Bodies.
4. Select the four bow objects in the scene and go to Utilities
panel, Reactor, Properties. Near the bottom of the panel, in the
Other Properties area, check the Unyielding option. This tells the
bows not to react to gravity and not to move when struck by other
reactor objects.
5. Select the CLCol object in the viewport and, in the Modifiy panel,
pick the Add button, and choose Plane in the list. Plane will not
show in the list if you have not applied the reactorCloth modifier
in step 2.
6. In the Utilities panel, Animation & Export rollout, check
Update Viewports and click the Perform Simulation button. Reactor
gravity will pull the Plane into contact with the bows and the dynamics
will deform the cloth over them.
7. When the simulation is complete, drag the Frame Slider to a frame
where the cloth looks the way you want and use Snapshot from the
Tools pull-down menu to create a new Mesh object.
8. You can then trim and modify the new object as you would any
other mesh.
9. You can also change the parameters in the reactorCloth modifier
for to adjust for weight, air resistance, stiffness, etc for a different
draping effect. Then run the simulation again.
See
Figure 6 for the result of my example with some of the Cloth settings.

Figure 6: Settings and resulting mesh generated quickly with Reactor
Cloth. Snapshot can be used at one or more frames to create various
mesh objects.
A
Draped Flag
This
scene is similar and has four objects: a Cylinder flagpole, a Plane
flag, a RBCollection, and a CLCollection. This exercise has an extra
process and modifier that allows you to attach one side of the flag
to the flagpole.
The
flagpole must be added to the RBCollection and it’s properties
must be set in Utilities panel to be Unyielding so it won’t
fall with gravity. The flag Plane, that has 30 segments in each
direction, has the reactorCloth modifier applied, then is added
to the CLCollection.
You
must then apply a MeshSelect modifier to the Plane, go to sub-object
Vertex and select the row of vertices closest to the flagpole. While
still in Vertex sub-object mode, apply a reactorAttachToRB modifier
and choose the flagpole as the Rigid Body object. I apply a new
MeshSelect to that to return control back to the whole plane. It’s
not necessary for this example, but is a good habit to get into.
Perform
the simulation in the Utilities panel, Reactor panel, Animation
& Export rollout. When the simulation is complete use Snapshot
to copy one or more draping flags to new Mesh objects. See Figure
7 for an example showing my reactorCloth settings and the end results.

Figure 7: ReactorCloth example using reactorAttachToRB modifier
to restrain the edge of the flag to the flagpole.
Summary
You
now have a good reason to “play” with Reactor, no matter
what your application of 3ds max 5 is (or 3ds max 4 with the Reactor
plug-in) is. You also have some new modeling weapons in your arsenal
that will work in both 3ds max and VIZ. The key to the process is
the old standby called Snapshot that often never gets the respect
it deserves.
Try
experimenting and see what you can come up with for variations using
the other Reactor tools like Water, Soft Bodies, and Rope collections.
Good
luck and have fun.
Ted
DOWNLOAD
MAX FILES (2.00MB)
|