Publishers of technology books, eBooks, and videos for creative people

Home > Articles > Digital Audio, Video > 3D

  • Print
  • + Share This
This chapter is from the book

This chapter is from the book

The Project

Normally, particle systems are used in a subset of animation techniques called effects animation. With the exception of effects sequences, they are usually created later in the production pipeline when primary object animation has been completed. In the case of the ongoing project within this book they are being added when the camera has been tracked, the scene stand-in geometry has been matched, and the character and objects have been modeled and animated.

Effects animators are specialists similar to the way character animators are, focusing most of their attention on a complex aspect of animation as a whole. Effects animators tend to differ from character animators in their emphasis and approach to the technique of animation. Character animation focuses heavily on communication through motion and is hands-on, and effects animation tends to be more technical in nature. One isn't necessarily more difficult than the other, but their disciplines are different. There is definitely more art in character animation and more science in the production of effects animation. Thus many character animators are less package-specific, and effects animators are often married to their packages because they focus so strongly on their implementation of procedural tools.

The goals for effects animation in the project in this chapter are to create an exploding confetti effect when the box top blows off and the Jester character pops out. These will be instanced geometry particles that linger in the air and slowly fall to the ground, spinning along the way. Another effect will be a trailing pixie dust effect coming off the feet of the character as it leaps out of the box. This also will use space warps to help control the motion of the particles. All the effects will be tied together using Parameter Wiring and Custom Attributes to more easily adjust the effects in the scene.

Exercise 21.1 Setting Units

One of the first things to do with your scene when setting it up for work with particle effects is to adjust the units method. Units are the method used to represent values in parameters. This is important when modeling to scale, because you can set the values to real-world units such as decimal feet or meters. However, such units have no relevance to particle values, such as velocity and birth rate. You need to set the units of your scene to generic, which uses standard integer and floating-point values with no real correlation to real-world units.

  1. Select File/Customize/Units Setup. At the bottom of the resulting dialog box, set the radio button to Generic Units, as seen in Figure 21.1.

  2. Figure 21.1 Select Generic Units in the dialog box.

    Next you use PArray to create a trail of particles from the feet of the character.

  3. In the Create panel, choose Particle Systems/PArray.

  4. Click and drag anywhere in the Top viewport to create a PArray icon, as in Figure 21.2.

  5. Figure 21.2 Add a PArray icon to the scene in the Top viewport.

    There are a few PArray parameters you need to set up.

  6. With the PArray selected, go to the Modify panel.

  7. In the Basic Parameters rollout, set the Object Based Emitter by clicking the Pick Object button and choosing Bip01 R Foot from the list.

  8. This sets the emitter to the biped's right foot.

  9. Set the Viewport Display section to Dots.

  10. This makes it easier to view the particles, because they are going to be represented by tiny pixie dust points.

  11. Set the percentage of particles to 100% so you can see the entire quantity for now.

  12. In the Particle Generation rollout, set Speed to 0.1.

  13. The scale of this scene is pretty small, so the default value of 10 would be much too fast.

  14. Set Variation to 25%.

  15. This varies the speed of particle emission by 25%.

  16. Set Emit Start to 60.

  17. This is the frame in which particles will first be emitted, when the character jumps out of the box.

  18. Set Emit Stop to 96.

  19. This is the frame in which particles will stop emitting and is the point when the character first reaches the surface of the table.

  20. Set Display Until to 204.

  21. This is the frame in which the particles disappear. This might seem pointless, because the particle emission ends at frame 96, but it's good practice to adjust this value from its default of 100 to at least one frame past the end of your animation. It's a common mistake to ignore this parameter, which results in all the particles disappearing at frame 100.

  22. Set Life to 90.

  23. This gives the particles a lifetime of 90 frames.

  24. Set Variation to 5.

  25. Unlike the other variation parameters, this one is in frames, not percentages. This causes the particle life value to vary plus or minus 5 frames. This reduces the uniformity of the effect by adding some randomness.

  26. In the Particle Type rollout, set the standard Particles to Constant.

  27. This makes the particle geometry constantly scaled circular points that always face the camera.

  28. In the Object Motion Inheritance rollout, set Multiplier to 0.2.

  29. This causes the particles to receive 20% of the motion of the emitter—in this case the biped foot. This is important because in the real world when an object is ejected from a moving object, it begins its motion at the same speed as its parent.

  30. Scrub the animation by clicking and dragging the time slider.

  31. You'll see a trail of particles emitting from the right foot of the biped object. Because of the motion inheritance, the particles aren't stationary but actually move with the foot as they're emitted. See Figure 21.3.

There is one problem, however. The particles are emitted too fast. There also needs to be a drag and gravity effect applied to them. This is done through space warps, which you tackle in the next exercise.

Figure 21.3 PArray particles trail from the right foot of the biped.

Exercise 21.2 Adding a Drag Effect

In this exercise, you add a Drag space warp to cause a dampening effect on the particles' velocity. Space warps are nonrendering objects that act as fields in the scene and are accessed through the Create panel like any other object.

  1. Go to the Create panel and click the Space Warps button.

  2. From the Forces drop-down list, choose Drag.

  3. Click and drag a Drag icon into the Top viewport.

  4. With the Drag space warp selected, go to the Modify panel.

  5. All the Drag parameters appear in the Modify panel. There are many for such a simple effect. The new Drag space warp offers much flexibility, including nonlinear and localized dampening, so the effect doesn't have to be uniform (on all axes) or affect the particles globally across the entire scene.

    You need to set a few parameters for this Drag space warp.

  6. Set Time Off to 205.

  7. Normally this is set to the default value of frame 100, which causes the Drag effect to end at frame 100, in the middle of the animation. It's generally good practice to change Time Off to match the end frame of your animation, which causes the Drag effect to continue until the end of the animation and not turn off inappropriately.

  8. Set the Linear Dampening X-axis and Y-axis to 2.0.

  9. This sets an equal amount of drag force along the X-axis and Y-axis.

  10. Set the Linear Dampening Z-axis to 10.0.

  11. This increases the Drag effect along the Z-axis, which prevents the particles from moving too much vertically as they are emitted. They also will be affected laterally in the X-axis and Y-axis, however, but much less. This gives them some freedom to wander. See Figure 21.4.

    Figure 21.4 Drag space warp parameters increase flexibility.

    The particle system is now bound to the space warp. If you go to the Modify panel with the Parray01 selected, you'll notice an entry in Stack View that shows a Drag Binding.

  12. Play the animation by either scrubbing the time slider or clicking the Play button.

The particles are emitted from one of the feet of the biped, but slow down a bit and linger. There's still one more step to control the motion—adding turbulence—which you'll do in the next exercise. By using the Turbulence controls of a Wind space warp you can perturb the motion of the particles slightly as they linger in the air. This breaks up the uniformity of the effect, making it more realistic and natural.

Exercise 21.3 Adding a Wind Space Warp

You create a Wind space warp the same way you create a Drag warp. In fact, the Wind space warp is similar to the Gravity space warp because it has a directional icon showing the vector of the effect.

  1. Go to the Create panel, choose Space Warps/Forces, and click Wind.

  2. Click and drag in the Top viewport to create a Wind space warp.

  3. Bind the particle system to the Wind space warp by selecting the Parray01 particle system.

  4. Activate the Bind to Space Warp button with a single button-click.

  5. Click and drag from the Parray01 particle system to the Wind space warp icon and release the mouse button.

  6. Verify that the space warp is bound by checking Stack View for the Wind binding. Use Figure 21.5 as a reference.

  7. Figure 21.5 Wind space warp is added to the scene.

    By default, Wind has a Strength value of 1.0. This is the amount of force in the direction of the Wind space warp icon's arrow—in this case, upward. If you scrub the animation at this point, you'll notice that too much force is applied to the particles and they are heavily displaced upward. If you select the Wind space warp, go to the Modify panel and look at the first two Turbulence parameters. Turbulence and Frequency are zero, which means that there is no perturbing effect on the particles. To create turbulence without forcing the particles in any given direction, you have to turn off the Strength value.

  8. To turn off the Strength value, select the Wind space warp.

  9. Go to the Modify panel and change the Strength value to 0.

  10. Now if you take a look at the animation, the particles don't launch upward in the direction of the Wind icon. No force is being applied in the Wind's direction. However, you still need to make adjustments to the Turbulence parameters to achieve the proper effect.

  11. Adjust the Turbulence value to 0.02.

  12. Change the Frequency value to 0.15.

  13. Set the Scale value to 0.2.

With those numbers plugged in, you should see some extra movement in the particle motion. Play with these numbers to experiment with the motion, but don't wander too far from these values because the effect can quickly become unrecognizable. At this point you leave the pixie dust effect for a bit and move on to a confetti effect.


These might seem like arbitrary numbers, but I consider them default parameters for most scenes. These numbers are a good starting point for integrating turbulence into a scene. Many people often make the mistake of using higher numbers, such as 2.5 or 10. Unfortunately, this doesn't work because so much depends on the scale of your scene.

Keep the following in mind:

Turbulence controls the speed at which particles waver and curl or are perturbed from their normal paths. Lower amounts cause gentle motion, and higher values naturally cause excited motion.

Frequency is directly related to Turbulence. Frequency controls the amount of randomness in the motion over time. Higher numbers cause more variation.

Scale is probably the most important value to set correctly, because without matching this value to the scale of your scene, the effect is unnoticeable. The number values for this parameter might be misleading. Very low numbers—0.01, for example—cause large turbulent motion, and higher numbers cause tight motion. Turbulence is really just a fractal noise field applied to the particles. The Scale value controls the scale of the noise and therefore the visibility of the motion.

Exercise 21.4 Creating a Confetti Effect

In this exercise, you use a SuperSpray particle system emitting particles as instanced geometry to create a confetti effect. By using instanced geometry you'll be able to use a custom object as particle geometry. You'll also add some space warps to control the motion of the particles, and finally add some Custom Attributes and Wire Parameters to better control and automate both effects.

To start the confetti effect, you need to choose a particle system. SuperSpray is ideal in this case because it has similar parameters to the PArray particle system you used previously, but also has the capability of emitting particles from a single point outward in a controlled direction.

  1. Go to the Create panel, choose Particle Systems, and click SuperSpray.

  2. Click and drag in the Top viewport over the box01 object to create a SuperSpray icon, as seen in Figure 21.6.

  3. NOTE

    The SuperSpray icon is slightly different from the PArray particle system icon. SuperSpray emits particles in a direction determined by the icon, not by a geometric object in the scene. In this case, the location of the icon and the direction you point it in determine how particles are emitted. By creating the SuperSpray particle system in the Top viewport, you automatically create it pointing upward along the Z-axis. Notice there is an arrow built into the icon.

    Figure 21.6 The SuperSpray particle system is located inside the gift box with the biped.

    Before you go any further, there are a few parameters you need to adjust.

  4. In the Basic Parameters rollout, set Percentage of Particles to 100%.

  5. This causes every particle emitted internally to be displayed in the viewports.

  6. In the Particle Generation rollout, set Use Total to 100 by switching the radio button to activate this parameter and adjusting the total number of particles to be emitted to 100 particles.

  7. In the Particle Motion subsection, set Speed and Variation to 2 units and 25%, respectively.

  8. These two values are related and therefore mentioned in the same space.

  9. In the Particle Timing subsection, set Emit Start to 60.

  10. This defines the starting frame for particle emission.

  11. Set Emit Stop to 65.

  12. This causes all particle emission to stop at frame 65. With these two start and stop values set accordingly, the total number of frames in which particles will be emitted is 5.

  13. Set Display Until to 204.

  14. This should normally be a number beyond the final frame of your animation.

  15. Set Life and Variation to 100 and 10, respectively.

  16. This defines the number of frames that particles will be "alive," give or take 10 frames. The Variation parameter is different from most others because it is defined in frames, not percentage. In this case when a particle is born its Life value is determined to be between 90 and 110.

    If you take a look at the animation of the SuperSpray particles you see that they emit upward in a tight stream. This is a matter of adjusting some axis and spreading controls. You'll be able to better visualize these changes if you move the time slider to a frame where the particles are visible.

  17. Go to frame 65 and select the SuperSpray particle system.

  18. Go to the Modify panel and change the Off Axis Spread value to 80 and the Off Plane Spread value to 180, as seen in Figure 21.7.

  19. Figure 21.7 Adjust the Off Axis Spread and Off Plane Spread controls to create a more conical emission.

    As you adjust these two values, notice what they do to the angle of the particle emission. When you adjust the first parameter, the emission is in the form of a flat fan. However, as soon as you adjust the second parameter, the shape of the spreading fan becomes conical. These are two powerful controls for shaping particle emission.

    The next step is to assign instanced geometry to the SuperSpray particles. Recall that instanced geometry is a method of referencing an object in the scene to use as particle geometry. In this case, you need to make a confetti object to use as the instanced geometry in the particle system.

    To create the confetti strip, you use a Plane primitive and apply a couple of modifiers to shape it. The modifiers will come in handy, because they enable you to edit the object's shape without destroying it.

  20. Go to the Create panel, choose Standard Primitives, and click the Plane button.

  21. In the Top viewport, click and drag to form a plane primitive in the scene.

  22. The initial size of the plane primitive is irrelevant, because you'll adjust its parameters in the Modify panel.

  23. With the plane primitive selected, go to the Modify panel.

  24. Change the Length value to 2.0, change the Width value to 0.5, adjust the Length Segs value to 13, and rename the plane primitive ConfettiStrip.

  25. If you zoom in on the object, you'll see that it's a long, thin, single-sided object made up of evenly spaced polygons. The reason for adding more Length Segs past the default value of 4 is to make the polygons even. This becomes necessary when you're going to bend and twist the object, which you'll do next.

  26. With the new ConfettiStrip object selected, go to the Modify panel.

  27. Click Modifier List to open the drop-down list and choose Bend.

  28. This adds a Bend modifier to the object, which enables you to warp the object on a specific axis a set amount of degrees. The motivation here is to skew the ConfettiStrip into a twisted piece of paper.

    In the Bend parameters rollout, you make a few changes.

  29. Set Angle to –60.

  30. This bends the modifier gizmo –60 degrees.

  31. Set Bend Axis to X.

  32. This restricts the bending effect to the X-axis of the gizmo.

    If you zoom in on the ConfettiStrip object in one of the side viewports, you can see the bending effect the modifier has on the object.

    Next you add a Twist modifier, which is similar to a Bend modifier but has a more asymmetrical effect.

  33. With the ConfettiStrip object selected in the Modify panel, click Modifier List to open the drop-down list and select Twist from the list.

  34. This adds a second modifier onto the object's stack, visible in Stack View. As with the Bend modifier, there are two parameters you need to adjust.

  35. Set Angle to 50.

  36. This increases the twist effect by 20 degrees.

  37. Set Twist Axis to Y.

  38. This isolates the effect to the Y-axis of the modifier's gizmo, as seen in Figure 21.8.

    With these steps complete, you should have a long strip of polygons twisted and bent into a confetti shape. The next step is to tell the SuperSpray particle system to use this newly created shape as instanced geometry.

    Figure 21.8 Apply Bend and Twist modifiers to ConfettiStrip.

  39. Select the SuperSpray particle system. Go to the Modify panel to access its parameters.

  40. In the Particle Type rollout, change the radio button to Instanced Geometry.

  41. Click the Pick Object button below in the Instancing Parameters and choose the ConfettiStrip object.

  42. In your viewport, this doesn't make any immediate changes because the particles are still being displayed in their default manner as constant-sized Ticks. You can set the display option to show the actual geometry of the particles, though.

  43. Go to the top rollout of the SuperSpray particle system and set the Viewport Display radio button to Mesh.

  44. Now you should see the ConfettiStrip object being instanced to each particle of the SuperSpray particle system. If your viewport display feedback is too slow, you can opt to set Viewport Display to Bbox. This reduces the detail of the instanced geometry displayed by showing only its bounding box. One problem does exist, though. The original ConfettiStrip object is still present in the scene and needs to be hidden.

  45. To hide the original ConfettiStrip object, select it, go to the Display panel, and click Hide Selected, as shown in Figure 21.9.

  46. This doesn't delete the object, but hides it from view because you are not going to actually use it for anything other than reference for the SuperSpray particles.

    Figure 21.9 SuperSpray uses the ConfettiStrip object as instanced geometry.

Using instanced geometry is a useful way to extend the geometric representations of particles in 3ds max. You can use polygons, patches, and even NURBS as instanced geometry. Unfortunately, there are a few drawbacks. In particular you can instance only one particular object and its hierarchy, not a group of objects. For example, if you create geometry for coins—such as dimes, nickels, and quarters—you have to create a separate particle system to instance each type of object.

Exercise 21.5 Adding Drag, Wind, and Gravity

You now have the basic setup for the confetti effect. One of the problems at the moment is the unrealistic motion of the particles. They should explode out, slow down, and fall to the floor like flower petals. As you did previously with the PArray particle system, you can use space warps to control the motion of the SuperSpray particles. Drag and Wind space warps are present in the scene, but the only one you're going to reuse is the Wind space warp for its turbulence effect. Space warps can be used with multiple objects, and any changes in their parameters will affect those objects bound to it.

First you need to add a second Drag space warp with stronger, more uniform force.

  1. Select the Drag01 space warp in your scene.

  2. Switch to the Move tool by right-clicking the space warp and choosing Move from the quad menu.

  3. Hold down the Shift key, drag the Drag space warp over so that it is separated from the original, and release the mouse.

  4. In the resulting Clone Options dialog box, choose OK. Figure 21.10 shows the result.

  5. Figure 21.10 The Clone Options dialog box appears when you drag the Drag space warp while holding down the Shift key.

    You have just created a clone of your original Drag space warp. They have the same values in all parameters, with the exception of their names. This new Drag space warp needs to be stronger to slow down the exploding SuperSpray particles.

  6. With the new Drag02 space warp selected, go to the Modify panel.

  7. Change all three Linear Dampening X-, Y-, and Z-axis values to 5%.

  8. Select the SuperSpray particle system and bind it to the new Drag02 space warp using the Bind to Space Warp button.

  9. If you take a look at the animation now, at frame 60 the SuperSpray particles explode outward in a hemispherical pattern and quickly slow down so that they create a sort of confetti effect.

    Two problems are obvious. First, the particles should look like little strips of paper, but they don't spin. Second, they don't fall downward toward the floor, essentially defying gravity. Both of these problems can easily be addressed.

    First, rotation is merely a matter of adjusting a couple of parameters in the particles. Second, Gravity, like Wind and Drag, is a space warp that you add to the scene.

  10. Select the SuperSpray particle system and go to the Modify panel.

  11. In the Rotation and Collision rollout, set the Spin Time to 10 frames.

  12. Set the Phase to 30.0 degrees.

  13. Each of these parameters has a Variation parameter. This adds randomness to the values and breaks up the uniformity of the effect—something you should always strive for. It's also useful to use the Wind space warp's Turbulence values that are already in the scene to perturb the motion of the confetti particles.

  14. Set both Spin Time Variation and Phase Variation values to 25.0. Figure 21.11 shows the result.

  15. Figure 21.11 Set the Rotation and Collision parameters.

  16. Activate the Bind to Space Warp button and bind the SuperSpray particle system to the Wind01 space warp already in the scene.

  17. The only other force missing from this effect is Gravity, just another simple space warp to add to the system. Gravity works similarly to Wind because it is a planar directional effect by default. It can also be a spherical effect, as can Wind, but in this case the default setting works best to mimic the gravity of the sample scene.

  18. In the Create panel, choose Space Warps/Forces and click Gravity.

  19. In the Top viewport, click and drag a Gravity space warp icon into the scene.

  20. Select the SuperSpray particle system and bind it to the new Gravity space warp. Figure 21.12 shows the result.

  21. Figure 21.12 Add a Gravity space warp to the scene.

Now the SuperSpray particles explode outward, but fall downward too fast. You can fix this by reducing the strength of the Gravity effect. Instead of doing this immediately by modifying the value, do some parameter consolidation with Custom Attributes.

Exercise 21.6 Adding Custom Parameters Using Custom Attributes

Custom Attributes are a new feature in 3ds max 4 that enable you to add custom parameters to objects. Using Parameter Wiring, you can connect Custom Attributes to parameters in your scene, using them to drive animation or, in this case, to consolidate several parameters from different objects and store them in one easily accessible rollout. It might sound complicated, but it's actually pretty simple. Just follow the steps in this exercise.

You create a dummy object that will not render or participate in any way in the scene, other than to store several parameters that you can use to manipulate the scene.

  1. In the Create panel, choose Helpers/Standard and click the Dummy button.

  2. In the Top viewport, away from all the clutter in the scene, click and drag to create a Dummy object.

  3. With the Dummy object selected, go to the Modify panel.

  4. The Dummy object has no parameters. You can use Custom Attributes to add parameters here that you define. Custom Attributes is accessed in the Animation menu at the top of the screen.

  5. Select Animation/Add Custom Attribute.

  6. This causes a large floater to appear with lots of controls. This is sort of like a custom parameter construction set. First you add a Gravity Strength control.

    In the Add Parameter floater, the default parameter type is Float and the UI type is Spinner. Use these defaults.

  7. Change the Name field to Gravity.

  8. Open the Float UI rollout and set the Width value to 100.0.

  9. Set Range From to –1 and Range To to 1.0.

  10. In the Finish rollout, click the Add button. Figure 21.13 shows the result.

  11. A new parameter called Gravity appears in the dummy's Custom Attributes rollout. If you adjust this parameter, you'll see that it doesn't really do anything at the moment. The spinner field is 100 units wide, and the parameter's value range is from –1 to 1.0. You need to connect it to the Gravity space warp's Strength value by using Parameter Wiring.

    Figure 21.13 Set the controls in the Add Parameter dialog box.

  12. Zoom out the Top viewport so you can clearly see both the Dummy object and the Gravity space warp.

  13. Right-click on the Dummy object and select Wire Parameters from the Quad menu.

  14. In the resulting pop-up menu, choose (in this order) Object(Dummy), Custom_Attributes, and Gravity.

  15. Now click on the Gravity icon. Notice a line drawn from the dummy.

  16. In the pop-up menu choose (in this order) Object(Gravity), and Strength. Figure 21.14 shows the result.

  17. This connects these two floating-point values internally via MAXScript. The resulting dialog box is the Wire Parameters dialog box where multiple wiring can be edited.

    The Gravity track is highlighted on the Dummy object on the left side of the box, and the right side shows the Strength track of the Gravity space warp. This identifies the two tracks that you are wiring together. Parameters can be wired in directions so that adjusting one track doesn't necessarily affect the other. Tracks can also be bidirectional, meaning that changing the values of either affects the opposite track. In the two lower boxes, there are text boxes with variables for the track values. This is actually an expression field and can be used to adjust how a track is interpreted. In the case of Custom Attributes that you're setting up, you want them to be bidirectional.

  18. In the Parameter Wiring dialog box, click the Two-Way connection button. It's located at the top and looks like two opposing arrows.

  19. Click the Connect button to create the connection. See Figure 21.15 for the result.

  20. Figure 21.14 Wire the Custom Attribute to the Gravity's Strength value.

    Figure 21.15 Complete the Parameter Wiring.

    Now you've connected the Custom Attribute Gravity to the Strength value on the Gravity space warp. If you change the value of the Custom Attribute, the Gravity space warp's Strength value adjusts accordingly. Custom Attributes are fairly limitless, and using this method of storing them on a common object enables you to organize many parameters from several dissimilar objects into one consolidated interface.

    The animation is nearly complete, but there still are a few tasks to do to complete the scene. Use the Custom Attribute you created to adjust the strength of the Gravity to a lesser amount more consistent with the scene.

  21. Select the Dummy object and change the Gravity Custom Attribute value to 0.02.

  22. This will work with the Drag space warp to cause the confetti particles to linger in the air and slowly float downward. The confetti particles scale up quickly and then scale down as they die. This is a function of the Grow For and Fade For values in SuperSpray. The default parameters of 10 cause the particles to scale up from zero to their full size in 10 frames and fade out to nothing 10 frames before each dies.

Parameter Wiring and Custom Attributes are a huge windfall for 3ds max users. They extend the procedural tools to a new level by enabling you to easily set up and control complex interactions between parameters of dissimilar objects. With Custom Attributes, the user is free to add specialized parameters to objects or, as in this example, consolidate parameters in the scene to one object.

Exercise 21.7 Adding Materials and Effects

The last big step in this process is to assign special materials and effects to the particles. First, you use a Multi Sub-Object material to randomly assign different colors to different strips of confetti. Then you use the Render Effect Lens Effects to add a glow effect to the pixie dust particles. Finally, you adjust the properties of the particles to better integrate them into the scene.

  1. Open the Material Editor and choose an empty slot, or make one by selecting an existing slot and clicking the Delete button, which looks like an X below the material slots).

  2. If you are deleting a slot containing a material that exists in your scene, you are asked whether you want to delete the material from the scene (bad) or just remove it from this particular slot (good).

  3. Create a Standard Material by clicking the Material Type button and choosing Standard from the list.

  4. Change the Diffuse color swatch to a bright color, such as red.

  5. Adjust the self-illumination value to 25.

  6. Click the 2-Sided check box.

  7. Rename the material Confetti and drag it onto the SuperSpray particle system to assign it.

  8. NOTE

    By adding a fraction of self-illumination, you fake translucency in the confetti strips, an effect common with thin paper. By clicking the 2-Sided check box, you define this material as an automatically two-sided one, regardless of the geometry it's assigned to. This is important because the ConfettiStrip object you created was initially created with a Plane primitive that has polygons facing in only one direction. This essentially makes it one-sided, and viewing from directly underneath the plane causes it to be invisible. By assigning a two-sided material to the object, you're automatically causing the object to be two-sided, overcoming the shortcoming of plane without adding geometry.

    What if you want the confetti to be several different colors? With the tedious method, you create multiple copies of the confetti particle system. Controlling these separate systems could be a hassle. With the better method, you assign a Multi Sub-Object material, and the particles will cycle through the maps in the list on a frame-by-frame basis, assigning different materials to particles at the given frame in the cycle. This doesn't work when particles are emitted over the course of a single frame. Luckily, in this scene the particles emit over the course of five frames.

  9. To change the Confetti material to a Multi Sub-Object material, select the Confetti material in the Material Editor.

  10. Click the Material button (which should read Standard at the moment) and choose Multi Sub-Object from the list.

  11. In the resulting Replace Material dialog box choose Keep Old Material as Sub-Material.

  12. This converts the Standard material into a Multi Sub-Object material with the default 10 entries. In the case of the confetti effect, you need only 5 entries.

  13. Click the material's Delete button five times to remove materials 6 through 10 on the list.

  14. You've already defined one material with all its special parameters (the red one), so instead of going in and matching all the settings with the new materials, copy the red Confetti material slot into all the other slots. From there you can adjust the color for each without having to go into each material slot.

  15. Click and drag the top material (the red Confetti material) slot to the next one below.

  16. Set the radio button in the resulting Instance (Copy) Material dialog box to copy and press OK.

  17. Repeat this until all five slots look the same.

  18. In this sequence, you've copied the red Confetti material parameters to all the other slots in the Multi Sub-Object material. Now all you need to do is adjust the colors of the rest.

  19. Click on the color swatch to the right of each submaterial and change it to a different color (try to stick to bright confetti-style colors, such as pink, aqua, and yellow). Figure 21.16 shows the result.

  20. Figure 21.16 Store several materials in a Multi Sub-Object material.

    When you look in the viewport, you won't notice any change in the color of the confetti particles, because, by default, the SuperSpray particles are getting their material from the instanced geometry and not the icon. This is easily changed in the SuperSpray parameters.

  21. Select the SuperSpray particle system.

  22. Go to the Modify panel. At the bottom of the Particle Type rollout, switch the Get Material From radio button to Icon.

  23. Play the animation.

  24. The colors of the confetti particles vary according to the list of materials stored in the Multi Sub-Object material. Figure 21.17 shows the result.

    Figure 21.17 The confetti particles use a Multi Sub-Object material.

    The next step is to assign a Glow effect to the PArray particles that are serving as pixie dust. At the moment they are rendering as tiny constant, or circular, geometry that always faces the camera. They have a default material attached to them that must be changed to make them more colorful. Luckily, you can use the same Multi Sub-Object material you created for the confetti particles.

  25. Go back to the Material Editor and drag the Confetti material onto the PArray icon.

  26. NOTE

    There are a couple of ways to assign materials to objects, but this is one of the more direct. You can also use the Assign Material to Selection button in the Material Editor, but that requires a selection. The drag-and-drop method is quicker because it doesn't require any selections.

    The viewport display of the PArray particles doesn't show multiple colors. Don't worry—currently the PArray particles are being displayed only as dots and not geometry. To verify that the assignment of multiple materials is working, try rendering out a frame to the virtual frame buffer.

Exercise 21.8 Using Render Effects

Render Effects are a post-process filter tool that was added in 3ds max r3. There are several kinds of Render Effects, but you work with an optical effects toolkit called Lens Effects in this exercise.

Lens Effects has tools for creating glows, highlights, sparkles, secondary reflections, and other optical anomalies via post-process. In the past, these kinds of filters resided only in Video Post and required much more time to work with. Moving Lens Effects to a Render Effect filter brings speed and flexibility to the workflow.

Render Effects can be added and edited with a single test render. Normally you have to re-render your scene to see any changes you make with a filter, but in the case of Render Effects, the filter is passed through a valid scene enumeration that can be stored in memory and applied to filter changes on-the-fly. This enables you to do much of your filter editing in near–real time.

In this exercise, you need a tiny subset of the Lens Effects toolkit: Glow.

  1. From the top menu, choose Rendering/Effects.

  2. Click the Add button and choose Lens Effects from the list.

  3. Select the newly added Lens Effects entry.

  4. A few new rollups are added. One contains two windows with elements on the left, and one is empty on the right. The empty one is where you assign Lens Effects tools to the filter. The rollout below stores Lens Effects global variables that can be used to apply common parameter changes across several elements.

  5. In the window on the left, choose Glow from the list and click the > arrow.

  6. Select the Glow text in the right window. Figure 21.18 shows the result.

  7. Notice how a new set of rollouts is added below when you select the Glow element. These are the local controls for that tool. In the next steps, you adjust a series of parameters to create the pixie dust effect for your scene.

  8. In the Parameters tab of the Lens Effects Globals rollout, change the Size value to 5.0.

  9. In the Parameters tab of the Glow Element rollout, adjust the size to 3.

  10. Change Use Source Color to 100.

  11. Click the Options tab.

  12. In the Apply Element To field, click the Image Centers check box and clear the others.

  13. In the Image Sources field, click Object ID and clear any others. Figure 21.19 shows the result.

  14. Figure 21.18 Select the Glow text in the Rendering Effects dialog box.

    Figure 21.19 Adjust parameters for the Glow element.


    Here's a breakdown of what you just did. You adjusted the global scale of the Lens Effects filter. By default it's 100, which is too large for this scene. If you had multiple elements, you could use this global size value to adjust the scale of all elements equally at the same time. By setting the Use Source Color value to 100, you're telling the glow filter to glow the particles using each particle's material color 100%. This is a handy feature, though you can explicitly color Glow elements using different parameters in the filter. Finally, by setting Image Centers and Object ID 1, you're telling the filter to apply the Glow effect only to the center of nodes in the scene that carry an Object ID of 1. Currently, you have no objects with an Object ID of 1, so you need to set one.

  15. Select the PArray particles and right-click directly over them.

  16. Choose Properties from the Quad menu.

  17. Set the Object Channel value to 1.

  18. Clear the Cast Shadows check box. Figure 21.20 shows the result.

  19. Figure 21.20 Set controls and properties in the PArray Object Properties dialog box.

    Now if you render the Camera view, it first renders the entire scene, and then a Render Effects pass is processed. This can sometimes be very fast, but in the case of working with these particles it might be a bit slow.

    The Render dialog box shows you the progress of the render effect, as seen in Figure 21.21. This glow effect is driven by Object ID 1 in the scene, so if any other objects in your scene were tagged with that ID they glow as well. You clear the Cast Shadows check box to force the PArray particles to not cast shadows onto other objects in the scene. Normally you'd think that this is important for integration into a live action shot, but in the case of these glowing particles they're appearing as a light source and therefore shouldn't cast any reasonable shadow.

    Figure 21.21 The Glow effect is applied to particles.

    The last thing you need to do with the PArray particles is to clone them so that you have a second stream that flows from the other foot of the biped. Instead of creating a second PArray particle system from scratch, use the Clone tool, because all the parameters are finalized in the original PArray.

  20. Select the PArray particle system.

  21. Choose Edit/Clone from the top menu.

  22. In the Clone Options dialog box, accept the default name by clicking OK.

  23. This creates an exact duplicate of the previous PArray particle system and—more importantly—its particles have the same path. Why? They are being emitted from the same object and use the same Seed value. You need to adjust these two parameters to complete the effect.

  24. With PArray02 selected, go to the Modify panel and change the Object-Based Emitter to Bip01 L Foot.

  25. Scroll to the bottom of the Particle Generation rollout and click the New button next to Seed to create a new randomly generated Seed value.

Now if you play the animation you should have two sets of particles being emitted from the feet of the biped object. This concludes this section of the project.

  • + Share This
  • 🔖 Save To Your Account

Peachpit Promotional Mailings & Special Offers

I would like to receive exclusive offers and hear about products from Peachpit and its family of brands. I can unsubscribe at any time.


Pearson Education, Inc., 221 River Street, Hoboken, New Jersey 07030, (Pearson) presents this site to provide information about Peachpit products and services that can be purchased through this site.

This privacy notice provides an overview of our commitment to privacy and describes how we collect, protect, use and share personal information collected through this site. Please note that other Pearson websites and online products and services have their own separate privacy policies.

Collection and Use of Information

To conduct business and deliver products and services, Pearson collects and uses personal information in several ways in connection with this site, including:

Questions and Inquiries

For inquiries and questions, we collect the inquiry or question, together with name, contact details (email address, phone number and mailing address) and any other additional information voluntarily submitted to us through a Contact Us form or an email. We use this information to address the inquiry and respond to the question.

Online Store

For orders and purchases placed through our online store on this site, we collect order details, name, institution name and address (if applicable), email address, phone number, shipping and billing addresses, credit/debit card information, shipping options and any instructions. We use this information to complete transactions, fulfill orders, communicate with individuals placing orders or visiting the online store, and for related purposes.


Pearson may offer opportunities to provide feedback or participate in surveys, including surveys evaluating Pearson products, services or sites. Participation is voluntary. Pearson collects information requested in the survey questions and uses the information to evaluate, support, maintain and improve products, services or sites; develop new products and services; conduct educational research; and for other purposes specified in the survey.

Contests and Drawings

Occasionally, we may sponsor a contest or drawing. Participation is optional. Pearson collects name, contact information and other information specified on the entry form for the contest or drawing to conduct the contest or drawing. Pearson may collect additional personal information from the winners of a contest or drawing in order to award the prize and for tax reporting purposes, as required by law.


If you have elected to receive email newsletters or promotional mailings and special offers but want to unsubscribe, simply email

Service Announcements

On rare occasions it is necessary to send out a strictly service related announcement. For instance, if our service is temporarily suspended for maintenance we might send users an email. Generally, users may not opt-out of these communications, though they can deactivate their account information. However, these communications are not promotional in nature.

Customer Service

We communicate with users on a regular basis to provide requested services and in regard to issues relating to their account we reply via email or phone in accordance with the users' wishes when a user submits their information through our Contact Us form.

Other Collection and Use of Information

Application and System Logs

Pearson automatically collects log data to help ensure the delivery, availability and security of this site. Log data may include technical information about how a user or visitor connected to this site, such as browser type, type of computer/device, operating system, internet service provider and IP address. We use this information for support purposes and to monitor the health of the site, identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents and appropriately scale computing resources.

Web Analytics

Pearson may use third party web trend analytical services, including Google Analytics, to collect visitor information, such as IP addresses, browser types, referring pages, pages visited and time spent on a particular site. While these analytical services collect and report information on an anonymous basis, they may use cookies to gather web trend information. The information gathered may enable Pearson (but not the third party web trend services) to link information with application and system log data. Pearson uses this information for system administration and to identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents, appropriately scale computing resources and otherwise support and deliver this site and its services.

Cookies and Related Technologies

This site uses cookies and similar technologies to personalize content, measure traffic patterns, control security, track use and access of information on this site, and provide interest-based messages and advertising. Users can manage and block the use of cookies through their browser. Disabling or blocking certain cookies may limit the functionality of this site.

Do Not Track

This site currently does not respond to Do Not Track signals.


Pearson uses appropriate physical, administrative and technical security measures to protect personal information from unauthorized access, use and disclosure.


This site is not directed to children under the age of 13.


Pearson may send or direct marketing communications to users, provided that

  • Pearson will not use personal information collected or processed as a K-12 school service provider for the purpose of directed or targeted advertising.
  • Such marketing is consistent with applicable law and Pearson's legal obligations.
  • Pearson will not knowingly direct or send marketing communications to an individual who has expressed a preference not to receive marketing.
  • Where required by applicable law, express or implied consent to marketing exists and has not been withdrawn.

Pearson may provide personal information to a third party service provider on a restricted basis to provide marketing solely on behalf of Pearson or an affiliate or customer for whom Pearson is a service provider. Marketing preferences may be changed at any time.

Correcting/Updating Personal Information

If a user's personally identifiable information changes (such as your postal address or email address), we provide a way to correct or update that user's personal data provided to us. This can be done on the Account page. If a user no longer desires our service and desires to delete his or her account, please contact us at and we will process the deletion of a user's account.


Users can always make an informed choice as to whether they should proceed with certain services offered by Adobe Press. If you choose to remove yourself from our mailing list(s) simply visit the following page and uncheck any communication you no longer want to receive:

Sale of Personal Information

Pearson does not rent or sell personal information in exchange for any payment of money.

While Pearson does not sell personal information, as defined in Nevada law, Nevada residents may email a request for no sale of their personal information to

Supplemental Privacy Statement for California Residents

California residents should read our Supplemental privacy statement for California residents in conjunction with this Privacy Notice. The Supplemental privacy statement for California residents explains Pearson's commitment to comply with California law and applies to personal information of California residents collected in connection with this site and the Services.

Sharing and Disclosure

Pearson may disclose personal information, as follows:

  • As required by law.
  • With the consent of the individual (or their parent, if the individual is a minor)
  • In response to a subpoena, court order or legal process, to the extent permitted or required by law
  • To protect the security and safety of individuals, data, assets and systems, consistent with applicable law
  • In connection the sale, joint venture or other transfer of some or all of its company or assets, subject to the provisions of this Privacy Notice
  • To investigate or address actual or suspected fraud or other illegal activities
  • To exercise its legal rights, including enforcement of the Terms of Use for this site or another contract
  • To affiliated Pearson companies and other companies and organizations who perform work for Pearson and are obligated to protect the privacy of personal information consistent with this Privacy Notice
  • To a school, organization, company or government agency, where Pearson collects or processes the personal information in a school setting or on behalf of such organization, company or government agency.


This web site contains links to other sites. Please be aware that we are not responsible for the privacy practices of such other sites. We encourage our users to be aware when they leave our site and to read the privacy statements of each and every web site that collects Personal Information. This privacy statement applies solely to information collected by this web site.

Requests and Contact

Please contact us about this Privacy Notice or if you have any requests or questions relating to the privacy of your personal information.

Changes to this Privacy Notice

We may revise this Privacy Notice through an updated posting. We will identify the effective date of the revision in the posting. Often, updates are made to provide greater clarity or to comply with changes in regulatory requirements. If the updates involve material changes to the collection, protection, use or disclosure of Personal Information, Pearson will provide notice of the change through a conspicuous notice on this site or other appropriate way. Continued use of the site after the effective date of a posted revision evidences acceptance. Please contact us if you have questions or concerns about the Privacy Notice or any objection to any revisions.

Last Update: November 17, 2020