Introduction to 3dsMax Particles

Written January 26th, 2009
Categories: Animation / Rigging, Articles, Effects
No Comments »

Ever seen a movie that had sparks flying out of control panels?  Or maybe you’ve always wanted to have smoke coming out of your character’s ears when he’s mad?  Those are particle effects, and you’ll find that they’re a breeze in 3dsMax when you use the right tools.

Particles are what artists use when they need a lot of objects, but don’t want to model or animate them by hand.  Particle systems create, animate, and destroy objects according to a set of rules.  These rules can be very basic, like “create 10 spheres per frame, starting at frame 0″.  These are known as non-event-driven particle systems. 3dsMax particle systems can also be quite complex!  Take, for example, the motion of soap bubbles in the air.  They float quasi-randomly and if they touch, they stick together.  If they touch another object, they’ll pop, and sometimes they just pop for no reason at all. This might be considered an event-driven particle system since the bubbles are subject to a variety of possible events.

We won’t be getting into the very gritty how-to details of particles during this tutorial.  I’d like spend most of this guide walking you through the concepts involved in using basic particle emitters because 90% of the time they’ll do the job just fine.  Toward the end of the tutorial I’ll introduce you to the particle flow and particle view tools that 3dsMax has to offer.  This last segment will show you just how complicated your particles can be!

But don’t worry.  At the end of the day, particles are meant to make your life easier, not harder. This walkthrough shouldn’t take more than about 30 minutes to complete, and when you’re done you’ll have a good exposure to the o

Non-Event-Driven Particle Systems

Let’s have a look at the simplest particle systems.  I’ve gone ahead and created a simple scene to help illustrate the effects of my changes to the particle system.  You can play with settings that correspond to what you’re learning about, or just skim the tutorial to get an idea of how particles work.

Spray and Super Spray

3dsMax particle systems.

Spray and super spray are basically the same thing.  Super spray includes all the functionality of the basic spray, so most of the time you’ll opt for this particle system.  I’m going to dive into some examples of using super spray since it’s a great starting place for getting acquainted with 3dsMax particles.  You can find the super-spray object under the create panel, under the objects category, and in the “Particle Systems” group.

Once you’ve selected the “Super Spray” object, you can click and drag on your screen to create a particle system.  The size of the emitter will not determine how large the emitter is, but the position and orientation will determine the origin and direction of your new particle spray.

Now if you’re working from the default file, and still on time t=0, then you probably don’t see any particles at all.  This is because particles are time based; they don’t happen instantly.  Go ahead and scrub the time-slider at the bottom of your screen and you’ll see particles being emitted from your super spray object.  You can also hit the “>” key a few times and you’ll step along the animation by a few keyframes.

Let’s take a closer look at the super spray and it’s parameters.  It may seem a little tedious since there are so many rollouts, but remember that a lot of the foundations we lay out here will help you when we’re looking at the other particle emitters and event-driven particle systems later on.  I’ll try to keep things concise, but I’ve gone ahead and included the full rollouts on the left side.  It shows every parameter in the super spray object.

Basic Parameters

Semi-planar particle emission.

Particle system basic parameters.

The basic parameters rollout will allow you to make changes to the direction that the particles flow, as well as how they’re displayed in the 3dsMax viewport.  The off axis and spread parameters control how the particles are spread out over a single plane.  Imagine a Japanese fan spreading out.  It starts off as a single bar, and then fans out along a plane.  Both of these “Off axis/plane” controls handle the rotation of the emitter, while the “Spread” controls handle the range over which the particles may be emitted.

The off plane and spread parameters, control how that 2-dimensional fan of particles is spread out over all 3 dimensions.  If all four of these parameters is set to their maximal values, we’d expect to see a perfect circular particle emission.  Such an effect would be useful for explosions or 360-degree emissions like meteors.

Finally, we have control over how the particles are displayed in the 3dsMax viewport.  It’s generally recommended that you keep as few particles displayed as possible.  10% can sometimes be too high for particles like dust, clouds, and steam where you only need to see a very small fraction of the particles to understand their overall flow.  Each particle that the computer has to draw is another drag on performance- even if they’re just ticks.

Particle Generation

Particle generation parameters rollout.

Particle generation parameters are geared around how the particles behave and act during and after creation.  Oddly, this includes parameters like speed, sizing, and timing, but not parameters like rotation and shape.  Think this is wierd?  Me too.

The first two parameters, “Use Rate” and “Use Total” cover the speed at which particles are generated.  A rate is how many new particles should be created every frame, while a total is how many particles should be generated between when the emitter starts and when it stops.  Thus 200 total over 50 frames (4 particles per frame) will generate fewer particles than a rate value of 5.  This works in conjunction with particle timing, which controls aspects of the particles like how long they should be generated for, how long they should live, and the variability of that lifespan.  I say this because you’ll often find that fewer, older, larger particles can often do the job of more, faster, smaller particles.

It’s sad, but particles die too.  If they didn’t, your scene would be overrun with particles that drag performance into the ground.  Remember to set a tight life for your particles to keep your render times down, and you’ll be fine.  The variability aspect gives you some randomness for your particle emission, and works great for things like smoke and sparks.

Finally, particle size controls how big the particles are, how variable their sizing should be, and how they should grow and fade over time.  If your particle’s life is set for 30 (that’s 30 frames) and they grow for 10 (frames) and fade for 10 (frames), then your particles are at maximum size for only 10 frames.  If you set the grow and fade to only 2, then you have particles appearing almost instantly at full size and vanishing just as quickly.

As a brief note, the uniqueness parameter is for randomizing multiple emitters.  For example, if you have 3 smoke stacks on a factory, you’ll want to set different seed values for each smoke stack to keep them looking different.

Particle Type

Particle types rollout.

The particle type rollout handles parameters that affect the particle’s type and appearance.

There are three general particle types; Standard Particles, MetaParticles, and Instanced Geometry.  The first is simply the creation of a massive number of primitive objects.  Some of these standard particles are obvious like sphere and cube.  “Facing” creates planes that face the camera on every frame, which works well for smoke and cartoon snow.  The “Special” is two squares intersecting at 90 degrees, while the “SixPoint” is made of two rotated triangles to form a star.  The constant is a facing square that is always the same size regardless of distance from the camera.  The “Tetra” is a 3d pyramid shape made of four triangles.  Notice that there are only three 3d shapes on this list; the rest are planar!

Metaparticles are similar to metaballs which are common across many 3d graphics programs.  3dsMax uses them to approximate fluid dynamics and other “goopy” effects.  The special traits here are tension, variation, and evaluation.  Tension controls how close the metaballs need to be to each other in order to deform and “goop” together.  A low tension value means a high likelihood that particles will merge in flight.  Variation controls the variance on this value, while evaluation handles the quality of the effect.  A low evaluation coarseness means a very crisp result, while a high value means a very rough result.

Metaball emitter. Fun!

The “One Connected Blob” parameter is a lot of fun.  It culls stray particles from the render and keeps only the largest connected blob of the particle emitter.  Useful for an “oh no; it’s growing!” type effect (seen here).

Finally, the instanced geometry object type is relatively self-explanatory.  It allows the emitter to blow out copies of an object you’ve already created.  This works well for leaves, tennis balls, lawn mowers, or whatever else you can think of.  Nothing’s more fun than raining televisions through your 3dsMax scene.

You’re able to control the sub-animation of the object (for example if those lawn mowers are engaged) as well as the material source.  You can chose to obtain the instanced geometry’s material from the icon (i.e. you can apply a material to the emitter itself) or from the original geometry source.

Rotation and Collision

Particle rotation and collision.

This next rollout handles how 3dmax handles the rotation of the particles, as well as the inter-particle collisions.

The particle rotation is more important for some particles than for others.  For example bubbles and water won’t create any visible effects from rotation.  On the other hand, cartoon-y snow flakes rely on the effect quite heavily.  The spin time parameter determines how many key frames there are during a full 360-degree rotation of the particle.  A high value here will slow down the particle rotation considerably, but a value of zero will provide no rotation at all!

The “phase offset” controls the initial offset for the particle rotation.  Don’t worry, the varying particle ages (and variation on spin time) will keep your particles from rotating all together.

The spin axis control handles the base rotation for the objects.  Some 3d objects will rotate over a predefined axis- like tires.  Others have no particular rotation like our tennis ball example earlier.  Thus, you may choose between a random spin axis (full 3d spin), direction of travel spin (holding the directional vector spin-less), or arbitrary spin directions (set your own spin levels).  The direction of travel spin is probably the hardest to describe or understand.  Imagine a propeller of an aircraft moving forward through space.  It’s rotating over one degree (spinning) but not the other two (tumbling and twisting).

Inter-particle collisions is a massively intensive process that checks for particles striking and bouncing off one another.  This is useful for small numbers of detailed particles like throwing televisions or bouncing tennis balls around.  However, do not turn this feature on unless you’re looking for “broadcast quality” effects because it will slow down your render times considerably.  Calculation intervals per frame control how often 3dsMax checks for inter-particle collisions, while the bounce coefficient and variation control how much speed the particles should retain when they bounce off of each other.  I can’t stress this enough, do not turn this on unless it’s really necessary!

Object Motion Inheritance and Bubble Motion

3dsMax particle motion inheritance.

These two rollouts are pretty straightforward.

The first controls how the particles should inherit the emitter’s motion and keyframing.  While this might sound silly, think about how your emitter might be moving.  That new space-ship might look extra cool if it’s gravi-pads could shoot out sparks during flight!  Or maybe it’s taking damage and throwing gibs that need to fall away during the great escape sequence.  Thus, you need to allow the particles to take on some or all of the motion of the parent emitter in order for the particles (especially heavy ones) to be emitted properly.

Bubble motion is what bubbles exhibit as they move upward through water.  They wiggle randomly during motion.  Similarly, you’re able to append an amplitude (severity of the effect), period (the amount of time to complete a single “wobble”, and phase (synchronicity across emitters).

Particle Spawn and Presets

Finally, we have particle spawn and presets.  I’m not going to go into a lot of detail on these last two rollouts, as they’re not really suitable for this walkthrough.

The super spray presets are pretty self-explanatory.  This rollout contains a number of pre-built emitter settings and it provides you the ability to create your own.

The particle spawn group controls “advanced” particle spawning procedures such as what kind of spawning procedure should take place when particles collide, die, or continue.  To die on collision will destroy the particles that’ve struck a deflector (more on this later).  By this point, you should be able to deduce what “spawn on collision” and “spawn on death” imply.  Show trails will create new particles every keyframe, which can be useful for certain effects such as fireworks or sparks.

The directional chaos, speed chaos, and scale chaos groups have to do with the spawning of new particles (spawn on collision, spawn on death, and spawn trails).

Note that these high-end settings allow you to create fantastic effects such as fire, complex explosions, and more.  By spawning many smaller particles from a larger one, you can simulate how an object might burn or subdivide while animated.  Directional chaos controls the variance in the sub-particle’s direction.  Speed operates in much the same way.  Scale chaos handles the sizing of the sub-particles.

Other Particle Emitters

Alright!  So we’ve had a long hard look at the super spray particle system in 3dsMax.  But what about the other emitters?  Lucky for us, particles have a finite span of concepts, and we’ve already covered 95% of them!  The remaining particle systems like snow and pCloud are just different combinations of the same idea.

Snow

Snow is an optimized particle generator geared toward creating snow or confetti.  What separates snow from spray is that the snow particle emitter can generate particles over an area rather than from a single point like the spray.  There aren’t many parameters to this emitter- only the basics.  Emission speed, timing, particle type (six point, triangle, or facing), particle size, and rotation.  That’s it.

Blizzard

Blizzard is to snow as super spray is to spray.  The 3dsMax blizzard particle emitter is basically a snow emitter but with much greater control.  You have access to very similar controls as the super spray emitter like object motion inheritance, collision control, and presets.  3dsMax blizzard particle emitters still retain their most important characteristic; area particle generation.

pArray

Left to Right: Edges, Vertices, Faces.

Ah the particle array!  This fantastic mechanism allows you to spread particles over the surface of an object rather than simply flying through the air.  This is a very different concept than the other particle emitters, so I’d like to spend a little more time discussing it’s importance and uses.

The particle array can be used for a variety of tasks.  For example, you could spread water droplets over a product, or rocks and trees throughout a meadow.  The pArray emitter is often used for populating a plant with twigs and leaves to create a tree or shrub.  This geometry based distribution is a very powerful tool.  The best part is, you’re already familiar with most of the parameters that pArray uses like collision handling and particle object types.

pCloud

Particles in a volume defined by a teapot.

The 3dsMax particle cloud is another powerful tool.  Similar to the particle array, the cloud allows you to fill an object’s volume with particles!  This could mean anything from schools of fish to a ring of asteroids filling a massive torus.  You can use this emitter to create a wide variety of effects.  The only distinguishing feature of this emitter (and it’s parameters) is that you must select a bounding volume (cube, sphere, cylinder, or an object you created).  You can see this emitter in action on the right, where I’ve filled a teapot with spheres.

Remember that pClouds and pArrays can be used to great effect in your 3d modeling as well as your animations.  For both single images and animations, these two tools are quite valuable for adding detail beyond what you can do by hand.

Forces and Deflectors

Particle deflectors in the walls.

What good are particles if they can’t be controlled?  That’s why we have forces and deflectors available to us.  Deflectors are typically quasi-objects that help keep particles from doing unusual things like going through walls or characters.  If we wanted, it’s possible to make particles use the object mesh for collision detection every time.  But the better route is to approximate the shape using cubes, spheres, and planes whenever we can.  Forces are useful for directing the flow of particles so that we don’t have to keyframe them by hand to create complicated effects like tornados, explosions, and wind.

Let’s run through some of the simpler forces and deflectors and see how they can be useful when working with 3dsMax particles.

How and Where

Here's where you can find deflectors.

You can find forces and deflectors under the pulldown in the create panel under the space warps group.  Each of these objects can be created in the same way as ordinary spheres and cubes; by clicking and dragging.  However, in order to have them affect a 3dsMax particle emitter, forces and deflectors must be “bound”.  You’ll find the “bind spacewarp” tool in your main toolbar along the top of the screen.

Here's where you can find the bind spacewarp button.

You use it by starting with the spacewarp selected and click-dragging to the emitter.  This will bind them together, and you’ll see the effect in two ways.  First, the modifier stack of the emitter will have a “Binding” modifier showing you that it was effective.  You should also see some effect on the particles in real time.

Deflectors

Deflectors are ways of controlling particle flow by preventing them from penetrating geometry that’s supposed to be solid. But why not have an option to prevent penetration of any polygons? Because the process can become processor intensive very, very quickly. While I’m not saying you need to use deflectors sparingly, you should give 3dsMax the luxury of some approximation. If your space-ship is a flying saucer, just approximate it with a squashed sphere.

That said, let’s have a look at the various deflector types! Imagine deflectors as a combination of 2 factors; shape and functionality.

Shapes

Deflector shapes in 3d Studio Max.

There are three shapes in the deflector selection; spherical, planar, and universal. The first two are self-explanatory; they’re shaped as the name suggests. The universal deflectors are based on geometry that you specify. This means you can have that battle cruiser pushing asteroids out of the way perfectly. However, remember that this could tax your system heavily, so it’s a good idea to create a low-polygon mesh that can act as a proxy for the real 3d model.

In the image on the left, I show you how each of these shapes act. I’ve created mesh objects to represent the 3 deflectors in the render. The torus object is an approximated version using much fewer polygons than the rendered object has.

Functionality

Next, there are three functional flavors of deflectors; ordinary, dyna-flect, and omni-flect. The first type of deflector is a highly simplified version of the deflector idea.  Think of these as similar to our spray versus super spray concept described earlier. The next, dyna-flect, is for use with reactor objects and other reactive bodies. You’d use it when you need the target object to respond to being struck by particles (like tank armor deflecting bullets but getting dented).

Very briefly, what makes omni-flect deflectors special compared to ordinary deflectors, is that they provide many additional features. Allow me to summarize them here:

  1. Reflection parameters – the ability to tweak how “bouncy” particles are as they strike the deflector.
  2. Refraction parameters – for particles that penetrate the deflector, you can chose to have some of them follow a “tweaked” bearing. Note that reflection is calculated before refraction, so if you wanted half of the particles reflected and then the other half refracted you’ll need to set 50% reflection and 100% refraction.
  3. Friction parameters – for glancing angles and particles that’ve come to rest on the deflector, the friction parameter helps them slow to a stop. This is useful for large numbers of objects subject to gravity.
  4. Spawn reactivity – for particles that have options controlling how they spawn on collision, these parameters let you tweak that for each deflector. For example, if your sparks strike concrete, they’ll break apart and spawn more sparks, whereas if they hit the welder’s clothing, they could just stick and then die in a few frames.

Forces

Example particle forces in 3dsMax.

Forces allow you to direct the flow of 3dsMax particles without having to bounce them around with deflectors.  Think of forces as the “go here” command to the deflector’s “don’t go there” command.  You can combine forces to create very specific and complicated effects like galaxies, tornadoes, and harsh weather effects.

You create and bind these forces in the same way that you would for a deflector.  Just select the object, click-drag to create it in your scene, and then use the “Bind Spacewarp” tool to link it into your particle system.  Let’s take a look at each type of particle emitter in 3dsMax.  To aid in visualization, I’ve included some of the images from the help document.  I’m sorry I can’t include them all; there are a lot of space warps in 3dsMax!

  1. Push - Exactly as it sounds; this force will consistently push particles in a single direction.  This force is acceleration, so the older a particle is, the faster it’ll move!
  2. Motor - Operates similarly to the push force, but it applies a rotation at the same time.  Remember spin art? It’s a lot like that.  Because the “Motor” icon rotates your particles around it’s axis, the orientation is important!
  3. Vortex - Operates essentially like a push and a motor at the same time.  It applies a “swirling” motion in order to form a funnel similar to a tornado, black hole, or water spout.
  4. Drag - Lowers the speed of particles as they age.  You know how bullets slow down quickly as they enter water?  And that’s why action heroes always jump off the boat in order to get away from the bad guys?  That’s the effect that the drag force creates.
  5. Pbomb - Provides a shockwave that blows particles apart.  Very simple to implement because it is essentially only timing and intensity parameters.
  6. Path Follow – Forces particles to follow a spline as they move.  The key to remember here is that you can either have the particles follow the path as they exit the emitter, or follow the path as they come near a certain area.
  7. Gravity - Operates exactly as it sounds.  Gravity exerts a constant, uniform pull on all particles in a given direction.  You can also exert spherical gravity, which is very fun for modeling little galaxies and watching them congeal!
  8. Wind - Wind is a lot like gravity in that it applies an omnipresent, uniform force from a direction.  However, wind has many more options for simulating turbulence and non-uniformity over time.  In conjunction with snow or blizzard particle generators, you can make some very convincing weather effects.
  9. Displace - A very fun space warp.  The displace operation will deform both particle systems and geometry!  This is a big deal because it helps you bridge the divide between special, custom objects (like your character) and particles (like rain).

So far we’ve only looked at particle emitters, space warps, and deflectors.

3dsMax particle emitters will generate particles according to predetermined criteria. While they vary from emitter to emitter, the fact is that they’re static implementations of a more diverse idea. The space warps and deflectors have the capacity to alter the behavior of the particles, but not really their look and feel.

That’s why we have access to a powerful tool called Particle Flow. It allows us to customize the rules and procedures that govern the timing, motion, and look of particles.

Particle Flow

Next to the Snow, Blizzard, and super spray particle emitters in the 3dsMax interface, you probably noticed that there’s one I didn’t mention; “PF Source”.  It’s full title is read as “particle flow source”, and it acts as the main conduit for creating very extensible particle systems.  Go ahead and create one in your scene, and, under the modify panel, click the “Particle View” button from the “Setup” group.

Beginning 3dsMax particle flow.

I realize that this window is terrifying.  Autodesk does not do well in creating a clean and easy interface.  However, their engineers are a credit to the industry, so once you get past the cold interaction you’re on top of the heap.

Understanding the terminology of the window will help you understand what each of the 4 quadrants are.  The particle flow diagram is made up of events that contain “actions”.  In the upper-left quadrant of the window, the default events contain actions like “Birth”, “Position”, and “Speed”.  These actions contain parameters similar to the ones you saw in snow and super spray earlier.  These parameters are displayed in the upper-right quadrant of the window when you’ve selected an action in the particle flow view.

An age test connected to a material change.

The lower right quadrant is called the “depot” and it provides access to all of the possible actions in particle flow.  You can drag and drop these actions into the events in the particle flow diagram in order to affect your particles.  For example, if we wanted to change the particle material after 30 frames, we’d use an age test, followed by a “Material Static” action.  This effect is shown on the right.  The resultant particle flow diagram is shown on the left. Finally, the lower-right quadrant shows you a quick description when you select an action from the depot.  It’s useful for understanding if the action you’ve selected will actually do what you want it to.

Particles over 10 frames old are blue.

Whew!  That’s a lot to take in, huh?  Take your time and don’t get overwhelmed!  This will feel like second nature to you in one or two projects.  Even better, you’ll be adding a skill to your toolset that will make you a much more valuable artist.

Above you saw how I created a custom event that would have never been possible with ordinary particle understanding.  In this way, I can create a wide variety of complicated effects for both still renders and animations.  Let’s try making one more complex interaction, and then we’ll call it a day.

Green, smaller balls have bounced.

I’m going to create a deflector in my particle flow that’s going to bounce the balls off of the floor.  When the balls bounce, I want them to turn green, and get smaller.  I’ll do this by creating a “Collision Test” at the very end of “Event 01″ which will ensure that the collision test takes place after the age test.  This way balls that bounce will be green regardless of their age, but blue balls can bounce and turn green.  In the upper-right quadrant, when I select the collision test I created, I can set the floor deflector as part of the particle flow system.  Once the planar deflector is in place, I can simply drag a “Material Static” and “Shape” actions into the particle flow diagram, and link the event into the flow diagram.  It’s important to note that I need to link the age test into the final collision event, or I’ll end up with blue spheres falling through the floor and green sphere’s bouncing back up!

The final particle flow for this example.

Key Takeaways

  1. Particles save you time – The fact is that you shouldn’t have to model large numbers of objects very often, and even reactor can only go so far.  You’d be surprised how applicable particles are in working with 3dsMax.  Any effects that need a large number of objects can be replicated using the standard particle tools available in the program.
  2. Deflectors are for control – Use deflectors to control your particles.  Think of them as the banisters on the side of the freeway.  Your particles need to know where they aren’t allowed to go.  This means anything from preventing penetration of walls and characters, to handling complex interactions like a car plowing through gunfire.
  3. Forces are for flow – Use forces to direct your particles.  This is different from deflectors because you’re providing the impetus for your particles do what they were intended to do.  Think of forces as the freeway itself- it tells your particles where they’re expected to go.
  4. Particle Flow is amazing – Particle flow is, indeed, amazing.  It gives you the ultimate level of control over particles in 3dsMax.  You can set up infinitely complex rules that govern how your particles look, where your particles go, and how they’re presented when rendered.  You can link age to material like we did in the example above, but don’t let that limit your imagination!  Make particle flow rate variable over time, or try making your particles glow using mental ray materials!  The sky’s the limit.

I hope you’ve enjoyed this particles walkthrough.  If you have any questions or comments, feel free to leave them on this post, or e-mail me at MrBluesummers@MrBluesummers.com  As always, take care.  Happy modeling.

Particles Part 2

Written January 26th, 2009
Categories: Blog
No Comments »
Rotation and Collision
Particle Generation

Particle Generation

This next rollout handles how 3dmax handles the rotation of the particles, as well as the inter-particle collisions.

The particle rotation is more important for some particles than for others.  For example bubbles and water won’t create any visible effects from rotation.  On the other hand, cartoon-y snow flakes rely on the effect quite heavily.  The spin time parameter determines how many key frames there are during a full 360-degree rotation of the particle.  A high value here will slow down the particle rotation considerably, but a value of zero will provide no rotation at all!

The “phase offset” controls the initial offset for the particle rotation.  Don’t worry, the varying particle ages (and variation on spin time) will keep your particles from rotating all together.

The spin axis control handles the base rotation for the objects.  Some 3d objects will rotate over a predefined axis- like tires.  Others have no particular rotation like our tennis ball example earlier.  Thus, you may choose between a random spin axis (full 3d spin), direction of travel spin (holding the directional vector spin-less), or arbitrary spin directions (set your own spin levels).  The direction of travel spin is probably the hardest to describe or understand.  Imagine a propeller of an aircraft moving forward through space.  It’s rotating over one degree (spinning) but not the other two (tumbling and twisting).

Inter-particle collisions is a massively intensive process that checks for particles striking and bouncing off one another.  This is useful for small numbers of detailed particles like throwing televisions or bouncing tennis balls around.  However, do not turn this feature on unless you’re looking for “broadcast quality” effects because it will slow down your render times considerably.  Calculation intervals per frame control how often 3dsMax checks for inter-particle collisions, while the bounce coefficient and variation control how much speed the particles should retain when they bounce off of each other.  I can’t stress this enough, do not turn this on unless it’s really necessary!

Object Motion Inheritance and Bubble Motion
Particle Generation

Particle Generation

These two rollouts are pretty straightforward.

The first controls how the particles should inherit the emitter’s motion and keyframing.  While this might sound silly, think about how your emitter might be moving.  That new space-ship might look extra cool if it’s gravi-pads could shoot out sparks during flight!  Or maybe it’s taking damage and throwing gibs that need to fall away during the great escape sequence.  Thus, you need to allow the particles to take on some or all of the motion of the parent emitter in order for the particles (especially heavy ones) to be emitted properly.

Bubble motion is what bubbles exhibit as they move upward through water.  They wiggle randomly during motion.  Similarly, you’re able to append an amplitude (severity of the effect), period (the amount of time to complete a single “wobble”, and phase (synchronicity across emitters).

Particle Spawn and Presets

Finally, we have particle spawn and presets.  I’m not going to go into a lot of detail on these last two rollouts, as they’re not really suitable for this walkthrough.

The super spray presets are pretty self-explanatory.  This rollout contains a number of pre-built emitter settings and it provides you the ability to create your own.

The particle spawn group controls “advanced” particle spawning procedures such as what kind of spawning procedure should take place when particles collide, die, or continue.  To die on collision will destroy the particles that’ve struck a deflector (more on this later).  By this point, you should be able to deduce what “spawn on collision” and “spawn on death” imply.  Show trails will create new particles every keyframe, which can be useful for certain effects such as fireworks or sparks.

The directional chaos, speed chaos, and scale chaos groups have to do with the spawning of new particles (spawn on collision, spawn on death, and spawn trails).

Note that these high-end settings allow you to create fantastic effects such as fire, complex explosions, and more.  By spawning many smaller particles from a larger one, you can simulate how an object might burn or subdivide while animated.  Directional chaos controls the variance in the sub-particle’s direction.  Speed operates in much the same way.  Scale chaos handles the sizing of the sub-particles.

Other Particle Emitters

Alright!  So we’ve had a long hard look at the super spray particle system in 3dsMax.  But what about the other emitters?  Lucky for us, particles have a finite span of concepts, and we’ve already covered 95% of them!  The remaining particle systems like snow and pCloud are just different combinations of the same idea.

Snow

Snow is an optimized particle generator geared toward creating snow or confetti.  What separates snow from spray is that the snow particle emitter can generate particles over an area rather than from a single point like the spray.  There aren’t many parameters to this emitter- only the basics.  Emission speed, timing, particle type (six point, triangle, or facing), particle size, and rotation.  That’s it.

Blizzard

Blizzard is to snow as super spray is to spray.  The 3dsMax blizzard particle emitter is basically a snow emitter but with much greater control.  You have access to very similar controls as the super spray emitter like object motion inheritance, collision control, and presets.  3dsMax blizzard particle emitters still retain their most important characteristic; area particle generation.

pArray
Distributions from left to right: Edges, Vertices, Faces.

Distributions, left to right: Edges, Vertices, Faces.

Ah the particle array!  This fantastic mechanism allows you to spread particles over the surface of an object rather than simply flying through the air.  This is a very different concept than the other particle emitters, so I’d like to spend a little more time discussing it’s importance and uses.

The particle array can be used for a variety of tasks.  For example, you could spread water droplets over a product, or rocks and trees throughout a meadow.  The pArray emitter is often used for populating a plant with twigs and leaves to create a tree or shrub.  This geometry based distribution is a very powerful tool.  The best part is, you’re already familiar with most of the parameters that pArray uses like collision handling and particle object types.

pCloud
Particles in a volume defined by a teapot.

Particles in a volume defined by a teapot.

The 3dsMax particle cloud is another powerful tool.  Similar to the particle array, the cloud allows you to fill an object’s volume with particles!  This could mean anything from schools of fish to a ring of asteroids filling a massive torus.  You can use this emitter to create a wide variety of effects.  The only distinguishing feature of this emitter (and it’s parameters) is that you must select a bounding volume (cube, sphere, cylinder, or an object you created).  You can see this emitter in action on the right, where I’ve filled a teapot with spheres.

Remember that pClouds and pArrays can be used to great effect in your 3d modeling as well as your animations.  For both single images and animations, these two tools are quite valuable for adding detail beyond what you can do by hand.

Forces and Deflectors

Deflectors in the walls.

Deflectors placed in the walls.

What good are particles if they can’t be controlled?  That’s why we have forces and deflectors available to us.  Deflectors are typically quasi-objects that help keep particles from doing unusual things like going through walls or characters.  If we wanted, it’s possible to make particles use the object mesh for collision detection every time.  But the better route is to approximate the shape using cubes, spheres, and planes whenever we can.  Forces are useful for directing the flow of particles so that we don’t have to keyframe them by hand to create complicated effects like tornados, explosions, and wind.

Let’s run through some of the simpler forces and deflectors and see how they can be useful when working with 3dsMax particles.

How and Where
Heres where you find Deflectors and Forces.

Here's where you find Deflectors and Forces.

You can find forces and deflectors under the pulldown in the create panel under the space warps group.  Each of these objects can be created in the same way as ordinary spheres and cubes; by clicking and dragging.  However, in order to have them affect a 3dsMax particle emitter, forces and deflectors must be “bound”.  You’ll find the “bind spacewarp” tool in your main toolbar along the top of the screen.

Bind spacewarp button

Bind spacewarp button

You use it by starting with the spacewarp selected and click-dragging to the emitter.  This will bind them together, and you’ll see the effect in two ways.  First, the modifier stack of the emitter will have a “Binding” modifier showing you that it was effective.  You should also see some effect on the particles in real time.
Learn more about forces and deflectors on the next page!

Particles Part 1

Written January 26th, 2009
Categories: Blog
No Comments »

Ever seen a movie that had sparks flying out of control panels?  Or maybe you’ve always wanted to have smoke coming out of your character’s ears when he’s mad?  Those are particle effects, and you’ll find that they’re a breeze in 3dsMax when you use the right tools.

Particles are what artists use when they need a lot of objects, but don’t want to model or animate them by hand.  Particle systems create, animate, and destroy objects according to a set of rules.  These rules can be very basic, like “create 10 spheres per frame, starting at frame 0″.  These are known as non-event-driven particle systems. 3dsMax particle systems can also be quite complex!  Take, for example, the motion of soap bubbles in the air.  They float quasi-randomly and if they touch, they stick together.  If they touch another object, they’ll pop, and sometimes they just pop for no reason at all. This might be considered an event-driven particle system since the bubbles are subject to a variety of possible events.

We won’t be getting into the very gritty how-to details of particles during this tutorial.  I’d like spend most of this guide walking you through the concepts involved in using basic particle emitters because 90% of the time they’ll do the job just fine.  Toward the end of the tutorial I’ll introduce you to the particle flow and particle view tools that 3dsMax has to offer.  This last segment will show you just how complicated your particles can be!

But don’t worry.  At the end of the day, particles are meant to make your life easier, not harder. This walkthrough shouldn’t take more than about 30 minutes to complete, and when you’re done you’ll have a good exposure to the options available to you.

Non-Event-Driven Particle Systems

Let’s have a look at the simplest particle systems.  I’ve gone ahead and created a simple scene to help illustrate the effects of my changes to the particle system.  You can play with settings that correspond to what you’re learning about, or just skim the tutorial to get an idea of how particles work.

Spray and Super Spray

Both event and non-event-driven particle emitters

Both event and non-event-driven particle emitters

Spray and super spray are basically the same thing.  Super spray includes all the functionality of the basic spray, so most of the time you’ll opt for this particle system.  I’m going to dive into some examples of using super spray since it’s a great starting place for getting acquainted with 3dsMax particles.  You can find the super-spray object under the create panel, under the objects category, and in the “Particle Systems” group.

Once you’ve selected the “Super Spray” object, you can click and drag on your screen to create a particle system.  The size of the emitter will not determine how large the emitter is, but the position and orientation will determine the origin and direction of your new particle spray.

Now if you’re working from the default file, and still on time t=0, then you probably don’t see any particles at all.  This is because particles are time based; they don’t happen instantly.  Go ahead and scrub the time-slider at the bottom of your screen and you’ll see particles being emitted from your super spray object.  You can also hit the “>” key a few times and you’ll step along the animation by a few keyframes.

Let’s take a closer look at the super spray and it’s parameters.  It may seem a little tedious since there are so many rollouts, but remember that a lot of the foundations we lay out here will help you when we’re looking at the other particle emitters and event-driven particle systems later on.  I’ll try to keep things concise, but I’ve gone ahead and included the full rollouts on the left side.  It shows every parameter in the super spray object.

Basic Parameters
A semi-planar emission.

A semi-planar emission.

Basic Parameters

Basic Parameters

The basic parameters rollout will allow you to make changes to the direction that the particles flow, as well as how they’re displayed in the 3dsMax viewport.  The off axis and spread parameters control how the particles are spread out over a single plane.  Imagine a Japanese fan spreading out.  It starts off as a single bar, and then fans out along a plane.  Both of these “Off axis/plane” controls handle the rotation of the emitter, while the “Spread” controls handle the range over which the particles may be emitted.

The off plane and spread parameters, control how that 2-dimensional fan of particles is spread out over all 3 dimensions.  If all four of these parameters is set to their maximal values, we’d expect to see a perfect circular particle emission.  Such an effect would be useful for explosions or 360-degree emissions like meteors.

Finally, we have control over how the particles are displayed in the 3dsMax viewport.  It’s generally recommended that you keep as few particles displayed as possible.  10% can sometimes be too high for particles like dust, clouds, and steam where you only need to see a very small fraction of the particles to understand their overall flow.  Each particle that the computer has to draw is another drag on performance- even if they’re just ticks.

Particle Generation
Particle Generation

Particle Generation

Particle generation parameters are geared around how the particles behave and act during and after creation.  Oddly, this includes parameters like speed, sizing, and timing, but not parameters like rotation and shape.  Think this is wierd?  Me too.

The first two parameters, “Use Rate” and “Use T0tal” cover the speed at which particles are generated.  A rate is how many new particles should be created every frame, while a total is how many particles should be generated between when the emitter starts and when it stops.  Thus 200 total over 50 frames (4 particles per frame) will generate fewer particles than a rate value of 5.  This works in conjunction with particle timing, which controls aspects of the particles like how long they should be generated for, how long they should live, and the variability of that lifespan.  I say this because you’ll often find that fewer, older, larger particles can often do the job of more, faster, smaller particles.

It’s sad, but particles die too.  If they didn’t, your scene would be overrun with particles that drag performance into the ground.  Remember to set a tight life for your particles to keep your render times down, and you’ll be fine.  The variability aspect gives you some randomness for your particle emission, and works great for things like smoke and sparks.

Finally, particle size controls how big the particles are, how variable their sizing should be, and how they should grow and fade over time.  If your particle’s life is set for 30 (that’s 30 frames) and they grow for 10 (frames) and fade for 10 (frames), then your particles are at maximum size for only 10 frames.  If you set the grow and fade to only 2, then you have particles appearing almost instantly at full size and vanishing just as quickly.

As a brief note, the uniqueness parameter is for randomizing multiple emitters.  For example, if you have 3 smoke stacks on a factory, you’ll want to set different seed values for each smoke stack to keep them looking different.

Particle Type
Particle Generation

Particle Type

The particle type rollout handles parameters that affect the particle’s type and appearance.

There are three general particle types; Standard Particles, MetaParticles, and Instanced Geometry.  The first is simply the creation of a massive number of primitive objects.  Some of these standard particles are obvious like sphere and cube.  “Facing” creates planes that face the camera on every frame, which works well for smoke and cartoon snow.  The “Special” is two squares intersecting at 90 degrees, while the “SixPoint” is made of two rotated triangles to form a star.  The constant is a facing square that is always the same size regardless of distance from the camera.  The “Tetra” is a 3d pyramid shape made of four triangles.  Notice that there are only three 3d shapes on this list; the rest are planar!

Metaparticles are similar to metaballs which are common across many 3d graphics programs.  3dsMax uses them to approximate fluid dynamics and other “goopy” effects.  The special traits here are tension, variation, and evaluation.  Tension controls how close the metaballs need to be to each other in order to deform and “goop” together.  A low tension value means a high likelihood that particles will merge in flight.  Variation controls the variance on this value, while evaluation handles the quality of the effect.  A low evaluation coarseness means a very crisp result, while a high value means a very rough result.

A metaball particle emitter

A metaball particle emitter. Fun!

The “One Connected Blob” parameter is a lot of fun.  It culls stray particles from the render and keeps only the largest connected blob of the particle emitter.  Useful for an “oh no; it’s growing!” type effect (seen here).

Finally, the instanced geometry object type is relatively self-explanatory.  It allows the emitter to blow out copies of an object you’ve already created.  This works well for leaves, tennis balls, lawn mowers, or whatever else you can think of.  Nothing’s more fun than raining televisions through your 3dsMax scene.

You’re able to control the sub-animation of the object (for example if those lawn mowers are engaged) as well as the material source.  You can chose to obtain the instanced geometry’s material from the icon (i.e. you can apply a material to the emitter itself) or from the original geometry source.

Learn more about particle emitters on the next page!

Particles Part 4

Written January 26th, 2009
Categories: Blog
No Comments »

So far we’ve only looked at particle emitters, space warps, and deflectors.

3dsMax particle emitters will generate particles according to predetermined criteria. While they vary from emitter to emitter, the fact is that they’re static implementations of a more diverse idea. The space warps and deflectors have the capacity to alter the behavior of the particles, but not really their look and feel.

That’s why we have access to a powerful tool called Particle Flow. It allows us to customize the rules and procedures that govern the timing, motion, and look of particles.

Particle Flow

Next to the Snow, Blizzard, and super spray particle emitters in the 3dsMax interface, you probably noticed that there’s one I didn’t mention; “PF Source”.  It’s full title is read as “particle flow source”, and it acts as the main conduit for creating very extensible particle systems.  Go ahead and create one in your scene, and, under the modify panel, click the “Particle View” button from the “Setup” group.

This is the default particle flow window.

This is the default particle flow window.

I realize that this window is terrifying.  Autodesk does not do well in creating a clean and easy interface.  However, their engineers are a credit to the industry, so once you get past the cold interaction you’re on top of the heap.

Understanding the terminology of the window will help you understand what each of the 4 quadrants are.  The particle flow diagram is made up of events that contain “actions”.  In the upper-left quadrant of the window, the default events contain actions like “Birth”, “Position”, and “Speed”.  These actions contain parameters similar to the ones you saw in snow and super spray earlier.  These parameters are displayed in the upper-right quadrant of the window when you’ve selected an action in the particle flow view.

An age test connected to a material change

An age test connected to a material change

The lower right quadrant is called the “depot” and it provides access to all of the possible actions in particle flow.  You can drag and drop these actions into the events in the particle flow diagram in order to affect your particles.  For example, if we wanted to change the particle material after 30 frames, we’d use an age test, followed by a “Material Static” action.  This effect is shown on the right.  The resultant particle flow diagram is shown on the left. Finally, the lower-right quadrant shows you a quick description when you select an action from the depot.  It’s useful for understanding if the action you’ve selected will actually do what you want it to.

Particles over 10 frames old turn blue.

Particles over 10 frames old turn blue.

Whew!  That’s a lot to take in, huh?  Take your time and don’t get overwhelmed!  This will feel like second nature to you in one or two projects.  Even better, you’ll be adding a skill to your toolset that will make you a much more valuable artist.

Above you saw how I created a custom event that would have never been possible with ordinary particle understanding.  In this way, I can create a wide variety of complicated effects for both still renders and animations.  Let’s try making one more complex interaction, and then we’ll call it a day.

The green balls are the onces that bounced.

The green balls are the onces that bounced.

I’m going to create a deflector in my particle flow that’s going to bounce the balls off of the floor.  When the balls bounce, I want them to turn green, and get smaller.  I’ll do this by creating a “Collision Test” at the very end of “Event 01″ which will ensure that the collision test takes place after the age test.  This way balls that bounce will be green regardless of their age, but blue balls can bounce and turn green.  In the upper-right quadrant, when I select the collision test I created, I can set the floor deflector as part of the particle flow system.  Once the planar deflector is in place, I can simply drag a “Material Static” and “Shape” actions into the particle flow diagram, and link the event into the flow diagram.  It’s important to note that I need to link the age test into the final collision event, or I’ll end up with blue spheres falling through the floor and green sphere’s bouncing back up!

The final particle flow.

The final particle flow including the "blue" age test, and the "green" collision test.

Key Takeaways
  1. Particles save you time – The fact is that you shouldn’t have to model large numbers of objects very often, and even reactor can only go so far.  You’d be surprised how applicable particles are in working with 3dsMax.  Any effects that need a large number of objects can be replicated using the standard particle tools available in the program.
  2. Deflectors are for control – Use deflectors to control your particles.  Think of them as the banisters on the side of the freeway.  Your particles need to know where they aren’t allowed to go.  This means anything from preventing penetration of walls and characters, to handling complex interactions like a car plowing through gunfire.
  3. Forces are for flow – Use forces to direct your particles.  This is different from deflectors because you’re providing the impetus for your particles do what they were intended to do.  Think of forces as the freeway itself- it tells your particles where they’re expected to go.
  4. Particle Flow is amazing – Particle flow is, indeed, amazing.  It gives you the ultimate level of control over particles in 3dsMax.  You can set up infinitely complex rules that govern how your particles look, where your particles go, and how they’re presented when rendered.  You can link age to material like we did in the example above, but don’t let that limit your imagination!  Make particle flow rate variable over time, or try making your particles glow using mental ray materials!  The sky’s the limit.

I hope you’ve enjoyed this particles walkthrough.  If you have any questions or comments, feel free to leave them on this post, or e-mail me at MrBluesummers@MrBluesummers.com  As always, take care.  Happy modeling.

Particles Part 3

Written January 26th, 2009
Categories: Blog
No Comments »

Deflectors

Deflectors are ways of controlling particle flow by preventing them from penetrating geometry that’s supposed to be solid. But why not have an option to prevent penetration of any polygons? Because the process can become processor intensive very, very quickly. While I’m not saying you need to use deflectors sparingly, you should give 3dsMax the luxury of some approximation. If your space-ship is a flying saucer, just approximate it with a squashed sphere.

That said, let’s have a look at the various deflector types! Imagine deflectors as a combination of 2 factors; shape and functionality.

Shapes
Demonstrating deflector shapes.

Demonstrating deflector shapes.

There are three shapes in the deflector selection; spherical, planar, and universal. The first two are self-explanatory; they’re shaped as the name suggests. The universal deflectors are based on geometry that you specify. This means you can have that battle cruiser pushing asteroids out of the way perfectly. However, remember that this could tax your system heavily, so it’s a good idea to create a low-polygon mesh that can act as a proxy for the real 3d model.

In the image on the left, I show you how each of these shapes act. I’ve created mesh objects to represent the 3 deflectors in the render. The torus object is an approximated version using much fewer polygons than the rendered object has.

Functionality

Next, there are three functional flavors of deflectors; ordinary, dyna-flect, and omni-flect. The first type of deflector is a highly simplified version of the deflector idea.  Think of these as similar to our spray versus super spray concept described earlier. The next, dyna-flect, is for use with reactor objects and other reactive bodies. You’d use it when you need the target object to respond to being struck by particles (like tank armor deflecting bullets but getting dented).

Very briefly, what makes omni-flect deflectors special compared to ordinary deflectors, is that they provide many additional features. Allow me to summarize them here:

  1. Reflection parameters – the ability to tweak how “bouncy” particles are as they strike the deflector.
  2. Refraction parameters – for particles that penetrate the deflector, you can chose to have some of them follow a “tweaked” bearing. Note that reflection is calculated before refraction, so if you wanted half of the particles reflected and then the other half refracted you’ll need to set 50% reflection and 100% refraction.
  3. Friction parameters – for glancing angles and particles that’ve come to rest on the deflector, the friction parameter helps them slow to a stop. This is useful for large numbers of objects subject to gravity.
  4. Spawn reactivity – for particles that have options controlling how they spawn on collision, these parameters let you tweak that for each deflector. For example, if your sparks strike concrete, they’ll break apart and spawn more sparks, whereas if they hit the welder’s clothing, they could just stick and then die in a few frames.

Forces

Forces allow you to direct the flow of 3dsMax particles without having to bounce them around with deflectors.  Think of forces as the “go here” command to the deflector’s “don’t go there” command.  You can combine forces to create very specific and complicated effects like galaxies, tornadoes, and harsh weather effects.

You create and bind these forces in the same way that you would for a deflector.  Just select the object, click-drag to create it in your scene, and then use the “Bind Spacewarp” tool to link it into your particle system.  Let’s take a look at each type of particle emitter in 3dsMax.  To aid in visualization, I’ve included some of the images from the help document.  I’m sorry I can’t include them all; there are a lot of space warps in 3dsMax!

  1. Push - Exactly as it sounds; this force will consistently push particles in a single direction.  This force is acceleration, so the older a particle is, the faster it’ll move!
  2. Motor - Operates similarly to the push force, but it applies a rotation at the same time.  Remember spin art? It’s a lot like that.  Because the “Motor” icon rotates your particles around it’s axis, the orientation is important!
  3. Vortex - Operates essentially like a push and a motor at the same time.  It applies a “swirling” motion in order to form a funnel similar to a tornado, black hole, or water spout.
  4. Drag - Lowers the speed of particles as they age.  You know how bullets slow down quickly as they enter water?  And that’s why action heroes always jump off the boat in order to get away from the bad guys?  That’s the effect that the drag force creates.
  5. Pbomb - Provides a shockwave that blows particles apart.  Very simple to implement because it is essentially only timing and intensity parameters.
  6. Path Follow – Forces particles to follow a spline as they move.  The key to remember here is that you can either have the particles follow the path as they exit the emitter, or follow the path as they come near a certain area.
  7. Gravity - Operates exactly as it sounds.  Gravity exerts a constant, uniform pull on all particles in a given direction.  You can also exert spherical gravity, which is very fun for modeling little galaxies and watching them congeal!
  8. Wind - Wind is a lot like gravity in that it applies an omnipresent, uniform force from a direction.  However, wind has many more options for simulating turbulence and non-uniformity over time.  In conjunction with snow or blizzard particle generators, you can make some very convincing weather effects.
  9. Displace - A very fun space warp.  The displace operation will deform both particle systems and geometry!  This is a big deal because it helps you bridge the divide between special, custom objects (like your character) and particles (like rain).

Learn more about advanced particle flow on the next page!

Clay Rendering vs Ambient Occlusion

Written January 25th, 2009
Categories: Effects, Rendering / Compositing, Videos
3 comments

Clay rendering in 3dsMax is probably the most important skill every arch-viz student and practitioner should have. It not only lets you rapidly create good looking renders for the client, but it also helps you down the line when composting your final shots.

This Monday Movie looks at the difference between a traditional clay render, an ambient occlusion render, and an ambient occlusion pass. The differences are crucial to knowing when to use one over the other. To summarize, the clay render is the easiest to setup but the slowest to render and least flexible of the 3. The ambient occlusion render is harder to set up, but it’s got more flexibility to it. However, neither one can replace a true ambient occlusion pass, which is always good to know how to do.

Note that I don’t cover how to get your AO pass to handle displacement and bump-maps. We’ll have to cover that another day! By the way, is this not the crispest YouTube embed you’ve ever seen?

Good News/Bad News

Written January 24th, 2009
Categories: Blog
No Comments »

Hey everyone,

This is just a quick blog update; I don’t have new tutorials today. The bad news is that by using WordPress, I’ve exposed myself to every Pyroxin, Detromethanol, and Mydixadrupin spammer on the planet. This means that my responses to post comments is going to be delayed or halted for the time being. I’m really really sorry!

The good news is that I’m experimenting with some new techniques for my Monday Movies. This means sharper, better sounding video embeds on the site! You’ll love it!

This week’s topic is going to be a fascinating look at various clay rendering techniques. I’d also like to get a particle flow primer coming down the pipe, but I’ve started playing EVE Online, which has grossly impacted my productivity.

More to follow!

Introduction to Anti-Aliasing

Written January 18th, 2009
Categories: Articles, Rendering / Compositing
2 comments

Hello Everyone,

So we’ve all heard about anti-aliasing, but what is it really?  In this tutorial I’ll be giving you a background on what anti-aliasing and sub-sampling mean in 3dsMax so that you can jump into a production setting with some understanding right off the bat.  We’ll start off by looking at anti-aliasing in the scanline renderer, followed by sub-sampling in the scanline renderer and mental ray, and finally we’ll review anti-aliasing in mental ray.

What is Anti-Aliasing and Sub-Pixel Sampling?

Rendering in 3dsMax is a very literal process.  The renderer takes samples of what the camera sees and converts them into pixels.   Only the geometry at the very center of the pixel is considered.  Sub-pixel sampling and anti-aliasing are two sides of the same coin.  One operates before the pixel is rendered, while the other operates afterward.  Sub-pixel sampling is the process of taking more than one sample per pixel and blending them together before the pixel is returned as part of the image.  Anti-aliasing is taking the pixels after they’ve been produced in the image and blending them together to remove harsh edges.

Notice the jagged edges.

Notice the jagged edges in the version without anti-aliasing!

That said, sub-pixel sampling is a smarter but more intense process, so there needed to be a way to quickly take the edge off the final image.  That’s why we have anti-aliasing.  Note that anti-aliasing and sub-pixel sampling take time, and disabling them will make your renders go faster (though they aren’t as pretty).

But what methods of anti-aliasing and sub-pixel sampling are best?  There have been several revolutions on both fronts in 3dsMax.  mental ray and the scanline renederer have methods that each deliver a distinct (albeit subtle) flavor of image smoothing.  Let’s blast through examples of each and get acquainted with the options available.

Scanline Anti-Aliasing

What I’m going to do here is elaborate on the descriptions provided in the 3dsMax help file.  The fact is that whoever wrote this particular article didn’t really go into much detail about what each method looks like, so I’m going to fill in the gaps for you.  Each of these renders was taken at the resolution you see on your screen, and each method was left on default values.  I used a marble texture because it has plenty of hard edges to be smoothed.

Method Description Comments Image
Area

(default)

Computes antialiasing using a variable-size area filter. This is the original 3ds Max filter. The original filter isn’t bad. Think of it as a gentle Gaussian blur. Area
Blackman A 25-pixel filter that is sharp, but without edge enhancement. This one is a little tighter than the Area method, but it doesn’t explicitly sharpen the image. Area
Blend A blend between sharp area and Gaussian soften filters. Wicked blurry for this resolution, but otherwise a nice smoothing method.  Notice the edges are still crisp. Area
Catmull-Rom A 25-pixel reconstruction filter with a slight edge-enhancement effect. Crisp with sharpened edges.  No options on this one. Area
Cook Variable A general-purpose filter. Values of 1 to 2.5 are sharp; higher values blur the image. A little blurrier, but the edges are retained in an overlay-like fashion, even for high values. Area
Cubic A 25-pixel blurring filter based on a cubic spline. Blurrier than Cook Variable without edge enhancement. Area
Mitchell-Netravali Two-parameter filter; a trade-off of blurring, ringing, and anisotropy. If the ringing value is set higher than .5 it will impact the alpha channel of the image. A more robust filter, the default values look like Catmull-Rom. Area
Plate Match/MAX R2 Uses the 3ds Max 2 method (no map filtering) to match camera and screen maps or matte/shadow elements to an unfiltered background image. A legacy method.  It’s generally for matte-shadow composition.  See the F1 help file for more details. Area
Quadradic A 9-pixel blurring filter based on a quadratic spline. Similar to cubic; general blurring.
Sharp Quadratic A sharp nine-pixel reconstruction filter from Nelson Max. Not much to say; similar to the Quadradic shown above.
Soften An adjustable Gaussian softening filter for mild blurring. Gaussian blurring.  Similar to Cubic and Quadradic, this is general blurring without edge enhancement. Area
Video A 25-pixel blurring filter optimized for NTSC and PAL video applications. For use when rendering video with the 3dsMax scanline renderer. Area

Scanline Super-Sampling

Super-sampling in the scanline renderer is what you use to control the sub-pixel activity of the renderer. This is different from anti-aliasing because, while it controls edge blending, it does so through sub-pixel sampling rather than through pixel bleeding.

Here is where you can find the super-sampling controls.

Here is where you can find the super-sampling controls.

Below I’ve included a table showing you example renders for each of these super-sampling methods. I’ve used the same example scene as before, and I’m using the default area anti-aliasing method. Again, I left the default values for each sub-sampler and these images were rendered using the 3dsMax scanline renderer at the resolution you see on your screen. Remember that using sub-sampling will slow down your renders considerably more than anti-aliasing!

Method Description Comments Image
Adaptive Halton Spaces samples along both X and Y axes according to a scattered, “quasi random” pattern. Depending on Quality, the number of samples can range from 4 to 40. Similar to Hammersley, but provides a randomization that extends the uniform variant.
Adaptive Uniform Spaces samples regularly, from a minimum quality of 4 samples to a maximum of 36. The pattern is not square, but skewed slightly to improve accuracy in the vertical and horizontal axes. Provides a generally sharper outcome.
Hammersley Spaces samples regularly along the X axis, but along the Y axis it spaces them according to a scattered, “quasi random” pattern. Depending on quality, the number of samples can range from 4 to 40. Provides a generally smoother outcome. This method is not adaptive!
Max 2.5 Star The sample at the center of the pixel is averaged with four samples surrounding it. The pattern is like the fives on dice. This is the
super sampling method that was available in 3ds Max 2.5.
Provides the smoothest outcome. This method is not adaptive either.

The two adaptive methods are named so because they adapt to the change in pixel contrast while the renderer is operating. In areas of low contrast, the sub-sampler will back off and move more quickly, while in areas of high contrast, the sub-sampler will work more deeply. You’ll see a similar feature in the mental ray renderer soon.

mental ray Sub-Pixel Sampling

In mental ray, we don’t have super-sampling, we have “sub-pixel sampling”. This gives us a very robust level of control over how mental ray samples each pixel in our image.  Rather than rely on a forumla to handle sampling, we can simply tell mental ray the sampling levels for high contrast areas versus low contrast areas.  We do this with the Samples per Pixel controls in the “Render Setup” rollout, similar to the scanline methods.

These two pulldowns control the minimum and maximum sampling.

These two pull down menus control the minimum and maximum sampling.

The sampling in mental ray is given as a number or a fraction.  The whole values indicate how many samples should be taken per pixel (i.e. a value of 1 is just one sample per pixel, while a value of 4 is 4 samples per pixel).  Fractional values indicate how many pixels can be filled with a single sample.

mental ray sub sampling at 1/4 and 4

mental ray sub sampling at 1/4 and 4

You can probably already see the implications of such a system.  If you set the maximum and minimum sampling to 1/4, you’ll get a very blocky, but very fast render.  On the other hand, if you set the maximum and minimum sampling to 4, you’ll get a slow but clean render.

Without getting lost in the minutia of 3dsMax mental ray sub-sampling, I’ll also point out that there is a spatial contrast group just below the samples per pixel group.  This group controls how mental ray should chose between your minimum and maximum sampling levels based on the contrast across pixels.  By default this is set to [5, 5, 5, 5] which is just shy of a 1% difference across pixels when rendering.  However, you can change the threshold to a higher value if you want mental ray to bias itself toward the minimum (faster) sampling instead of the maximum (higher quality) sampling.

Anti-Aliasing in mental ray

Finally, let’s look at the anti-aliasing options in mental ray. Since there are only 5 flavors of smoothing, I’m going to include two sample images for each instead of just one. The first image will be using the default values, while the second image will show double the default values. For example, the box smoothing in mr is defaulted at width:1.0 and height:1.0. In image 2 for that method, the values are width:2.0 and height:2.0.

As with the 3dsMax scanline anti-aliasing examples, these images are all rendered at the resolutions you see on your screen. All other mental ray settings are left at defaults (including the sub-sampling levels of 1/4 minimum and 4 maximum).

Method Description Comments Image Image
Box filter Sums all samples in the filter area with equal weight. This is the quickest
sampling method.
Typical blurring; just blends the adjacent sub-pixels together.
Gauss filter Weights the samples using a Gauss (bell) curve centered on the pixel. The Gauss filter appears blurrier because it has a larger default size (3,3) than the box filter.
Triangle filter Weights the samples using a pyramid centered on the pixel. Generally yields crisper results.
Mitchell filter Weights the samples using a curve (steeper than Gauss) centered on the pixel. Generally considered the best filter in mental ray.
Lanczos filter Weights the samples using a diminishing, but steep curve. A fine filter that accentuates detail.

And that’s the rundown!I hope this tutorial has given you an idea of what anti-aliasing and sub-sampling are all about in 3dsMax. Just remember that it’s a quality/speed trade off like most things in computer graphics. You need to find the happy medium in order to come off a head. When in doubt, aim for faster (usually lower) values when testing, and quality (usually higher) values when doing your final output render.

Until next time, happy rendering!

AA Primer Part 1

Written January 18th, 2009
Categories: Blog
1 Comment »

AA Primer Part 2

Written January 18th, 2009
Categories: Blog
1 Comment »

Cutting & Dressing Texture Maps

Written January 16th, 2009
Categories: UVWs / Texturing, Videos
1 Comment »

I’m afraid I don’t have a new tutorial for you, so in exchange I’m offering two neat bits. The first is that I’m uploading the Monday Movie a few days early this week, so that you can enjoy it that much sooner. It also shows you that I’ve been working on something so you don’t think I was goofing off- ignoring my promise of a new 3dsMax tutorial.

The other neat thing is that this Monday Movie is special! I’ve added a whole new intro sequence, and the video footage is now in wide-screen. I know it’s a little blurry, but trust me; next week is going to be sharper than your mom’s opinions. Fun!

This week’s Monday movie is about cutting and dressing texture maps by using what your perception of the diffuse map is. I show you a paint-chips texture, and because I know the materials that are present in the image I’m able to pull out a bump map and a glossy/specular map as well!

UVW Channels

Written January 11th, 2009
Categories: UVWs / Texturing, Videos
3 comments

Hey Everyone!

I’ve got a new monday movie for you.  This week we’re looking at UVW channels and how you can use them to create more than one UV layout for your objects.  Why is this important?  Well, for one thing, it lets you use different UVW layouts for different maps in your material- allowing you to assign displacement maps after you’ve set up the rest of the material.  You could also use this (theoretically) to juice your maps for all their worth in a low-poly situation.  You might only need opacity mapping for part of the character, so why not get all 1024×1024 for that spot?

Anyway, in this video we’re looking at the first scenario; applying a displacement map to an object already set up with a material.

Where is the Micro SD card slot on the Android G1?

Written January 11th, 2009
Categories: Blog
10 comments

This took me way too long to find out on my own, so let me make it as clear as possible so that it never has to be asked again.

Where is the SD Card Slot?

Where is the SD Card Slot on the G1 Android?

Slide your nail under the tab just below the green “call” button, and pull off the little plastic cover (the size is about as big as the profile of a nickle).  It’ll dangle off the side of the phone, and the microSD card uses a click-in/click-out locking mechanism, so push it in and it’ll pop out.

World-Machine Colors and Mixing Tutorial

Written January 10th, 2009
Categories: Blog
No Comments »

World-Machine Colors and Mixing Tutorial

Written January 10th, 2009
Categories: Articles, Import / Export, Textures / Materials
1 Comment »

Welcome to another World-Machine 2 tutorial! There’s a lot to be excited about in this nifty program, and one of them is the new color maps feature.  If you don’t have a copy of World-Machine, you can always download the trial version.  You can now use the awesome selection tools in World Machine to mix and match color swatches (and even image maps) in order to create your own color overlays for terrains. We’ll be going over all the selection types in the context of mixing colors. Of course, you’re not limited in how you use these; feel free to use them to create new heightfields, mix heightfields together, and whatever else you can imagine.
World Machine Finished File Download

Here's my final rendered terrain.

So let’s get started. I’m going to be using the basic World-Machine 2 default file, and I assume you’ve played around with the program for a few sessions. The only change I made to the original scene was to make it a little larger.  You can see my world extents window by clicking here.  I’ve created a new group to help keep things organized for you. You don’t have to do that if you don’t want.

The colors generator in World-Machine.

To get started, create a few colors.  You can find the “Color Generator” device under the “Generator” tab or the “Bitmap” tab- depending on how you have things organized.  You can alternate between organization structures from the “Tools” tab, using the first two buttons.  The Color Generator looks like a rainbow blob in a green button.  Hover over buttons to see their names.

The default world is fine.

Let’s go ahead and insert some colors into the scene by selecting the “Color Generator” and clicking a few times in your node graph.  Double click on the node and assign each node a color.  I made two shades of green, a rock color, and an off-white snow color.

I’d like to mix up the two green colors in a creative way!  How about using the new “Convexity” selection device?  Ordinarily, we’d have to use ambient occlusion maps outside of World-Machine in order to generate a map like this.  But nothing compares to pre-calculation, so let’s bake it into the map.  You can find all the selection devices under the “Selector” tab.  This tab is only visible under the “Filter by Device Type” organization, so if you don’t see it, re-read the earlier note about filtering.

Convexity filter settings.

Note that the “Advanced Perlin” device is outputting to multiple devices.  I did this by clicking from “Select Convexity” to “Advanced Perlin”- not the other way around.  This allows you to hook several subsequent inputs into a single output.  Neat trick, huh?

Once your convexity properties are set, you can connect it into the 3rd input of a “Chooser” node.  This is the first button under the “Combiner” tab and it combines two devices based on a heightfield (rather than combining them procedurally).  Create this node in your graph, and connect your two colors to the first and second inputs of the “Chooser”.  Connect your convexity selector to the third input, and enjoy your results.

Occluded areas are now darker.

Now that we’ve set up the first combiner, I won’t bother with the repeated details.  Let’s explore the other selection devices and see how else we can blend our material.  Creative blending here will save you time and effort later on in 3dsMax, Terragen, or Vue d’Esprit.  You won’t need to generate procedural blending maps or masks because you’ll be able to render precomputed maps from World-Machine.

Select the “Select Slope” selector from the list, and connect it to the terrain generator as you did for the last selector.  Double-click on the selector.  In the following window, you’ll see two sliders that control the start and end of the slope selection.  Lower values mean shallower slopes, and higher values mean steeper slopes.  I’ve selected a moderate range of shallow slopes with a low falloff.  I want a little mixing between grass and rock, but not much.  This gentle blending has a great effect when rendered.

We can select a slope here.

Similar to the previous process, create a new “Chooser” node, and connect your rock color and the previous chooser as inputs.  You’ll then connect your new “Slope Selector” as the final input node (the mixer).

So far we’ve mixed two kinds of grass and a single rock color.  For the snow, let’s spice things up.  I want snow on the North-facing peaks above a certain elevation.  Sounds like a tall order, doesn’t it?  It’s not!  World-Machine allows you to combine mask maps in much the same way that it allows us to mix color maps.  We just have to combine a “Select Angle” device and a “Select Height” device such that we get a mask that fits our demands.  Try getting angular snow deposits in 3dsMax- fat chance.

We’ll start by creating the “Select Angle” device and attaching it to the “Advanced Perlin” heightfield generator.  I’ve included a screenshot of my settings below.

The select angle device in action.

We’ll also want the “Select Height” device, which allows us to set a minimum on how far down snow should go on the heightfield.  Just like the other filters, this needs to be connected to the heightfield generator as well.  Notice a similar interface to the “Select Slope” window.  We select a range using the two sliders- higher values indicate a higher elevation, while lower values indicate a lower elevation.

The select height device in action.

Finally, you’ll create a simple “Combiner” device.  Notice the difference between a combiner and a “Chooser”.  The combiner does not mix according to a map, but instead according to a formula.  Also, the combiner can be biased one way or another- an important quality that we’ll use.  Create your combiner and hook both selectors into it.  Double click on the combiner and set it to “Multiply” with full bias toward the height selector.

Combining two alpha maps as masks.

Only one small detail remains, although the next step should be pretty clear.  You’ll want to use this combined map as the choose-y map for another “Chooser” device.  This final “Chooser” will select between the snow and the grass/rock result we got from the last “Chooser” node.

The Overlay Device

The Overlay Device.

But how to overlay this awesome color map on our terrain?  For that you’ll want the “Overlay View” node, found in the “Output” tab.  The image is of a terrain with a colorful topography.  When you connect the resultant color map to the “Overlay Input” on the Overlay View (bottom input) and the original heightfield into the “Primary Input” on the Overlay View (top input), you’ll see the terrain displayed in the preview viewport using your awesome new color map!

When all is said and done, here’s what my node graph looks like.  Notice I bypassed the terrace node to keep the color map and the heightfield consistent.

Final node graph, minus terrace.

And that’s all there is to it!  I know it seems like a mess, but it’s actually pretty basic considering what we managed to pull off.  You can combine these in a wide variety of ways, including combining them into macros and merging many together to simplify the node graph.  Very complex materials are possible.

Consider experimenting with this technique to colorize sediment from the erosion device, or create sandy beaches with the “Coastal Erosion” device.  what makes this special and a world apart from doing it in 3dsMax or Maya is that you have a lot of information that you wouldn’t otherwise have.  Deposition maps, flow maps, wear maps and more would otherwise have been lost.

Here's my final rendered terrain.

Designed by Alejo "Mr. Bluesummers" Grigera"
©2012 MrBluesummers.com