Autodesk 12812-051462-9011 - 3DS MAX 9 COM LEGACY SLM Help File
Autodesk 12812-051462-9011 - 3DS MAX 9 COM LEGACY SLM Help File

Autodesk 12812-051462-9011 - 3DS MAX 9 COM LEGACY SLM Help File

Volume 2
Hide thumbs Also See for 12812-051462-9011 - 3DS MAX 9 COM LEGACY SLM:
Table of Contents

Advertisement

Autodesk
®
ds Max
®
Help: Volume 2

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the 12812-051462-9011 - 3DS MAX 9 COM LEGACY SLM and is the answer not in the manual?

Questions and answers

Subscribe to Our Youtube Channel

Summary of Contents for Autodesk 12812-051462-9011 - 3DS MAX 9 COM LEGACY SLM

  • Page 1 Autodesk ® ds Max ® Help: Volume 2...
  • Page 2 © 2008 Autodesk, Inc. All rights reserved. Except as otherwise permitted by Autodesk, Inc., this publication, or parts thereof, may not be reproduced in any form, by any method, for any purpose. Certain materials included in this publication are reprinted with the permission of the copyright holder.
  • Page 3 Visual Toolbox, Visual Tugboat, Visual LISP, Voice Reality, Volo, Wiretap, and WiretapCentral. The following are registered trademarks or trademarks of Autodesk Canada Co. in the USA and/or Canada and other countries: Backburner, Discreet, Fire, Flame, Flint, Frost, Inferno, Multi-Master Editing, River, Smoke, Sparks, Stone, and Wire.
  • Page 4: Particle Systems

    Space Warps and Particle Systems Space warps and particle systems are additional modeling tools. Space warps are “force fields” that deform other objects, creating the effect of ripples, waves, blowing wind, and so on. Particle systems generate particle sub-objects for the purpose of simulating snow, rain, dust, and so on.
  • Page 5 Surfaces deformed by space warps Left: Bomb Right: Ripple Rear: Wave A space warp affects objects only when the objects are bound to it on page 2691. The warp binding appears at the top of the object's modifier stack. A space warp is always applied after any transforms or modifiers.
  • Page 6 Space Warps and Supported Objects Some types of space warps are designed to work on deformable objects, such as geometric primitives, meshes, patches, and splines. Other types of warps work on particle systems such as Spray and Snow. Five space warps (Gravity, PBomb, Wind, Motor, and Push) can work on particle systems and also serve special purposes in a dynamics simulation.
  • Page 7 When a particle hits too near the edge of a face referenced by a UDeflector, and neither face finds it When a particle is moving quickly and first appears too close to the deflector, so the very first update cycle within the particle system takes it past the deflector without the deflector ever seeing it Often this isn't a problem because the particles bounce off solid objects, so you don't see the errant particles.
  • Page 8 Motor Space Warp on page 2696 Push Space Warp on page 2691 Vortex Space Warp on page 2701 Drag Space Warp on page 2706 Path Follow Space Warp on page 2717 PBomb Space Warp on page 2712 Displace Space Warp on page 2727 Gravity Space Warp on page 2721...
  • Page 9: Table Of Contents

    UDeflector Space Warp on page 2754 Deflector Space Warp on page 2757 Geometric/Deformable These space warps are used to deform geometry. FFD(Box) Space Warp on page 2760 FFD(Cyl) Space Warp on page 2767 Wave Space Warp on page 2777 Ripple Space Warp on page 2781 Displace Space Warp on page 2727...
  • Page 10 TIP You can take advantage of the AutoGrid feature to orient and position new space warps with respect to existing objects. For details, see AutoGrid on page 2597. 4 Drag in a viewport to create the space warp. See the topics for the various space warps for further details. Bind to Space Warp Main toolbar >...
  • Page 11 Push disperses a cloud of particles The Push space warp applies a force to either particle systems on page 2795 or dynamics systems on page 3852. The effect is slightly different, depending on the system. Particles: Applies a uniform, unidirectional force in a positive or negative direction.
  • Page 12 Push viewport icon Procedures To create a Push space warp: On the Create panel, click Space Warps. Choose Forces from the list, and then on the Object Type rollout, click Push. 2 Drag in a viewport to define the size. The Push warp appears as a hydraulic jack icon.
  • Page 13 Interface 2694 | Chapter 14 Space Warps and Particle Systems...
  • Page 14 Timing group On Time/Off Time The numbers of the frames in which the space warp begins and ends its effect. Because Push moves the particles to which it's applied over time, no keyframes are created. Strength Control group Basic Force The amount of force exerted by the space warp. Newtons/Pounds This option specifies the units of force used by the Basic Force spinner.
  • Page 15 Amplitude 1 The strength of the variation (in percent). This option uses the same types of units as the Basic Force spinner. Phase 1 Offsets the variation pattern. Period 2 Provides an additional variation pattern (a second wave) to increase the noise.
  • Page 16 Motor disperses a cloud of particles The Motor space warp works like Push on page 2691, but applies rotational torque to the affected particles or objects rather than a directional force. Both the position and orientation of the Motor icon affect particles, which swirl around the Motor icon.
  • Page 17 Motor viewport icon (with particle system on the left) Procedures To create a motor space warp: On the Create panel, click Space Warps > Forces > Motor. Choose Forces from the list, then on the Object Type rollout, click Motor. 2 Click and drag in a viewport to define the size.
  • Page 18 Interface Timing group On Time/Off Time The numbers of the frames in which the space warp begins and ends its effect. Because Motor moves the objects to which it's applied over time, no keyframes are created. Strength Control group Basic Torque The amount of force exerted by the space warp. N-m/Lb-ft/Lb-in Specify the unit of measure for the Basic Torque setting, using common world measurements of torque.
  • Page 19 RPH/RPM/RPS Specifies the units of measure for Target Revs in revolutions per hour, minute, or second. Available only if you turn on Feedback On. Gain Specifies how quickly the force adjusts to approaching the target speed. If set to 100%, the correction is immediate. If set lower, a slower and "looser" response occurs.
  • Page 20 Period 1 The time over which the noise variation makes a full cycle. For example, a setting of 20 means one cycle per 20 frames. Amplitude 1 The strength of the variation (in percent). This option uses the same types of units as the Basic Torque spinner. Phase 1 Offsets the variation pattern.
  • Page 21 Particle stream caught in a vortex Procedures To create a Vortex space warp: On the Create panel, click Space Warps. Choose Forces from the list, and then click Vortex. 2 Determine which world axis you want the vortex to spiral around, and then drag in the appropriate viewport to create the space warp.
  • Page 22 The Vortex warp appears as a curved-arrow icon in the plane you drag in, with a second, perpendicular arrow indicating the axis of rotation as well as the direction of the well. This second axis is called the drop axis. NOTE The position of the space warp plays an important role in the results.
  • Page 23 Interface Timing group Time On/Time Off The frame numbers at which the space warp becomes active and becomes inactive. 2704 | Chapter 14 Space Warps and Particle Systems...
  • Page 24 Vortex Shape group Taper Length Controls the length of the vortex, as well as its shape. Lower settings give you a "tighter" vortex, while higher settings give you a "looser" vortex. Default=100.0. Taper Curve Controls the shape of the vortex. Low values create a vortex with a wide, flared mouth, while high values create a vortex with nearly vertical sides.
  • Page 25 Damping Controls the degree to which orbital particle motion is restrained per frame. Smaller values produce a wide spiral, while larger values produce a thin spiral. Default=5.0. Range=0 to 100. Radial Pull Specifies the distance from the drop axis at which the particles rotate.
  • Page 26 Drag slows down a stream of particles. Procedures To create a Drag space warp: On the Create panel, click Space Warps. Choose Forces from the list, and then click Drag. 2 Drag in a viewport to create the space warp. The space warp appears initially as a box within a box, indicating that it's using the default Linear Damping mode.
  • Page 27 NOTE The position and orientation of the space warp plays an important role for all three damping types. 4 Change the settings for the current damping type as necessary. 2708 | Chapter 14 Space Warps and Particle Systems...
  • Page 28 Interface Forces | 2709...
  • Page 29 Timing group Time On/Time Off The frame numbers at which the space warp becomes active and becomes inactive. Damping Characteristics group This group lets you choose Linear Damping, Spherical Damping, or Cylindrical Damping, plus a set of parameters for each. Unlimited Range When on, Drag exerts full damping strength over an unlimited range.
  • Page 30 Range Specifies the distance from the center of the Drag icon, in system units, within which damping is in full effect. Takes effect only when Unlimited Range is turned off. Falloff Specifies the distance beyond the Radial/Tangential Range within which Linear Damping is applied.
  • Page 31 PBomb Space Warp Create panel > Space Warps > Forces > Object Type rollout > PBomb Create menu > Space Warps > Forces > PBomb The PBomb space warp creates an impulse wave to blow up a particle system, as distinguished from the Bomb space warp on page 2789, which blows up geometry.
  • Page 32 Above: PArray particle system Below: Torus knot used as the PArray's distribution object Effect of blowing up the torus knot Procedures Example: To use PBomb with PArray: You can use the Particle Bomb bound to a Particle Array to blow an object into fragments.
  • Page 33 4 On the Particle Generation rollout of PArray, set Speed and Divergence to 0.0. This prevents PArray from moving the particles, letting PBomb do the work. 5 On the Particle Generation rollout, set Life to the length of the active time segment, so that the fragments appear during the entire animation.
  • Page 34 Interface Blast Symmetry group These options specify the shape, or pattern of the blast effect. Spherical The blast force radiates outward from the PBomb icon in all directions. The icon looks like a spherical anarchist's bomb. Cylindrical The blast force radiates outward from and normal to the central axis, or core of the cylindrical icon.
  • Page 35 the rendering interval rate. Note: This setting is effective only when the Duration spinner is set to 0. Explosion Parameters group Start Time The frame number at which the impulse forces are first applied to the particles. Duration The number of frames, beyond the first, over which the forces are applied.
  • Page 36 Path Follow Space Warp Create panel > Space Warps > Forces > Object Type rollout > Path Follow Create menu > Space Warps > Forces > Path Follow Particles following a spiral path The Path Follow space warp forces particles to follow a spline path. Procedures To create a Path Follow space warp: On the Create panel, click Space Warps.
  • Page 37 3 On the Create panel, click Path Follow, and drag in a viewport to create the Path Follow icon (a cube with wavy lines). The display and position of this icon don't affect the particles. 4 On the Basic Parameters rollout, click Pick Shape Object and select the spline you created earlier.
  • Page 38 Interface Forces | 2719...
  • Page 39 Current Path group Lets you choose the path for the particles, and specify the range of influence of the Space Warp. Object Displays the name of the currently assigned path. Pick Shape Object Click this, and then click a shape in the scene to select it as a path.
  • Page 40 Constant Speed When on, all particles travel at the same speed. Stream Taper Causes particles to converge or diverge toward the path over time, or to simultaneously converge and diverge. You specify the effect by choosing Converge, Diverge, or Both (see following). This provides a tapering effect over the length of the path.
  • Page 41 Create menu > Space Warps > Forces > Gravity Particles falling because of gravity The Gravity space warp simulates the effect of natural gravity on particles generated by a particle system. Gravity is directional. Particles moving in the direction of the gravity arrow accelerate. Particles moving against the arrow decelerate.
  • Page 42 The Gravity icon appears. For planar gravity (the default), the icon is a wireframe square with a direction arrow on one side. For spherical gravity, the icon is a wireframe sphere. The initial direction of planar gravity is along the negative Z axis of the construction grid that is active in the viewport where you drag.
  • Page 43 Spherical Gravity effect is spherical, centered on the Gravity warp object. This choice is effective for creating water fountain or planetary effects. Display group Range Indicators When on, and when the Decay value is greater than 0.0, icons in the viewports indicate the range at which the force of gravity is half the maximum value.
  • Page 44 The Wind space warp simulates the effect of wind blowing particles generated by a particle system. Wind is directional. Particles moving in the direction of the wind arrow accelerate. Particles moving against the arrow decelerate. In the case of spherical wind, motion is toward or away from the icon. Wind is similar in effect to the Gravity space warp, but has added parameters for turbulence and other features characteristic of wind in the natural world.
  • Page 45 Interface Force group These settings are comparable to the Gravity parameters. Strength Increasing Strength increases the wind effect. Strength less than 0.0 creates a suction. It repels particles moving in the same direction and attracts particles moving in the opposite direction. When Strength is 0.0, the Wind warp has no effect.
  • Page 46: Displace Space Warp

    Spherical Wind effect is spherical, centered on the Wind warp object. Wind group These settings are specific to the Wind space warp. Turbulence Causes particles to change course randomly as the wind blows them. The greater the value, the greater the turbulence effect. Frequency When set greater than 0.0, causes turbulence to vary periodically over time.
  • Page 47 Displace used to change the surface in the container The Displace space warp acts as a force field to push and reshape an object's geometry. Displace affects both geometry (deformable objects) and particle systems. There are two basic ways to use the Displace space warp: Apply the gray scale of a bitmap to generate the displacement amount.
  • Page 48: Displace Space Warp On

    Displace space warp on a patch and the bitmap it uses Procedures To create a Displace space warp: On the Create panel, click Space Warps. Choose Geometric/Deformable from the list, and then on the Object Type rollout, click Displace. 2 Drag in a viewport to create the Displace warp object, which appears as a wireframe.
  • Page 49 Interface Displacement group These are the basic controls for Displace space warps. 2730 | Chapter 14 Space Warps and Particle Systems...
  • Page 50 Strength When set to 0.0, the Displace warp has no effect. Values greater than 0.0 displace object geometry or particles away from the position of the Displace space warp object. Values less than 0.0 displace geometry toward the warp. Default=0.0 Decay By default, the Displace warp has the same strength throughout world space.
  • Page 51 Length, Width, Height Specify the dimensions of the bounding box of the space warp gizmo. Height has no effect on planar mapping. U/V/W Tile The number of times the bitmap repeats along the specified dimension. The default value of 1.0 maps the bitmap once; a value of 2.0 maps the bitmap twice, and so on.
  • Page 52 POmniFlect viewport icon Procedures To create a POmniFlect space warp: On the Create panel, click Space Warps. Choose Deflectors from the list, then on the Object Type rollout, click POmniFlect. 2 Drag in a viewport to create the planar icon. NOTE Because particles bounce off the icon, the size of the icon affects particle deflection.
  • Page 53 4 Position the POmniFlect icon to interrupt the particle stream. 5 Adjust the POmniFlect parameters as necessary. 2734 | Chapter 14 Space Warps and Particle Systems...
  • Page 54 Interface Deflectors | 2735...
  • Page 55 Timing group The two spinners specify the start frame and end frame of the deflection effect. Time On/Off Time On specifies the frame at which the deflection begins, and Time Off specifies the frame at which the deflection ends. Reflection group These options affect the reflection of particles from the space warp.
  • Page 56 To get a 50/50 split of reflection and refraction, set Reflects to 50% and Refracts to 100%. Pass Vel Specifies how much of a particle’s initial speed is maintained after passing through the POmniFlect. The default setting of 1 retains the initial speed is retained, so there’s no change.
  • Page 57 For example, if Inherit Vel is 1.0, particles with no motion that are hit by a moving PomniFlect inherit the speed of the POmniFlect at the point of collision. Spawn Effects Only group These settings affect only particles set to Spawn On Collision that do not either reflect or refract from the omniflector.
  • Page 58 PDynaflect viewport icon Procedures Many dynaflector parameters are the same as those for omniflectors. However, the procedure of associating the dynaflector with both the particle system and the object to be affected is more complex than the simple binding used by omniflector.
  • Page 59 On the Create panel, click Space Warps. Choose Deflectors from the drop-down list, and then click one of the dynaflector buttons (PDynaFlect, SDynaFlect, or UDynaFlect). Drag in a viewport to create the deflector. 3 Do either of the following: If using a PDynaFlect or SDynaFlect, position the space warp icon where the particles strike (or will strike) the object.
  • Page 60 Interface Timing group The two spinners specify the start frame and end frame of the deflection effect. Deflectors | 2741...
  • Page 61 Time On/Off Time On specifies the frame at which the deflection begins, and Time Off specifies the frame at which the deflection ends. Particle Bounce group These settings affect the reflection of particles from the space warp. Reflects Specifies the percentage of particles to be reflected by the PDynaFlect. This affects both the particles and the dynamics reaction of the object struck by the particles.
  • Page 62 Physical Properties group These options let you set the mass of each particle. Mass Specifies the mass based on the chosen unit. gram One gram equals 1/1000 kg or 22/1000 Lbm at a gravity of 1.0. Kg One kg (kilogram) equals 1000 grams or 2.2 Lbm at a gravity of 1.0. Lbm One Lbm (pounds-mass) equals 5/11 kg or 454 5/11 grams at a gravity of 1.0.
  • Page 63 NOTE Opposite sides of the deflectors reverse the distortion effect. Thus, a refracted particle passing through the SOmniFlect hits its outside surface first, and then its inside surface. A positive Distortion value warps the particles toward the perpendicular; then, as the particles pass through the inside surface, the same positive Distortion value warps them toward the parallel.
  • Page 64 3 Apply the deflector to the particle system using the appropriate method: If using Particle Flow on page 2795, specify the deflector in the Collision test on page 2960 or Collision Spawn test on page 2964 parameters. If using a non-event-driven particle system on page 3002, bind...
  • Page 65 UOmniFlect Space Warp Create panel > Space Warps > Deflectors > Object Type rollout > UOmniFlect UOmniFlect, the universal omniflector, provides more options than the original UDeflector. This space warp lets you use any other geometric object as a particle deflector.
  • Page 66 Procedures To use the UOmniFlect space warp: To use a universal omniflector, you need a minimum of three objects in the scene: 1 The particle system 2 The UOmniFlect space warp 3 The object used as the deflector 4 Add or select an object used as the deflector. 5 Create a particle system whose particles intersect the deflector object.
  • Page 67 Interface Parameters rollout The settings for the UOmniFlect are the same as those for POmniFlect on page 2732, with the following additions: Object-Based OmniFlector group Lets you choose the object to use as a deflector. Item Displays the name of the selected object. Pick Object Click this, and then select any renderable object to use as a deflector.
  • Page 68 UDynaFlect viewport icon NOTE When you use UDynaFlect, you must indicate the object to be affected with the Pick Object button. Linking is not necessary. Deflectors | 2749...
  • Page 69 Interface 2750 | Chapter 14 Space Warps and Particle Systems...
  • Page 70 Object-Based DynaFlector group Lets you choose the object to use as a deflector. Item Displays the name of the selected object. Pick Object Click this, and then select any renderable object to use as a deflector. Display Icon group Icon Size Specifies the size of the UDynaFlect icon. SDeflector Space Warp Create panel >...
  • Page 71 SDeflector repelling particles Procedures To create an SDeflector: On the Create panel, click Space Warps. Choose Deflectors from the list, then on the Object Type rollout, click SDeflector. 2 Drag in a viewport to create the spherical icon. NOTE Because particles bounce off the perimeter of the spherical icon, the size of the icon affects particle deflection.
  • Page 72 5 Adjust the SDeflector parameters as necessary. Interface Particle Bounce group These settings determine how the deflector affects the bound particles. Bounce Determines the speed with which particles bounce off the deflector. At 1.0, the particles bounce at the same speed as they approach. At 0, they don't deflect at all.
  • Page 73: Udeflector Space Warp

    TIP To have particles slide along a deflector surface, set Bounce to 0. Also, unless influenced by a force such as Wind or Gravity, particles meant to slide should strike the surface at an angle other than 90 degrees. Inherit Vel (Velocity Inheritance) When the value is greater than 0, the motion of the deflector affects particles as well as the other settings.
  • Page 74 Particles scatter when they strike a UDeflector object The UDeflector is a universal deflector that lets you use any object as a particle deflector. Procedures To create a UDeflector: On the Create panel, click Space Warps. Choose Deflectors from the list, then on the Object Type rollout, click UDeflector. 2 In a viewport, drag out a rectangle to add a UDeflector warp to the scene.
  • Page 75 4 Apply the deflector to the particle system using the appropriate method: If using Particle Flow on page 2795, specify the deflector in the Collision test on page 2960 or Collision Spawn test on page 2964 parameters. If using a non-event-driven particle system on page 3002, bind...
  • Page 76: Deflector Space Warp

    Item Displays the name of the selected object. Pick Object Click this, and then click any renderable mesh object to be used as a deflector. Particle Bounce group Bounce Determines the speed with which particles bounce off the deflector. At 1.0, the particles bounce at the same speed as they approach. At 0, they don't deflect at all.
  • Page 77 Two streams of particles striking two deflectors The Deflector space warp acts as a planar shield to repel the particles generated by a particle system. For example, you can use Deflector to simulate pavement being struck by rain. You can combine a Deflector space warp with a Gravity space warp to produce waterfall and fountain effects.
  • Page 78 The deflector appears as a wireframe rectangle. 3 Apply the deflector to the particle system using the appropriate method: If using Particle Flow on page 2795, specify the deflector in the Collision test on page 2960 or Collision Spawn test on page 2964 parameters.
  • Page 79: Geometric/Deformable

    Variation The amount by which each particle can vary from the Bounce setting. Chaos The amount of variation from the perfect angle of reflection (found when Chaos is set to 0.0). 100% induces a variation in reflection angle of up to 90 degrees Friction The amount by which particles are slowed as they move along the deflector surface.
  • Page 80: Geometric/Deformable

    You create FFD space warps as separate objects similarly to the way you create standard primitives: by dragging the mouse in the viewport. The result is a lattice of control points. The source lattice of an FFD modifier is fitted to the geometry it's assigned to in the stack.
  • Page 81 Object and object surrounded by an FFD lattice 2762 | Chapter 14 Space Warps and Particle Systems...
  • Page 82 Moving control points in the lattice deforms the object. Procedures To use the FFD(box) space warp: On the Create panel, click Space Warps. Choose Geometric/Deformable from the list, then on the Object Type rollout, click FFD(Box). 2 Drag in a viewport to create the base. Release the mouse button, and then move the mouse to define the height of the FFD lattice.
  • Page 83 In the modifier stack display, choose Control Points as the sub-object level for FFD(box). 6 Adjust the control points. NOTE The distortion effect of an FFD modifier is based on the positional offset of the control points from their original positions in the source volume. If you don't move control points, there is no effect on the target object.
  • Page 84 Interface Geometric/Deformable | 2765...
  • Page 85 This rollout lets you set the size and resolution of the lattice, and how it displays and deforms. Dimensions group These options let you adjust the unit dimensions of the source volume, and specify the number of control points in the lattice. Note that the point dimensions are displayed beside the modifier name in the Stack list.
  • Page 86: Ffd(Cyl) Space Warp

    All Vertices All vertices are deformed regardless of whether they lie inside or outside the source volume, depending on the value in the Falloff spinner. The deformation outside the volume is a continuous extrapolation of the deformation inside the volume. The deformation can be extreme for points far away from the source lattice.
  • Page 87 points to the original lattice source volume causes the distortion of the affected object. The FFD(Cyl) space warp uses a cylindrical array of control points in its lattice. This FFD is available as both an object modifier and a space warp. For information on the object modifier version, see FFD (Box/Cylinder) Modifiers on page 1460.
  • Page 88 This example shows how to use the FFD(Cyl) space warp to create a tablecloth that flies in and drapes itself over a table. Begin by creating the table and tablecloth. 1 Create a table from two cylinders. Make the table top with a radius of 30 units, and a height of 2 units.
  • Page 89 Next, adjust the control points of the lattice to drape over the table. 1 Zoom Extents All Selected. 2 On the Modify panel, in the stack display (below "Modifier List"), click the FFD(cyl) item so it turns yellow. This means you've enabled direct access to the FFD space warps control point sub-objects.
  • Page 90 7 Lock the selection and, in the Front viewport, drag the outer ring of points down to the floor. You now have a truncated cone shape over the table. 8 Unlock the selection. In the Top viewport, again select all the control points in the two outer rings.
  • Page 91 3 Select the FFD lattice. 4 Choose Deform group > All Vertices. The tablecloth is immediately deformed because all vertices are now affected, including those outside the lattice volume, and Falloff is set to 0. A falloff value of 0 means that the distance of the vertices from the lattice doesn't matter.
  • Page 92 until the tablecloth is at the height you want it. You can also adjust the position of the other control points to create drapes, and so on. 10 On the Display command panel > Hide by Category rollout, turn on Space Warps to hide the FFD space warp.
  • Page 93 Interface 2774 | Chapter 14 Space Warps and Particle Systems...
  • Page 94 This rollout lets you set the size and resolution of the lattice, and how it displays and deforms. Dimensions group These options let you adjust the unit dimensions of the source volume, and specify the number of control points in the lattice. Note that the point dimensions are displayed beside the modifier name in the Stack list.
  • Page 95 Deform group These options provide controls that specify which vertices are affected by the FFD. Only In Volume When on, only vertices that lie inside the source volume are deformed. Vertices outside the source volume are not affected. This is the default choice.
  • Page 96: Wave Space Warp

    Wave Space Warp Create panel > Space Warps > Geometric/Deformable > Object Type rollout > Wave Create menu > Space Warps > Geometric/Deformable > Wave The Wave space warp creates a linear wave through world space. It affects geometry and behaves the same as the Wave modifier on page 2000.
  • Page 97 Using a wave to deform a box See also: Ripple Space Warp on page 2781 Procedures To create a Wave space warp: On the Create panel, click Space Warps. Choose Geometric/Deformable from the list, then on the Object Type rollout, click Wave.
  • Page 98 Interface The initial amplitude sets both Amplitude 1 and Amplitude 2. Set these parameters to unequal values to create a cross wave. Wave group These options control the wave effect. Amplitude 1 Sets wave amplitude along the wave warp object's local X axis. Amplitude 2 Sets wave amplitude along the wave warp object's local Y axis.
  • Page 99 Phase Offsets the phase of the wave from its origin at the wave object's center. Whole values have no effect; only fractional values do. Animating this parameter makes the wave appear to travel through space. Decay When set to 0.0, the wave has the same amplitude or amplitudes throughout world space.
  • Page 100: Ripple Space Warp

    Flexibility Makes the bound object more or less responsive to the wave by multiplying the amplitude by this value. Ripple Space Warp Create panel > Space Warps > Geometric/Deformable > Object Type rollout > Ripple Create menu > Space Warps > Geometric/Deformable > Ripple Geometric/Deformable | 2781...
  • Page 101 Using a ripple to deform a surface The Ripple space warp creates a concentric ripple through world space. It affects geometry and behaves the same as the Ripple modifier on page 1655. Use the Ripple space warp when you want the ripple to affect a large number of objects, or to affect an object relative to its position in world space.
  • Page 102 3 Release the mouse button to set the icon size, and then move the mouse to define the initial amplitude of the ripple wave. 4 Click to set the wave amplitude. Interface The amplitude value set by dragging applies equally in all directions. The ripple's Amplitude 1 and Amplitude 2 parameters are initially equal.
  • Page 103 Wave Length Sets the length of each wave, in active units. Phase Offsets the phase of the wave from its origin at the ripple object's center. Whole values have no effect; only fractional values do. Animating this parameter makes the ripple appear to travel through space. Decay When set to 0.0, the ripple has the same amplitude or amplitudes throughout world space.
  • Page 104: Conform Space Warp

    Flexibility Makes the bound object more or less responsive to the wave by multiplying the amplitude by this value. Conform Space Warp Create panel > Space Warps > Geometric/Deformable > Object Type rollout > Conform Create menu > Space Warps > Geometric/Deformable > Conform The Conform space warp modifies its bound object by pushing its vertices in the direction indicated by the space warp icon, until they hit a specified target object, or until the vertices move a specified distance from their original...
  • Page 105 There is also a Conform compound object on page 731 that provides additional methods of conforming one object to another. Conform viewport icon (a surface is below it) Procedures Example: Using the Conform space warp: Begin by making two objects. 1 Create a terrain by making a wide, flat box with plenty of Length and Width segments (or a quad patch).
  • Page 106 The coin/disk moves from one corner of the terrain to the other. The terrain will become the target object, and the cylinder the deformed object. The next step is to create the Conform space warp and bind it to the cylinder.
  • Page 107 7 At the Vertex sub-object level, in the Front viewport, region-select the bottom cap vertices of the cylinder. 8 Remain at the sub-object level, and in the stack display click the Conform Binding item. 9 In the viewport, select the Conform icon. 10 In the Modify panel, turn on Use Selected Vertices.
  • Page 108: Bomb Space Warp

    Wrap To Object group These options provide controls to select the target object. Pick Object Click this, and then select an object in the scene. The object you select becomes the barrier against which the bound object's vertices will be pushed.
  • Page 109 Right: Bomb viewport icon Left: Torus knot Effect of exploding the torus knot Procedures To create a Bomb space warp: On the Create panel, click Space Warps. Choose Geometric/Deformable from the list, and then on the Object Type rollout, click Bomb. 2 Create mesh objects to be exploded.
  • Page 110 On the toolbar, click the Bind to Space Warp button. 4 Drag the mouse between each object and the Bomb space warp. 5 Adjust Bomb parameters to achieve different effects. Interface Explosion group Strength Sets the power of the bomb. Larger values make the particles fly farther.
  • Page 111 Spin The rate at which fragments rotate, in revolutions per second. This is also affected by the Chaos parameter (which causes different fragments to rotate at different speeds), and by the Falloff parameter (which causes the force of the explosion to be weaker the farther the fragment is from the bomb). Falloff The distance from the bomb, in world units, of the effect of the bomb.
  • Page 112: Modifier-Based

    be physically correct, but it might look interesting. Also, if the bomb object is in motion during the blast, the result is not physically correct. Modifier-Based Space Warps Create panel > Space Warps > Modifier-Based Create menu > Space Warps > Modifier-Based Modifier-based space warps duplicate the effects of standard object modifiers.
  • Page 113: Bend Modifier

    Interface Gizmo Parameters rollout Gizmo Size group Length/Width/Height Let you adjust the warp object's dimensions. Deformation group Decay When is set to 0, there is no decay, and the space warp affects its bound object regardless of its distance from the object. When you increase the decay, the effect on the bound object falls off exponentially.
  • Page 114 Introduction to Particle Systems Particle systems are useful for a variety of animation tasks. Primarily, they're employed when animating a large number of small objects using procedural methods; for instance, creating a snowstorm, a stream of water, or an explosion. 3ds Max provides two different types of particle systems: event-driven and non-event-driven.
  • Page 115 during the event. As the event transpires, Particle Flow continually evaluates each operator in the list and updates the particle system accordingly. To achieve more substantial changes in particle properties and behavior, you can create a flow on page 7983. The flow sends particles from event to event using tests on page 8147, which let you...
  • Page 116 no other place. The default birth event also contains a number of operators that act locally to specify properties of particles while in that event. The default particle system provides a basic global event and birth event that serve as a useful starting point for creating your own system.
  • Page 117 4. Birth event 5. Depot To add an action to the particle diagram, you drag it to the event display from the depot (the area at the bottom of the Particle View dialog). If you drag an action to an event, you can add it to the event or replace an existing action, depending on where you drop it.
  • Page 118 1. Particle immediately after creation, with no speed. 2. The Speed operator sets the particle in motion. 3. The particle continues moving until acted upon by another action. The second way that particles move is logically, from event to event through the particle diagram, as constructed in Particle View on page 2811.
  • Page 119 Actions can also apply forces to particles (1), specify collision effects (2), and alter surface properties (3). In this way, the particle continues to travel through the system. Due to the flexible nature of schematic construction in Particle Flow, a particle may be redirected to the same event several times.
  • Page 120 Particle Flow FAQ This topic offers answers to a number of questions users commonly ask when first learning to use Particle Flow. The first section contains links to all the questions, and the subsequent sections contain the questions and answers organized by category.
  • Page 121 How do I use motion blur with Particle Flow? on page 2807 How do I use the Particle Age and Particle MBlur maps with Particle Flow? page 2807 I’m trying to apply Particle Flow to an animation created with a dynamics system.
  • Page 122: Is There A Way To Pre-Calculate Portions Of A Particle Simulation, As In "Baking" The Animation

    When I go to a different frame, the software sometimes seems to freeze for a while.What's going on? Most of the animation in Particle Flow is history dependent; that is, to be able to draw the particles in a particular frame, the program needs to know what happened in all previous frames.
  • Page 123: What Else Can I Do To Optimize Performance

    What else can I do to optimize performance? Particle Flow can place heavy processing and resource demands on your computer. For optimal performance, the most important thing you can do is to use the fastest available CPU. Also, when using particle systems with many particles, install as much memory as possible in your computer, especially if you're using caching.
  • Page 124: Can I Use More Than One Object As Instanced Geometry

    Force operator on page 2946 and Keep Apart operator on page 2894 with script wiring, described in the respective topics. In addition, you can execute a script at each integration step, and another just before each frame is viewed or rendered; see Script rollout on page 2836.
  • Page 125: I Sometimes See Events Named "Action Recovery" In Particle View. Where Did They Come From

    if you press Esc while Particle Flow is calculating, the software gives you the opportunity of turning off the entire particle system, thus immediately returning control of the software to you. You can then analyze the system to determine the area of slowdown, optimize or simplify the particle flow, and then recalculate the animation.
  • Page 126: Can I Use Snapshot Or Dynamics With Particle Flow

    Can I use Snapshot or dynamics with Particle Flow? No. The Snapshot tool is not currently compatible with Particle Flow, nor is reactor or the legacy dynamics system. How do I use motion blur with Particle Flow? You can apply motion blur on a per-event basis by editing the event's object properties on page 305 with the right-click menu in Particle View, or on a global...
  • Page 127: I'm Trying To Apply Particle Flow To An Animation Created With A Dynamics System.why Am I Getting Strange Results Such As Unexpected Spawning Of Particles

    The particle material cannot be a submaterial; it must be the main material. In the non-event-driven particle systems in 3ds Max, Particle MBlur is used with a control named Direction Of Travel\MBlur and an accompanying Stretch parameter. In Particle Flow, you can replicate the stretching effect by using a Scale operator, turning off Scale Factor >...
  • Page 128: How Can I Branch An Event To Several Other Events

    dummy is the parent object (that is, drag from the geometry object to the dummy). The distance between the pivots on page 3475 of the two objects determines the radius of the bubble motion. 3 In Particle View, add a Shape Instance operator on page 2904 and a Spin...
  • Page 129: How Can I Tell Which Particles Are In A Certain Event

    significantly higher than that of the test. For a list of actions’ effective time frames, see Action Time Frames on page 2839. Also, if you're testing for a specific condition that can be affected by other actions in an event, be sure to place the test after the actions. For example, in an event with a Force operator on page 2946 and a...
  • Page 130: Can An Event Be Isolated In Particle View And Not Connected To Anything

    local one, the particle system will use the value set by the global operator. You can set local operators to override global ones by choosing Particle View > Options menu > Action Order > Globals First. Can an event be isolated in Particle View and not connected to anything? Yes, but it won't affect the particle system at all.
  • Page 131 By default, the name of each operator and test in an event is followed by its most important setting or settings in parentheses. Above the event display is a menu bar, and below is the depot, containing all actions available for use in the particle system, as well as a selection of default particle systems.
  • Page 132 Particle View comprises the following elements: menu bar on page 2813 provides functions for editing, selection, adjusting the view, and analyzing the particle system. event display on page 2822 contains the particle diagram, and provides functions for modifying the particle system. The parameters panel contains rollouts for viewing and editing parameters of any selected actions.
  • Page 133 Procedures To render only particles in specific events: 1 In Particle View, highlight the events containing the particles you want to render. 2 Choose Select menu > Assign Selection To Viewport. 3 Render using one of the Render Type on page 6095 > Selected options. To bring a Particle Flow setup into a different scene: 1 In Particle View, highlight the events containing the particles you want to merge with a different scene.
  • Page 134 Interface Edit menu Each of the first three commands on this menu presents a submenu containing all actions. Choose the command, and then choose an action from the submenu. NOTE The Undo and Redo commands are available from the main 3ds Max Edit menu, and their default keyboard shortcuts are the same: Ctrl+Z and Ctrl+Y, respectively.
  • Page 135 Turn Off Selected Turns off any highlighted, turned-on actions or events. Available only when one or more highlighted items are turned on. Make Unique Converts an instanced action to a copy that's unique to its event. Available only when one or more instanced actions are highlighted. Wire Selected Wires one or more highlighted tests to a highlighted event, or one or more highlighted global events to a highlighted birth event.
  • Page 136 Select menu By default, the Select tool is active when Particle View is open, as indicated by the arrow-shaped mouse cursor. You can use this tool to highlight, move, and copy events, actions, tools, and wires. You can also use the commands on this menu to highlight all elements, no elements, or elements by category.
  • Page 137 Select None Deselects all items in the event display. Alternatively, click an empty area in the event display. Select Actions Highlights all operators and tests in the event display. Select Operators Highlights all operators in the event display. Select Tests Highlights all tests in the event display. Select Events Highlights all events in the event display.
  • Page 138 Display menu The first five commands on this menu are also available as icons, in the Display tools section on the right side of the bottom border of the Particle View dialog. Each command's Display tools icon is shown below. Pan Tool Drag in the event display to move the view.
  • Page 139 No Zoom Sets the zoom to the default level. This is the level displayed when you first open Particle View in a given session. Parameters Toggles display of the parameters panel, on the right side of the Particle View dialog. Default=on. Depot Toggles display of the depot, below the Particle View dialog.
  • Page 140 Shape operator last at each integration step, overwriting any local shapes, so all particles would be cubes. But if you set Action Order to Globals First, the local shapes are applied last, and particles appear as tetrahedrons or spheres, depending on which event they're in. Globals First At each integration step, Particle Flow first applies actions in the global event, and then actions in the other (local) events.
  • Page 141 Use Dynamic Names When on, action names in events are followed by their most important setting or settings, in parentheses. When off, only the names appear. Default=on. Particle View Event Display Select a Particle Flow source icon. > Modify panel > Setup rollout > Click Particle View (or press 6).
  • Page 142 changes to the first depicted image when you can begin this operation, and to the second image when you can complete it. To pan or zoom the event display, use the controls available from the Display menu on page 2819, the right-click menu on page 2825, or as icons at the bottom-right of the dialog.
  • Page 143 The test icon changes to a green or red light bulb to indicate current functionality: green for always True, and red for always False. To return to the original functionality, click the icon again. The mouse cursor changes to the depicted image when this action is possible. Selecting, Moving, and Copying To copy an action or event, first press and hold the Shift key and position the mouse cursor over the item to copy.
  • Page 144 To delete an event, action, or wire, highlight it and then press Delete. Be sure the Particle Dialog is active, or you might inadvertently delete a selection in the scene instead. To move an action, drag its name (not its icon) to the new location. If you drag the event to an edge of the display, and scrolling is possible, the display window will automatically scroll in that direction.
  • Page 145 Create panel > Geometry > Particle Systems > Object Type rollout > Click PF Source. > Setup rollout > Click Particle View (or press 6). > Right-click in event display. The event display right-click menu provides handy access to a number of contextual commands.
  • Page 146 more global events and a single birth event are highlighted, and when you right-click over an eligible, highlighted item. Copy Copies any highlighted events, actions, and wires to the paste buffer. Available only when the mouse cursor is over an highlighted action, but affects all highlighted items.
  • Page 147 Rename Lets you rename the item under the mouse cursor. Enter a new name from the keyboard. Properties Opens the Object Properties dialog for the event under the mouse cursor. Available only when the mouse cursor is over the title bar of a highlighted event.
  • Page 148 NOTE A comment is specific to the action or event to which it's applied. If you copy a commented event or action, the comment is not included in the copy, because it's probably not applicable to the copy. Pan Switches to the Pan tool. Drag in the event display to change the view; right-click to exit.
  • Page 149 central logo (see above illustration), but you can change its shape and appearance using the controls described below. When you select a source icon in the viewport, the Particle Flow emitter-level rollouts appear on the Modify panel. Alternatively, click the title bar of a global event in Particle View to highlight it, and to access the emitter-level rollouts from the parameters panel on the right side of the Particle View dialog.
  • Page 150 Setup rollout Use these controls to turn the particle system on and off, and to open Particle View. NOTE This rollout appears only on the Create and Modify panels, not on the Particle View dialog > parameters panel. Enable Particle Emission Turns the particle system on and off. Default=on. You can also turn off all particle flows in Particle View with Edit menu >...
  • Page 151 Emitter Icon group Logo Size Sets the size of the Particle Flow logo, which appears at the center of the source icon, as well as the arrow that indicates the default direction of particle motion. By default, the logo size is proportional to that of the source icon; with this control, you can make it larger or smaller.
  • Page 152 The total number of particles is determined by the combined effects of the following operators and tests: Birth on page 2844, Birth Script on page 2847, Delete on page 2848, Collision Spawn on page 2964, and Spawn on page 2991. Scripted operators and tests can also affect this number.
  • Page 153 Particle Lets you select particles by clicking them or dragging a region. Event Lets you select particles by event. At this level, you can select all particles in one or more events by highlighting the event(s) in the Select By Event list on page 2834, or in the viewports with standard selection methods.
  • Page 154 System Management rollout Use these settings to limit the number of particles in the system, and to specify the frequency of updating the system. Particle Amount group Upper Limit The maximum number of particles the system may have. Default=100000. Range=1 to 10000000. TIP You can have more than 10,000,000 particles in a single system by using multiple particle sources and wiring them to the same birth event.
  • Page 155 Script rollout This rollout lets you apply a script to the particle system at each integration step, as well as after the last integration step of each frame you view. Use an Every Step Update script to set up history-dependent properties, and a Final Step Update script to set up history-independent properties.
  • Page 156 Use Script File When on, you can load a script file by clicking the button below. [button] Click this button to display an Open dialog that lets you specify a script file to load from disk. After you load a script, the name of script file appears on the button.
  • Page 157 Particle Flow Keyboard Shortcuts To use Particle Flow keyboard shortcuts, the Keyboard Shortcut Override Toggle on the main toolbar must be turned on. To view and customize these shortcuts, open the Customize User Interface dialog from the Customize menu, and then, from the Group drop-down menu, choose Particle Flow.
  • Page 158 Tests on page 2956 Action Time Frames Most actions in Particle Flow operate on particles in either of two time frames: once, when the particle first enters the event, or on a continuous basis, potentially changing particle behavior at each integration step. Some actions can work only in one time frame, while others can work on an instantaneous or continuous basis, depending on their settings.
  • Page 159 Operator Time Frame Position Object Once, except continuous with Lock On Emitter Rotation Once, except continuous with Speed Space Follow Scale Once, except continuous with Absolute and Relative options Script Operator Depends on script Shape Once Shape Facing Continuous Shape Instance Once, except continuous with Animated Shape Shape Mark...
  • Page 160 result: True or False. So, as tests, they work on a continuous basis. For example, Age Test checks each particle's age at every integration step, because particles might not reach the specified age until remaining in the event for a while, and also because another action in the event might change or reset particle age.
  • Page 161 The second group, found at the end of the depot listing, contains four operators that serve more of a utility function: Cache, for optimizing particle-system playback; Display, for determining how particles appear in the viewports; Notes, for adding comments; and Render, for specifying render-time characteristics.
  • Page 162 Material Static Operator on page 2920 Position Icon Operator on page 2850 Position Object Operator on page 2853 Rotation Operator on page 2861 Scale Operator on page 2865 Spin Operator on page 2863 Select and Uniform Scale on page 963 Script Operator on page 2953 Shape Operator...
  • Page 163: Birth Operator

    Birth and Death Birth Operator Particle View on page 2811 > Click Birth in an event or add a Birth operator to the particle system and then select it. The Birth operator enables creation of particles within the Particle Flow system using a set of simple parameters.
  • Page 164 You can't. As you drag over the different actions in Event 01, a red line appears at the top of the event, showing that the Birth operator will be placed here, no matter where you release the mouse button. 4 Try to drag a new Birth operator from the depot to Event 01. As in the previous step, the only place you can drop the Birth operator is at the top of the event, replacing the existing Birth operator.
  • Page 165 Interface The user interface appears in the parameters panel, on the right side of the Particle View dialog. Emit Start The frame number at which the operator begins emitting particles. Emit Stop The frame number at which the operator stops emitting particles. NOTE The Emit Start and Emit Stop values are tied to the system frame rate.
  • Page 166: Birth Script Operator

    Rate To specify the number of particles emitted per second, choose Rate, and then set the value. The operator emits this number of particles per second starting at the Emit Start frame and ending at the Emit Stop frame. If you specify a birth rate value that isn’t an integer multiple of the system frames-per-second value (set in the Time Configuration dialog), Particle Flow uses interpolation to determine when to emit particles.
  • Page 167: Delete Operator

    Interface The user interface appears in the parameters panel, on the right side of the Particle View dialog. Edit Script Click this button to open the current script in a MAXScript Editor window. For detailed information about the MAXScript utility, open the MAXScript Reference, available from Help menu >...
  • Page 168 to define the particles' maximum age. For an example of usage, see Material Dynamic operator on page 2925. Interface The user interface appears in the Parameters panel, on the right side of the Particle View dialog. Remove group Choose whether to delete all particles, selected particles, or particles past a specific age.
  • Page 169: Position Icon Operator

    Uniqueness group The Uniqueness setting enables randomization of maximum particle age using the By Particle Age > Variation setting. Seed Specifies a randomization value. New Calculates a new seed using a randomization formula. Transforms Position Icon Operator Particle View on page 2811 > Click Position in an event or add a Position operator to the particle system and then select it.
  • Page 170 Interface The user interface appears in the parameters panel, on the right side of the Particle View dialog. Lock On Emitter When on, causes all particles to remain at their initial positions on the emitter. In effect, they're “glued” to the emitter. When off, each particle's birth position is determined by the emitter's current location.
  • Page 171 Location group The Location drop-down list lets you specify where on the emitter the particles appear. You can create a variety of emission behaviors by varying the icon type on page 2832, Location setting, and direction of emission. Default=Volume. Pivot Emits particles from the center of the icon.
  • Page 172: Position Object Operator

    Position Object Operator Particle View on page 2811 > Click Position Object in an event or add a Position Object operator to the particle system and then select it. By default, particles are born, or emitted, from the Particle Flow icon. The Position Object operator lets you emit particles from any other object or objects in the scene instead.
  • Page 173 3 In the Emitter Objects group, click Add, and then select an object to serve as the emitter. Alternatively, click By List and then use the Select Emitter Objects dialog to designate one or more objects as emitters. 4 Use the Location drop-down list to choose where the particles should appear on the emitter: surface, vertices, and so forth.
  • Page 174 Interface Particle Flow | 2855...
  • Page 175 The user interface appears in the parameters panel, on the right side of the Particle View dialog. Lock On Emitter When on, causes all particles to remain at their initial positions on the emitter. In effect, they're “glued” to the emitter. When off, each particle's birth position is determined by the emitter's current location.
  • Page 176 If you delete from the scene an object designated as an emitter, its entry in the list is replaced with “<deleted>”. Use the Add and Remove buttons to edit this list. Add Adds an object to the list. Click Add, and then click an object in the viewport.
  • Page 177 Selected Edges Emits particles from the current edge sub-object selection. Selected Faces Emits particles from the current face or polygon sub-object selection. You can modify the Location choice with any combination of the following: Surface Offset Lets you specify a range of distances from the object surface for particle placement.
  • Page 178 The box emitter is mapped with a gradient. With Position Object set to Density By Material > Grayscale, the particles appear with greater frequency in the lighter areas of the box. Opacity Particles are more likely to appear on opaque areas than on transparent areas.
  • Page 179 that corresponds to one of the sub-materials, the sub-material doesn't appear. However, the operator can use it to calculate the density of particle placement. The software assumes the material to be applied to the entire object surface. Mtl ID Specifies the material ID of the sub-material to be used for particle emission.
  • Page 180: Rotation Operator

    Rotation Operator Particle View on page 2811 > Click a Rotation operator in an event or add a Rotation operator to the particle system and then select it. The Rotation operator lets you set and animate particle orientation during an event, with optional random variation.
  • Page 181 World Space Orientation is specified in the world coordinate space. Use the X/Y/Z settings to specify the orientation for all particles. Speed Space The coordinate space for particle orientation is determined by the particles' direction upon entering the event. By default, using the Speed operator on page 2871 >...
  • Page 182: Spin Operator

    Uniqueness group The Uniqueness setting affects the randomization of orientation with the Random 3D and Random Horizontal options, and also Divergence. Seed Specifies a randomization value. New Calculates a new seed using a randomization formula. Spin Operator Particle View on page 2811 > Click a Spin operator in an event or add a Spin operator to the particle system and then select it.
  • Page 183 Variation The maximum amount, in degrees per second, by which the spin rate can vary. The actual variation is calculated once, at random, for each particle. Spin Axis group The Spin Axis setting includes options that let you apply the spin on a random or specific axis, with optional random variation of the spin axis.
  • Page 184: Scale Operator

    (1/3 of the angle) from the X axis to the Y axis, you'd set the Y value to twice that of the X value. For example, X=0.2 and Y=0.4, or X=0.5 and Y=1.0. Divergence Defines the range of variation (in degrees) for spin-axis orientation. The actual deviation is calculated at random within this range.
  • Page 185 5 In the Event 02 > Scale operator, set Type to Absolute, and animate the Scale Factor values from 10 to 100 over frames 0 to 30. In the Animation Offset Keying group, set Sync By to Event Duration. 6 Add an Age Test to Event 02. Set it to Event Age, set Test Value to 30, and Variation to 0.
  • Page 186 17 In Particle view, right-click the Scale Factor X % parameter field on the Scale 04 rollout, and choose Show In Track View. The Curve Editor opens with the X Scale Factor parameter highlighted. 18 Right-click the X Scale Factor item and choose Assign Controller from the menu.
  • Page 187 Interface The user interface appears in the parameters panel, on the right side of the Particle View dialog. Type The scaling Type setting includes options that let you scale particles once in an event or repeatedly, and apply scaling as an absolute or relative factor. Default=Overwrite Once.
  • Page 188 Scale setting in the Shape operator on page 2900, or a Shape Instance operator on page 2904. For instance, if you previously used Scale with Overwrite Once to scale particles' birth size within a range, and then want to scale them to half their previous size, use Inherit Once and set Scale Factor to 50%.
  • Page 189 Bias Lets you choose how to distribute the scaling variation within the specified range or ranges. Default=None. None No bias; scaling variation is distributed equally through the range. Centered Scaling variation is concentrated near the middle of the range; that is, at 0.0%. With this choice, scaling will occur more frequently with low percentage values than with ones near the values you set.
  • Page 190: Speed Operator

    NOTE With the Overwrite Once and Inherit Once scaling types, scaling always occurs with respect to the entire animation; that is, in Absolute Time mode. Thus, when either of those scaling types is in effect, the Sync By setting is unavailable. Also, if you animate Scale Factor or Scale Variation when using Overwrite Once or Inherit Once, it doesn't cause scaling animation in the particles, but rather applies one-time scaling to particles born during that period.
  • Page 191 objects as emitters, use the Speed By Surface Operator on page 2886 operator instead. See also: Speed By Icon Operator on page 2876 Keep Apart Operator on page 2894 Procedures Example: To change particles' speed: The Speed operator works on an instantaneous basis: It sets each particle's speed once only, when it enters the event.
  • Page 192 10 Add a Send Out test at the end of Event 02. 11 Create a new event using an Age Test. Click the Age Test to display its parameters, and then set the following: Event Age Test Value=1 Variation=0 12 Wire the Send Out test in Event 02 to Event 03. 13 Wire the Age Test in Event 03 to Event 02.
  • Page 193 Interface The user interface appears in the parameters panel, on the right side of the Particle View dialog. Speed The particle speed in system units per second. Default=300. A positive Speed value moves the particles in the direction determined by the Direction setting;...
  • Page 194 Particle movement is always in a straight line unless influenced by other factors. Along Icon Arrow Particles move parallel to the icon arrow. Rotate the icon to change the direction. Icon Center Out Each particle moves along an imaginary line drawn between the particle's location and the icon center.
  • Page 195: Speed By Icon Operator

    TIP For a fountain-like spray, set Position > Location to Pivot, set Direction to Along Icon Arrow, set Divergence to the desired angle, and rotate the icon so its arrow points upward. Uniqueness group The Uniqueness setting enables randomization of speed variation, and randomization of direction with the Random 3D and Random Horizontal options.
  • Page 196 world origin (0,0,0). When animated, the operator icon's motion is imparted to the particles. If you delete the icon, the software also deletes the operator. NOTE If you add Speed By Icon from the Create panel, Particle Flow creates a separate event for the operator in the particle diagram.
  • Page 197 2 On the Create panel, choose Shapes > Splines > Helix, and then, in the Perspective viewport, at the center of the grid, create a helix shape. Then, on the Parameters rollout, set the following: Radius 1=100 Radius 2=20 Height=20 Turns=3 Bias=0 This will serve as the particle path.
  • Page 198 5 In Event 01, click the Position Icon operator and set Location to Pivot. This causes the particles to be emitted in a thin stream. 6 Insert a Speed By Icon operator at the end of Event 01. The operator icon appears at the world origin. 7 Select the operator icon, and then, from the Animation menu, choose Position Controllers >...
  • Page 199 The particle stream diverges from the path at its endpoint. 10 Stop at frame 100. This will let you see the results of changing the Speed By Icon parameters as you make the changes. 11 Open the Modify panel, and, if necessary, select the Speed By Icon operator icon.
  • Page 200 The endpoints now coincide. 13 Drag the time slider again. The particle path remains similar to that of the Helix for the entire duration of the animation. With other setups, you might need to use different values for Influence %, and for paths with tight twists and turns, you might need to increase Accel Limit as well.
  • Page 201 To use the Use Icon Orientation option: The Use Icon Orientation option applies arc-like motion to the particles based on rotation animation of the icon. To best understand how it works, it's necessary to isolate its influence by eliminating any potentially conflicting factors.
  • Page 202 11 Try moving and rotating the two icons, playing the animation each time you make a change. Also set Emit Stop back to 30. As you can see, the possibilities with just this simple setup are myriad. In combination with the many other variables and options in Particle Flow, they're endless.
  • Page 203 TIP Use a lower Accel Limit value for smooth motion, and a higher value when greater accuracy is needed, such as when the particles should hit a small target. You can animate this setting (use Sync By > Event Duration) to specify different appropriate values, depending on the required results.
  • Page 204 if you set Sync By to Particle Age, and set Speed Variation keys at frames 0 and 30, then the software will animate the speed variation for each particle born while the event is active between its birth and its 30th frame of existence. Alternatively, if you set Sync By to Absolute Time, the speed variation is animated from frame 0 to frame 30 of the animation, even if no particles are in the event at that time.
  • Page 205: Speed By Surface Operator

    Seed Specifies a randomization value. New Calculates a new seed using a randomization formula. Speed By Surface Operator Particle View on page 2811 > Click Speed By Surface in an event or add a Speed By Surface operator to the particle system and then select it. The Speed By Surface operator lets you control particle speed and direction with any object or objects in the scene.
  • Page 206 2 Add a Cylinder primitive to the scene. Position it above the source icon: X/Y=0 and Z=30. Set Radius=20 and Height=40. 3 Play the animation, and then stop. The particles move downward, using the default starting setup. 4 Open Particle View and add a Speed By Surface operator to the end of Event 01.
  • Page 207 move along the XY plane, and when they're closer to the vertical sides, they move downward. If you want them to move upward instead, set Speed to a negative value. Next, you'll discover how the Control Speed Continuously option alters particle behavior.
  • Page 208 Interface Particle Flow | 2889...
  • Page 209 The user interface appears in the parameters panel, on the right side of the Particle View dialog. The first setting lets you choose whether the operator controls speed once or continuously. Set Speed Once The operator sets the speed for each particle once: when the particle enters the event.
  • Page 210 Add Adds an object to the list. Click Add, and then click an object in the viewport. By List Adds multiple objects to the list. Click By List to open the Select Surface Objects dialog. This works just like Select From Scene on page 228: Highlight the objects to use to control speed and direction, and then click the Select button.
  • Page 211 about -1%, respectively, and values of 129 to 255 result in multipliers of about 1% to 100%, respectively. RGB as World XYZ Mult. Works like Grayscale Multiplier, but uses the intensity of the material's red, green, and blue channels to affect particle speed on the world X, Y, and Z axes, respectively.
  • Page 212 TIP You can use this option to confine particles to the interior of an object. Position the emitter inside the object, designate the object as the Surface Geometry, choose Control Speed Continuously, and choose Out Of Surface. Each time a particle comes close to a surface, it turns to travel directly away from the surface.
  • Page 213: Keep Apart Operator

    Falloff Zone The distance, in system units, beyond the Range value within which the Surface Geometry exerts partial control over particles. The degree of control diminishes from 100% at the Range distance to 0% at the Range+Falloff Zone distance. Animation Offset Keying group Choose the time frame for applying animated parameters.
  • Page 214 TIP In certain cases, the default settings might not be sufficient to keep particles from interpenetrating. For increased separation, use higher values for Force and Accel Limit, choose Relative To Particle Size, and increase the Core % value. See also: Speed Operator on page 2871 Speed By Surface Operator...
  • Page 215 Absolute Size Range Particle Flow applies the script particleVector values to the Absolute Size Range values. The X component of the vector value is used for the core radius, and the Y component for the falloff radius. Relative Size Range Particle Flow applies the script particleVector values to the Relative Size Range values.
  • Page 216 Interface The user interface appears in the parameters panel, on the right side of the Particle View dialog. Particle Flow | 2897...
  • Page 217 Force The amount of force applied to the particles. Use positive values to separate particles, or negative values to move them closer together. Default=100.0 Accel(eration) Limit When on, lets you set a maximum acceleration value that can be applied to particles' motion. When off, the software uses any necessary acceleration.
  • Page 218 will be a random number in the range 20 to 60, and the falloff zone a random number in the range 10 to 30. For each particle, the software uses the same Variation % value, so if Core Radius is determined to be 20, then Falloff Zone would be 10.
  • Page 219: Shape Operator

    Seed Specifies a randomization value. New Calculates a new seed using a randomization formula. Shape Shape Operator Particle View on page 2811 > Click Shape in an event or add a Shape operator to the particle system and then select it. Shape is the default operator for defining the geometry used in the particle system.
  • Page 220: Shape Facing Operator

    Tetra These tetrahedron-shaped particles have a four triangular sides. Having only four polygons, the tetra is the simplest of the rendering particle shapes. Cube These box-shaped particles have six square sides, all the same size. Sphere Creates spherical particles. The sphere has the most polygons of the rendering particle shapes, and its orientation isn't obvious.
  • Page 221 Interface Look At Camera/Object group Use this control for defining the camera or object toward which the particle will face. This object is known as the Look At object. For the technically minded, the facing is maintained by keeping each particle's local Z axis pointed at the Look At object, or when Use Parallel Direction is on, aligned with the vector between the Particle Source icon and the Look At object.
  • Page 222 Use Parallel Direction When off, all particles continuously rotate to stay facing toward the Look At object. Each particle's orientation varies because its location differs from those of the others. When on, all particles face in the same direction, defined by an imaginary line between the Particle Source gizmo center and the Look At object.
  • Page 223: Shape Instance Operator

    Adjust this ratio to that of the particle-map imagery. For the commonly used TV aspect ratio of 4:3, set W/H Ratio=1.33. The parameter is not animatable. Range=0.001 to 1000. Default=1 (square particles). This value is not animatable. Orientation Use this drop-down list to choose how particles rotate on the axes not specified by the Look At direction.
  • Page 224 geometry are reflected instantly in the particle system. If you hide the original geometry, the particles still appear. However, if you delete the original geometry, the particles are deleted as well. Using Transform-Animated Reference Objects You can create animated particle shapes by animating the reference object with modifiers, and then turning on Animated Shape on page 2910.
  • Page 225 Use the Align tool to center the teapot to the dummy. This step isn't necessary, but it can help to obtain more consistent results. Link the teapot as a child of the dummy (drag from the teapot to the dummy). You can use any object as the parent, but using a dummy, which doesn't render, lets you animate all instanced particles visible in the final animation.
  • Page 226 Interface Particle Geometry group Use this control for defining the object to be used as the particle geometry. This object is known as the reference object. [button] Click this button, and then select a geometry object in the scene to be used as the particle shape.
  • Page 227 include multi-shape objects such as groups and hierarchies; see Separate Particles For group on page 2908. After picking a reference object, its name appears on the button. You can use almost any geometry object as a reference object. By default, the operator automatically converts closed splines to rendering geometry by “filling in”...
  • Page 228 example, if you create text in the Front viewport, assign it as reference geometry, and turn on Object Elements, the letters come out in the proper order. You can vary the order randomly by turning on Multi-Shape Random Order on page 2910. You can turn on any combination of Separate Particles items.
  • Page 229 If the reference object is a group, with different materials applied to the group members, the software creates a new Multi/Sub-Object material containing all of the materials and uses it as the particle material. TIP Because materials are sticky” in Particle Flow, if you turn off Acquire Material after specifying a reference object with an attached material, the material remains applied to the particles.
  • Page 230: Shape Mark Operator

    Animation Offset Keying group These controls are available only when Animated Shape is on. Sync By Lets you choose how to synchronize reference-object animation with the particles. Absolute Time All particles have the same shape at any given moment. Particle Age Animation of the reference object is synchronized with particle age: Frame 0 of the reference-object animation corresponds to the frame of each particle's birth.
  • Page 231 A typical application of Shape Mark would be to leave marks after particles impact objects in the scene. For example, when a torpedo hits a boat and explodes, you could use Shape Mark to leave scorch marks on the boat surface. TIP By default, the mark left by Shape Mark is always rectangular, no matter what shape the particles are.
  • Page 232 4 In the Collision test, designate the deflector from step 1. 5 Create a new event with the Shape Mark operator, and wire the Collision test to this event. 6 In the Shape Mark operator > Contact Object group, designate the object from step 1.
  • Page 233 Interface 2914 | Chapter 14 Space Warps and Particle Systems...
  • Page 234 Contact Object group Use this control for defining the object on which marks are to be left. [button] Click this button, and then select an object in the scene to use as the contact object. The mouse cursor changes to a cross shape when positioned over a valid object.
  • Page 235 Size group Use these settings to specify the coordinate system for setting the size of the mark, as well as the size parameters. The numeric settings in this group are not animatable. In World Space Sets the absolute size of the mark in system units, using the World coordinate system.
  • Page 236 Box Height Sets the height of the box used with the Box Intersection method. Available only with Box Intersection. Default=10.0. Allow Multiple Elements When on, particles can leave marks on all parts of contact objects that contain multiple elements. When off, a particle marks only the first element it collides with.
  • Page 237 The mark is slightly elevated above the contact geometry to achieve the visual effect of the mark spot overlapping the contact geometry. This parameter is not animatable. Offset Variation Specifies the maximum extent of a random variation in the actual surface offset among particles. Default=0.0. Adjusting this value can help to alleviate rendering artifacts with overlapping marks.
  • Page 238 Following are some items to keep in mind when using materials with Particle Flow: A material is a static property of an event. It does not travel along with the particles from one event to the next. A particle's material ID does, but its material does not.
  • Page 239: Material Static Operator

    Material Static Operator Particle View on page 2811 > Click Material Static in an event or add a Material Static operator to the particle system and then select it. The Material Static operator lets you give particles material IDs that remain constant throughout the event.
  • Page 240 The user interface appears in the parameters panel, on the right side of the Particle View dialog. Assign Material When on, the operator assigns a material to the particles. Default=on. [button] Use this button to assign a material to the operator. Click the button and then use the Material/Map Browser to choose the material.
  • Page 241 Rate group These settings let you choose the basis on which the operator changes material ID assignments, and specify the rate of change. Per Second Sets the number of times per second that the assigned material ID is incremented. If this value is the same as the rate at which particles enter the event, then one ID is assigned per particle.
  • Page 242: Material Frequency Operator

    New Calculates a new seed using a randomization formula. Material Frequency Operator Particle View on page 2811 > Click Material Frequency in an event or add a Material Frequency operator to the particle system and then select it. The Material Frequency operator lets you assign a material to an event, and specify the relative frequency with which each sub-material appears on the particles.
  • Page 243 Interface The user interface appears in the parameters panel, on the right side of the Particle View dialog. Assign Material When on, the operator assigns a material to the particles. Default=on. [button] Use this button to assign a material to the operator. Click the button and then use the Material/Map Browser to choose the material.
  • Page 244: Material Dynamic Operator

    Show In Viewport When on, the material is shown applied to the particles in the viewports. # Sub-Materials Displays the number of sub-materials in the assigned material. Material ID #1–10 Specifies the relative likelihood of particles to be assigned the corresponding material ID. Assign values for all IDs, or sub-materials, in the material that you want to have applied to the particles.
  • Page 245 page 5889 or the Particle MBlur map on page 5891. Alternatively, you can use different sub-materials from a compound material such as Multi/Sub-Object. NOTE When using Object Motion Blur, if an event contains a Material Dynamic operator that uses a material with a Particle Age/MBlur/Bitmap map, the event should not also contain a Delete operator, or a Spawn or Collision Spawn test.
  • Page 246 At the material level, turn on Show Map In Viewport. 7 Add a camera to the scene and set it up as desired. Activate the Perspective viewport and press the C key to set the viewport to show the camera view. 8 Create a default Particle Flow system.
  • Page 247 Example: To use the Particle Age map: Particle Age map on page 5889 applies up to three different colors or maps to particles throughout their life span, gradually changing from one to the next as the particles age. This effect can be used, for example for sparks flying from a fire: At first they're yellow;...
  • Page 248 TIP You needn't actually delete the particles to use this method. There are several ways to avoid this. You could set Life Span to a higher number than the length of the animation, and then, in the Particle Age map parameters, lower the Age #2 and Age #3 settings.
  • Page 249 The user interface appears in the parameters panel, on the right side of the Particle View dialog. Assign Material When on, the operator assigns the specified material (see next parameter) to the particles. Default=on. [button] Use this button to assign a material to the operator. Click the button and then use the Material/Map Browser to choose the material.
  • Page 250 Randomize Age Offset When on, the software varies the difference between the particle age and the starting material ID at random. The maximum difference is determined by the Max Offset parameter. Max Offset The maximum number of frames by which the software can randomly vary particle age.
  • Page 251: Mapping Operator

    Loop When on, and the last ID has been assigned, the software loops back around to the first ID and continues the cycle. When off, the software assigns the last cycle ID to all subsequent particles. Available only with the Cycle assignment method.
  • Page 252 you can vary the location on the material map from which the particle color is taken, thus changing the particle color in a predictable way over time. The Mapping operator was designed primarily to be used with gradient maps, although you can use it with any map you like. The procedure below describes a recommended method for using the Mapping operator.
  • Page 253 11 On the Mapping rollout in Particle View, turn on Show Map In Viewport. Go to frame 100 and turn on Auto Key. 13 On the Mapping rollout in Particle View, set Map Values > U=1.0. 14 For Sync By, choose Particle Age. Turn off Auto Key, and click Play Animation.
  • Page 254: Cache Operator

    Map Values group U/V/W Set the coordinates on the map from which the particle color is taken. One pixel from this location is used to color the entire particle. In general, U and V represent the horizontal and vertical dimensions, respectively, beginning at the upper-left corner of the map, and W is useful only with three-dimensional maps, in which context it specifies depth.
  • Page 255 than recalculating the particle action. This is particularly useful with large or complex particle systems, where playback, and particularly backtracking, are slow because of the large amount of processing required. With caching on, the particle system needs to be calculated only once for each frame, and thereafter playback and moving among frames is significantly faster.
  • Page 256 4 In Particle View, Add a Keep Apart operator on page 2894 to Event 01. Keep Apart is a fairly calculation-intensive operator. 5 Go to frame 100 by clicking the right end of the time slider track. There is a delay as the system calculates all particle motion between frames 0 and 100.
  • Page 257 13 Click the Keep Apart operator, change the Falloff Zone value to 9.0, and then drag the time slider. There is no delay, because the animation is still playing back from the cached data. However, the cached data is now invalid, because you changed a parameter in the particle system.
  • Page 258 Interface The user interface appears in the parameters panel, on the right side of the Particle View dialog. Use At Caches particle motion when playing back in the viewports, or at render time, or both. Default=Viewport. IMPORTANT Choose the Viewport/Render option only when using the same number of particles in the viewports and for rendering (see Quantity Multiplier group...
  • Page 259 Update If you change a parameter in the particle system, the cached data might become invalid. This setting determines whether Particle Flow should update the cache automatically, or let you do it manually. Default=Always. Always Changing any parameter under the Cache operator's purview causes it automatically to update stored data from the start of the current range (see next parameter) to the current frame.
  • Page 260 (see above). If Use At is set to Viewport/Render, it uses lower of the two Integration Step values. For example, if Viewport is set to Half Frame, and Render to 1/8 Frame, the sampling rate would be eight per frame. Every Nth Frame The software caches animation data at frame intervals specified by the N value, below.
  • Page 261 range. At the same time, by default, the animation plays in the viewports. To prevent this, and speed calculation, turn off Update Viewports. If the cache runs out of memory during a manual update, Particle Flow halts the update operation and displays an alert. Click OK to continue, and then, if possible, increase the Limit value before updating the cache again.
  • Page 262: Display Operator

    use virtual (hard disk-based) memory instead, which slows down the caching. If Particle Flow fills the cache, any remaining frames are calculated on the fly. This group also lets you monitor the amount of memory used for caching data. Limit The maximum amount of system memory used to cache particle data, in kilobytes.
  • Page 263 operators (for example, both global and local operators) simultaneously, the software generates all viewport particle representations at the same time. See also: Render Operator on page 2951 Interface The user interface appears in the parameters panel, on the right side of the Particle View dialog.
  • Page 264 TIP When using the Lines display type with the OpenGL display driver, slow-moving particles might not appear properly in the viewports. In such cases, to see all particles, add a second Display operator in the same event and set its Type to Dots. Bounding Boxes (3D) Each particle appears as a bounding box.
  • Page 265: Force Operator

    NOTE When a Particle Flow source icon is selected, all of its non-selected particles, other than those shown as geometry, are colored white in the viewports. To see all assigned particle colors, deselect the particle system. Selected Choose how selected particles on page 2833 appear in the viewports.
  • Page 266 Script Wiring rollout This rollout appears in the parameters panel below the main operator rollout after you highlight the operator, right-click it, and then choose Use Script Wiring. Thereafter, a check mark appears next to the Use Script Wiring in the right-click menu, and the rollout appears whenever you highlight the operator.
  • Page 267 Interface The user interface appears in the parameters panel, on the right side of the Particle View dialog. Force Space Warps group This group displays the forces currently in effect, and let you add and remove forces. [List] Shows the forces that apply to this operator. If more than three forces apply, a scroll bar appears at the right side of the list.
  • Page 268 By List Click this button, and then use the Select Force Space Warps dialog to add one or more space warps to the list. The space warps must already exist in the scene. The software adds space warps to the list in same order in which they appear in the dialog.
  • Page 269: Notes Operator

    Notes Operator Particle View on page 2811 > Click Notes in an event or add a Notes operator to the particle system and then select it. The Notes operator lets you add a textual comment to any event. It doesn't have any direct effect on the particle system, but it helps you keep track of the overall function of each event.
  • Page 270: Render Operator

    Render Operator Particle View on page 2811 > Click a Render operator in an event or add a Render operator to the particle system and then select it. The Render operator provides controls related to rendering particles. You can specify the form that rendered particles are to take, and how to convert the particles to individual mesh objects for rendering purposes.
  • Page 271 Update script on page 2837 to pass data from the particle system to other objects in the scene. Visible % The percentage of particles that render. Range=0 to 100. Default=100. Lower this value for faster rendering of complex particle systems. You can also reduce the number of particles in the system at render time with Quantity Multiplier >...
  • Page 272: Script Operator

    This is the least efficient method of operation, but might be required by certain renderers. NOTE With the default scanline and mental ray renderers, this method does not support rendering of particles born after the start of the rendered frame sequence. In general, use Mesh Per Particle only with renderers that require it.
  • Page 273: See Also

    The user interface appears in the parameters panel, on the right side of the Particle View dialog. Edit Script Click this button to open the current script in a MAXScript Editor window. For detailed information about the MAXScript utility, open the MAXScript Reference, available from Help menu >...
  • Page 274 the global event will also contain a Display operator. Adding an Empty Flow also creates a Particle Flow Source icon in the viewports, at the world origin (0,0,0). NOTE If an orthogonal viewport is active when you add an Empty Flow to the system, the software orients the new source icon parallel to the plane of the active viewport, with the default emission direction pointing forward.
  • Page 275: Tests

    Tests The basic function of a test in Particle Flow is to determine whether particles satisfy one or more conditions, and if so, make them available for sending to another event. When a particle passes a test, it is said to “test True.” To send eligible particles to another event, you must wire the test to that event.
  • Page 276 The Particle Flow tests in the Particle View depot The tests are: Age Test on page 2958 Collision Test on page 2960 Collision Spawn Test on page 2964 Find Target Test on page 2970 Go To Rotation Test on page 2981 Scale Test on page 2987 Script Test...
  • Page 277: Age Test

    Split Source Test on page 3001 See also: Operators on page 2841 Flows on page 2954 Age Test Particle View on page 2811 > Click Age Test in an event or add Age Test to the particle system and then select it. Age Test lets the particle system check whether a specific amount of time has passed since the start of the animation, or how long a particle has existed, or how long a particle has been in the current event, and branch accordingly.
  • Page 278 Particle Age Tests the current age of each particle in frames. This is the default test type. Event Age Tests the current duration of the current event in frames. Test True if Particle Value Lets you specify whether the test passes particles on to the next event if the age test succeeds or fails.
  • Page 279: Collision Test

    Collision Test Particle View on page 2811 > Click Collision in an event or add Collision to the particle system and then select it. Collision tests for particles that collide with one or more specified Deflector space warps. It can also test whether a particle has slowed down or sped up after one or more collisions, has collided more than once, and even whether it will collide with a deflector in a specified number of frames.
  • Page 280 2 Add a Gravity space warp and a Deflector space warp. Decrease the deflector's Bounce setting below 1.0, and increase the Variation and Chaos values above 0.0. Set the deflector's Width and Length to 500. 3 Create a default Particle Flow system. Position the emitter directly above the deflector.
  • Page 281 Interface The user interface appears in the parameters panel, on the right side of the Particle View dialog. Deflectors group This group displays the deflectors currently in effect, and let you add and remove deflectors. [list] Shows the deflectors that apply to this operator. If more than three deflectors apply, a scroll bar appears at the right side of the list.
  • Page 282 Add Click this button, and then select a Deflector space warp in the scene to add it to the list. By List Click this button, and then use the Select Deflectors dialog to add one or more space warps to the list. The space warps must already exist in the scene.
  • Page 283: Collision Spawn Test

    Collided Multiple Times The test becomes True after a particle collides a specific number of times. The particle is moved to the point of the last collision and then redirected to the next event. # Times The number of times a particle must collide in order to test True. Speed Determines speed and direction after the specified number of collisions.
  • Page 284 The Collision Spawn test supports all deflector space warps except the DynaFlect deflectors: POmniFlect on page 2732 SOmniFlect on page 2743 UOmniFlect on page 2746 SDeflector on page 2751 UDeflector on page 2754 Deflector on page 2757 TIP When testing for collisions with multiple deflectors, for best results, place all the deflectors in a single Collision Spawn test.
  • Page 285 Interface 2966 | Chapter 14 Space Warps and Particle Systems...
  • Page 286 The user interface appears in the parameters panel, on the right side of the Particle View dialog. In the context of Collision Spawn, a parent is the original particle from which new particles are spawned. Test True for group These check boxes let you specify which particles, if any, should become eligible for redirection to the next event upon satisfaction of the test conditions.
  • Page 287 Remove Highlight a deflector in the list, and then click this button to remove it from the list. Any removed space warps remain in the scene. Spawn Rate And Amount group Use these settings to specify when particles are to spawn and other values related to how many particles are spawned.
  • Page 288 Sync By Choose the time frame to use when animating Offspring # and Variation: Absolute Time Any keys set for parameters are applied at the actual frames for which they're set. Particle Age Any keys set for parameters are applied at the corresponding frames of each particle's existence.
  • Page 289: Find Target Test

    To obtain the actual speed for each spawned particle, the system multiplies the Variation value by a random number between -1.0 and 1.0, and then adds the result to the particle's speed as specified or inherited. For example, if a particle's speed is 100 units/second and Variation=20, then the tested value for each particle would be between 80 and 120 units/second.
  • Page 290 in moving toward the target. You can also specify where on the target the particles should go. Alternatively, you can use Find Target as a simple proximity test: If a particle comes within a certain distance of its target, it becomes eligible for redirection to the next event.
  • Page 291 Script Operator Example NOTE See this topic in the online User Reference to view the script operator sample MAXScript code. 2972 | Chapter 14 Space Warps and Particle Systems...
  • Page 292 Interface Particle Flow | 2973...
  • Page 293 The user interface appears in the parameters panel, on the right side of the Particle View dialog. Control By ... The drop-down list at the top of the parameters panel lets you choose whether to send particles to a target by specifying the speed and acceleration, or by specifying the amount of time they should take.
  • Page 294 Control By Speed group Use these settings to specify speed and acceleration parameters when using Control By Speed or Speed Then Time. This group is available only when using Control By Speed. Use Cruise Speed When on, the software gives you explicit control over particle speed and speed variation.
  • Page 295 Sync By Choose the time frame to use when animating Speed, Variation, and Accel Limit: Absolute Time Any keys set for parameters are applied at the actual frames for which they're set. Particle Age Any keys set for parameters are applied at the corresponding frames of each particle's existence.
  • Page 296 Variation The number of frames by which Time can vary randomly. Default=5. To obtain the actual time to the target for each spawned particle, the system multiplies the Variation value by a random number between -1.0 and 1.0, and then adds the result to the Time value. For example, if Time=60 and Variation=20, then the time to target for each particle would be between 40 and 80 frames.
  • Page 297 [list] Shows the mesh objects used as targets. If more than three target objects apply, a scroll bar appears at the right side of the list. Add Click this button, and then select a mesh object in the scene to add it to the list as a target.
  • Page 298 NOTE When using By Script Vector to target absolute positions, such as vertex locations, be sure to set Target to Icon. If you set it to Mesh, the positions specified by the script will be relative to the position of the mesh object. This latter option is useful for placing scripted targets on the surface of a moving object.
  • Page 299 NOTE When Lock On Target Object is off, more calculation is required because the system might have to recalculate each particle's optimal target point in each frame. Docking Direction group Docking type Lets you specify from which direction particles should approach targets.
  • Page 300: Go To Rotation Test

    NOTE When using this option, arrows appear on the Find Target icon to indicate that particles will use surface normals for docking; the actual directions they will use depends on the target surface. This applies even when using mesh objects as targets. Distance The distance from the target at which particles begin docking behavior.
  • Page 301 2953 if it defines the rotation channel) in the same event. In this situation, the Go To Rotation test can grab the particle rotational component before the orientation-type operator overwrites it. The Go To Rotation operator modifies the particle orientation and spinning in the post-evaluation cycle. For an example, see the procedure below.
  • Page 302 5 From the Depot, drag a Go To Rotation test to an empty area in Event Display. Set Duration=15 and keep all other default settings. 6 Insert a Rotation operator immediately after the Go To Rotation test. Choose Random Horizontal as the orientation matrix. Keep the other default settings.
  • Page 303 Interface The user interface appears in the parameters panel, on the right side of the Particle View dialog. Test True When group Transition Period Ends When on, the particles test True at the end of the specified transition period, and become eligible for redirection to the next event.
  • Page 304 The possible options are: Absolute Time Time refers to the overall time of the system. Each particle will reach its target orientation at the frame number specified by Time. Particle Age Time refers to the time elapsed since the birth of the particle. Each particle will reach its target orientation when its age reaches the value specified by Time.
  • Page 305 Target Rotation Spin group Defines the angular velocity for each particle when it reaches the target orientation. Match Initial Spin Sets the angular velocity at the end of the transition period to the same as the angular velocity when particle enters the event. NOTE The axis of rotation might still be different, because it is calculated on the fly to let the particle come to the target orientation.
  • Page 306: Scale Test

    Scale Test Particle View on page 2811 > Click Scale Test in an event or add Scale Test to the particle system and then select it. Scale Test lets the particle system check particle scaling, or particle size before or after scaling, and branch accordingly. The test provides a variety of axis options for measuring scale or size.
  • Page 307 Type Choose the type of measurement to test. You can test actual scaling, or the size before or after scaling. Default=Scale. For example, if the X-axis size of a particle's bounding box starts out at 10 system units, and you then use the Scale operator to scale it by 150% on the X axis, the pre-scale size is 10, and the post-scale size is 15.
  • Page 308 Test Value The specific size to test for. Default=10.0. Variation The amount by which the value tested for can vary randomly. Default=0.0. To obtain the actual test value for each particle, the system multiplies the Variation value by a random number between -1.0 and 1.0, and then adds the result to the Test Value setting.
  • Page 309: Script Test

    Script Test Particle View on page 2811 > Click Script Test in an event or add a Script Test operator to the particle system and then select it. Script Test lets you test particle conditions using a MAXScript script. The script can use any program functionality available to MAXScript.
  • Page 310: Spawn Test

    The Send Out test simply sends all particles to the next event, or, conversely, keeps all particles in the current event. Use Send Out when you simply want to send particles to another event without any conditions. TIP You can temporarily convert any test to Send Out. To specify that a test should send all particles out without any conditions, click the left side of its icon in Particle view;...
  • Page 311 containing the Spawn. In such a case, you might want to then send the spawned particles to yet another event, or the particles will continually respawn. Alternatively, to spawn particles after a collision, use Collision Spawn Test on page 2964. See also: Collision Spawn Test on page 2964...
  • Page 312 The user interface appears in the parameters panel, on the right side of the Particle View dialog. In the context of Spawn, a parent is the original particle from which new particles are spawned. Spawn Rate And Amount group Use these settings to specify how often particles are to spawn, the measurement system to use, and other values related to how many particles are spawned.
  • Page 313 #=20 and Variation=10, then the actual number of offspring for each particle would be between 18 and 22. Sync By Choose the time frame to use when animating Rate, Step Size, Offspring #, and Variation: Absolute Time Any keys set for parameters are applied at the actual frames for which they're set.
  • Page 314: Speed Test

    Size group Scale Factor The amount of uniform scaling to apply to each spawned particle, as a percentage of its parent's size. Default=100.0. Variation The amount by which a spawned particle's scale can vary randomly. Default=0.0. To obtain the actual scaling for each spawned particle, the system multiplies the Variation value by a random number between -1.0 and 1.0, and then adds the result to the Scale Factor value.
  • Page 315 Interface The user interface appears in the parameters panel, on the right side of the Particle View dialog. The first interface element is a drop-down list that lets you choose the type of measurement to test: Velocity Magnitude Tests the particle velocity, in system units per second, without consideration of direction.
  • Page 316 For example, if a particle travels along a parabolic path, its motion has both linear and circular components. The circular component is greatest at the top of the parabola. If a particle travels in a full circle in one second, the rate is 360;...
  • Page 317: Split Amount Test

    Sync By Choose the time frame to use when animating Test Value and Variation. For further information, see Animation Offset Keying group page 2870. Absolute Time Any keys set for parameters are applied at the actual frames for which they're set. Particle Age Any keys set for parameters are applied at the corresponding frames of each particle's existence.
  • Page 318 Interface The user interface appears in the parameters panel, on the right side of the Particle View dialog. Test True For group Lets you choose how to split the particle stream. Default=Fraction Of Particles, 50%. Fraction Of Particles Split the particle stream on a percentage basis, specified with the Ratio value.
  • Page 319: Split Selected Test

    Particles After N First Splits off all particles starting with the first one after N particles, as specified with the N parameter (below). All particles starting with the first to enter the event up to N are retained in the event. N Specify the number of particles to split off, with First N Particles, or to retain in the event, with Particles After N First.
  • Page 320 The user interface appears in the parameters panel, on the right side of the Particle View dialog. Test True If Particle group Lets you choose how to split the particle stream. Default=Is Selected. Is Selected All selected particles are eligible for redirection to another event. Is Not Selected All non-selected particles are eligible for redirection to another event.
  • Page 321 Test True If Particle group Lets you choose how to split the particle stream. Default=Is From Selected Source. Is From Selected Source All particles from sources highlighted in the Selected Emission Sources list are eligible for redirection to another event. Is Not From Sel(ected) Source All particles from sources not highlighted in the Selected Emission Sources list are eligible for redirection to another event.
  • Page 322 Non-event-driven particle systems provide relatively simple, straightforward methods for generating particle sub-objects over time for the purpose of simulating snow, rain, dust, and so on. You use particle systems primarily in animations. 3ds Max provides six built-in, non-event-driven particle systems: Spray Particle System on page 3016 Snow Particle System...
  • Page 323 This topic describes only the general properties of particle systems. Other plug-in particle systems might be available in your configuration. The built-in particle systems share these controls: Emitter Specifies where in the scene the particles are generated. The emitter is the particle system's main sub-object. It doesn't render. Particles appear on the surface of the emitter and fall (or drift, drop, flurry, spray) from the emitter in a particular direction.
  • Page 324 These are the basic steps for creating a particle system: 1 Create a particle emitter. All particle systems require an emitter. Some particle systems use the particle system icon as the emitter while others use an object you select from the scene as the emitter. 2 Determine the number of particles.
  • Page 325 Flowing Water You generate flowing liquid effects by setting Super Spray on page 3025 to generate closely packed metaparticles. The metaparticles blob together forming a stream. Add a Path Follow on page 2717 space warp to send the stream down a trough.
  • Page 326 Procedures To create emitter icons: Drag in a viewport to set the size and orientation of the particle emitter icon for Spray, Snow, Super Spray, Blizzard, and Particle Cloud. Spray, Snow, Blizzard, and Particle Cloud use the icon size as the area of particle emission.
  • Page 327 3008 | Chapter 14 Space Warps and Particle Systems...
  • Page 328 Particles with various materials assigned to them You make this choice in the Material Mapping and Source group near the bottom of the Particle Type rollout. Choose Icon to use the material assigned to the particle system, choose Picked Emitter to use the material assigned to the distribution object, or choose Instanced Geometry to use the material assigned to the instanced objects.
  • Page 329 Achieving Particle Motion Blur Particle motion blur is actually the result of varying the opacity and the length of particles based on their speed. To accomplish this requires coordination between material assignment and the settings in the particle systems. Follow these instructions: Use the Particle MBlur map...
  • Page 330 Particles with a diffuse-mapped material When you choose Icon, the mapping coordinates of the material are applied across the V (vertical) axis, from V=0 (the bottom edge of the map) to V=1 (the top edge of the map). The bottom edge of the map is applied at the birth of the particle, and the top edge at either the death of the particle (if Time is on) or the distance of the particle at its death (if Distance is on).
  • Page 331 Fragment particles use the same technique, with additional options when the Thickness setting is greater than 0. When Thickness is 0, all faces in the fragment are mapped the same as the portion of the object surface from which they're derived. When Thickness is greater than 0, the outer faces of the fragment copy the surface of the distribution object, and are assigned the material ID specified in the Outside ID spinner in the Particle Type rollout >...
  • Page 332 If the assigned material is a Multi/Sub-Object material, particles are affected in the following ways, depending on the source of the material: Icon: In most cases, each particle, at its birth, is assigned a different sub-material, cycling through each available sub-material. For example, if there are only three sub-materials, the first particle receives sub-material #1, the second #2, the third #3, the fourth #1, and so on.
  • Page 333 5 On the Particle Type rollout, choose Instanced Geometry, then in the Instancing Parameters group click Pick Object, and select the pyramid. 6 In the Viewport Display group of the Basic Parameters rollout, choose Mesh and set the Percentage of Particles to 100. 7 On the Particle Generation rollout, choose Use Rate, and set the spinner to 1.
  • Page 334 3 Drag the time slider over frames 0 to 50. The pyramid appears over frames 0 to 10, then changes to four cylinders at frame 11, then 16 pyramids at the next spawning, and so on. Using Interparticle Collision Particles colliding and then rebounding You can set up particles to detect collisions with each other.
  • Page 335 2 Set the Super Spray values as follows: Off Axis: 1, Spread: 1, Off Plane: 180, Spread: 180 Mesh: chosen, Percent of Particles: 100 Particle Quantity: Use Rate chosen and set to: 1 Speed: 3, Variation: 100% Emit Start: 0, Emit Stop: 5, Display Until: 100, Life: 100 Size: 4.0, Grow For: 0, Fade For: 0 Particle Type: Sphere 3 Drag the time slider so you can see the particle spheres bounce off the...
  • Page 336 Kinds of Spray NOTE SuperSpray on page 3025 is a more powerful and advanced version of Spray. It provides all the functionality of Spray, plus additional features. TIP To animate particles following a path through space, use the Path Follow space warp on page 2717.
  • Page 337 Interface Particles group Viewport Count Maximum number of particles displayed in viewports at any given frame. TIP Setting the viewport count less than the render count can improve viewport performance. 3018 | Chapter 14 Space Warps and Particle Systems...
  • Page 338 Render Count Maximum number of particles that can appear in a single frame when you render it. Works in combination with the particle system's timing parameters. When the number of particles reaches the Render Count value, particle creation is suspended until some particles die. When enough particles die, particle creation resumes until Render Count is reached again.
  • Page 339 pause until some die off, and then start again, generating particles in bursts or spurts. Start Number of the first frame where particles appear. Life The lifetime of each particle, in number of frames. Birth Rate The number of new particles born per frame. If this is less than or equal to the maximum sustainable rate, the particle system generates an even flow of particles.
  • Page 340 Snow simulates falling snow or confetti. The snow system is similar to Spray, but it has additional parameters to generate tumbling snowflakes, and its rendering options are different. Kinds of Snow NOTE Blizzard on page 3029 is a more powerful and advanced version of Snow. It provides all the functionality of Snow, plus additional features.
  • Page 341 Interface Particles group Viewport Count Maximum number of particles displayed in viewports at any given frame. 3022 | Chapter 14 Space Warps and Particle Systems...
  • Page 342 TIP Setting the viewport count less than the render count can improve viewport performance. Render Count Maximum number of particles that can appear in a single frame when you render it. Works in combination with the particle system's timing parameters. When the number of particles reaches the Render Count value, particle creation is suspended until some particles die.
  • Page 343 Timing group Timing parameters control the "birth and death" rates of emitted particles. At the bottom of the Timing group is a line that displays the maximum sustainable rate. This value is based on the Render Count and the lifetime of each particle.
  • Page 344 Hide Turn on to hide the emitter in viewports. When off, the emitter is displayed in viewports. The emitter is never rendered. Default=off. Super Spray Particle System Create panel > Geometry button > Choose Particle Systems from the drop-down list. > Object Type rollout > Super Spray Create menu >...
  • Page 345 TIP To animate particles following a path through space, use the Path Follow space warp on page 2717. Super Spray viewport icon (emitter) Particles emerging from a super spray system 3026 | Chapter 14 Space Warps and Particle Systems...
  • Page 346 Procedures To create a super spray particle system: On the Create panel, make sure the Geometry button is active and Particle Systems is chosen in the object category list, then click Super Spray. 2 Drag in any viewport to create the Super Spray emitter icon; see Creating a Particle Emitter on page 3006.
  • Page 347 Basic Parameters rollout > Particle Formation group These items control the direction and spread of particles. Off Axis Affects the angle of the particle stream off the Z axis (along the plane of the X axis). Spread Affects the spread of the particles away from the emission vector (along the plane of the X axis).
  • Page 348 Spread Affects the spread of the particles about the Off Plane axis. This has no effect if Off Axis is set to 0. Particle Generation rollout > Particle Motion group Speed The speed of the particle at birth, in units per frame. Variation Applies a percentage of variation to the speed of emission for each particle.
  • Page 349 TIP To animate particles following a path through space, use the Path Follow space warp on page 2717. Blizzard viewport icon (emitter) Snowflake particles in a blizzard 3030 | Chapter 14 Space Warps and Particle Systems...
  • Page 350 Procedures To create a blizzard particle system: On the Create panel, make sure the Geometry button is active and Particle Systems is chosen in the object category list, then click Blizzard. 2 Drag in a viewport to create the Blizzard emitter; see Creating a Particle Emitter on page 3006.
  • Page 351 Basic Parameters rollout > Display Icon group The emitter specifies the location where particles are generated in the scene. It has a geometry you can display in viewports, but it isn't renderable. The emitter is displayed as a rectangle with a vector pointing out of one side. The vector shows the direction in which the system emits particles.
  • Page 352 Particle Generation rollout > Particle Motion group Specifies the number, size, and motion of particles. Speed The speed of the particle at birth, in units per frame. Non-Event-Driven Particle Systems | 3033...
  • Page 353 Variation Applies a percentage of variation to the speed of emission for each particle. Tumble Amount of random rotation of the particles. Tumble Rate Speed at which the particles rotate. Particle Type rollout > Mat'l Mapping and Source group Emitter Fit Planar Maps particles at birth, based on their point of emission from the rectangular Blizzard emitter icon.
  • Page 354 Create menu > Particles > PCloud Use the PCloud (or Particle Cloud) particle system when you want a "cloud" of particles that fill a specific volume. PCloud can provide a flock of birds, a starfield, or a troupe of soldiers marching over terrain. You can confine the particles using basic supplied volumes of a box, sphere, or cylinder, or you can use any renderable object in the scene as a volume as long as that object has depth.
  • Page 355 TIP There is no automatic way to hide the object chosen as the object-based emitter. Hide it by using Hide Selected on the Display panel, or by applying a Hide key in Track View. PCloud viewport icon (default emitter) PCloud viewport icon (object-based emitter) 3036 | Chapter 14 Space Warps and Particle Systems...
  • Page 356 PCloud used to form a school of fish (each fish is a particle) Procedures To create a particle cloud: On the Create panel, make sure the Geometry button is active and Particle Systems is chosen in the object category list, then click PCloud.
  • Page 357 The other PCloud rollouts and their contents are identical with those in Particle Array, except that Object Fragments and associated settings are not available on the Particle Type rollout. See PArray on page 3042 for details or choose from the following list for rollout information. Particle Generation Rollout on page 3049 Particle Type Rollout...
  • Page 358 Basic Parameters rollout Object-Based Emitter group This button lets you select a renderable mesh object to use as a particle emitter. This object is used only when the Object-Based Emitter option is chosen in the Particle Formation group. Pick Object Click this, and then select a renderable mesh object to be used as a custom emitter.
  • Page 359 Particle Formation group These options let you specify the shape of the emitter. Box Emitter Chooses a box-shaped emitter. Sphere Emitter Chooses a sphere-shaped emitter. Cylinder Emitter Chooses a cylindrical emitter. Object-Based Emitter Chooses the object selected in the Object-Based Emitter group.
  • Page 360 Particle Generation rollout > Particle Motion group Speed The speed of the particle at birth along the normal, in units per frame. NOTE For the correct volume effect, Speed should be set to 0. Variation Applies a percentage of variation to the speed of emission for each particle.
  • Page 361 Pick Object Click this, and then select an object in the scene to use as a reference object. This button is available only when you choose Reference Object. Variation Applies a percentage of variation to the direction when you choose either the Direction Vector or Reference Object option.
  • Page 362 How particles can be distributed on an object: Left: Edges Center: Vertices Right: Faces You can use it to create sophisticated object explosions. TIP A good way to create explosions is to set the particle type to Object Fragments and then apply a PBomb space warp on page 2712.
  • Page 363 Using Spawned Particles on page 3013 Using Interparticle Collision on page 3015 Procedures To set up a particle array: 1 Create an object that will become the distribution object, providing the emitter pattern (or exploded object) for the particle array. On the Create panel, make sure the Geometry button is active and Particle Systems is chosen in the object category list, then click PArray.
  • Page 364 3 Set up the first three sub-materials to be mapped materials. 4 Select the PArray icon. 5 On the Particle Type rollout in the Mat'l Mapping And Source group, choose Picked Emitter. 6 In the Particle Type rollout > Particle Types group, turn on Object Fragments.
  • Page 365 distribution object. From here, you can also specify how the particles appear in the viewport. Interface Object-Based Emitter group Pick Object After you create the particle-system object, the Pick Object button becomes available. Click this button, and then click to select an object in your scene.
  • Page 366 as the source geometry over which particles form, or the source geometry used to create particles that appear to be fragments of the object. Object text field Displays the name of the picked object. Particle Formation group These options determine how standard particles are initially distributed over the surface of the object-based emitter.
  • Page 367 At Face Centers Faces If you’ve converted your object to an editable mesh, and selected different sub-object sections of it with vertex, edge, and face selection, as you switch particle formation options, you’ll see the particles emit from different areas of the object.
  • Page 368 Particle Generation Rollout Create panel > Geometry button > Choose Particle Systems from the drop-down list. > Object Type rollout > SuperSpray/Blizzard/Parray/PCloud > Particle Generation rollout Select a SuperSpray/Blizzard/Parray/PCloud emitter. > Modify panel > Particle Generation rollout Items on this rollout control when and how quickly particles form, how particles move, and the size of the particles over time.
  • Page 369 Interface Particle Quantity group In this group, you can choose one of two methods by which the number of particles is determined over time. These settings are unavailable if you set Particle Type (in the Particle Type rollout on page 3053) to Object Fragments. 3050 | Chapter 14 Space Warps and Particle Systems...
  • Page 370 Use Rate Specifies a fixed number of particles emitted per frame. Use the spinner to set the number of particles formed per frame. Use Total Specifies a total number of particles formed over the life of the system. Use the spinner to set the number of particles formed per frame. The life of the system, in frames, is specified by the Life spinner in the Particle Timing group, described later in this topic.
  • Page 371 Variation Specifies the number of frames by which the life of each particle can vary from the norm. Subframe Sampling Turning on any of the three check boxes below helps avoid particle "puffing" by sampling particles at a much higher subframe resolution, instead of the relatively coarse frame resolution.
  • Page 372 Grow For The number of frames over which the particle grows from being very small to the Size value. The result is subject to the Size/Variation value, since Grow For is applied after Variation. Use this parameter to simulate natural effects such as bubbles growing as they reach the surface.
  • Page 373 Left: A stream from a fountain Right: The same stream with various types of particles The controls on this rollout let you specify the type of particle used and the type of mapping performed on the particles. 3054 | Chapter 14 Space Warps and Particle Systems...
  • Page 374 Interface Non-Event-Driven Particle Systems | 3055...
  • Page 375 Particle Types group These options specify one of four categories of particle type. Depending on which option you choose, different controls become available in the lower portion of the Particle Type rollout. Standard Particles Uses one of several standard particle types, such as triangle, cube, tetra, and so on.
  • Page 376 Standard Particles group When you choose Standard Particles in the Particle Types group, the options in this group become available. Choose one of the following options to specify the particle type: Triangle Renders each particle as a triangle. Use Triangle particles with noise opacity for steam or smoke.
  • Page 377 Variation Specifies the percent of variation of the Tension effect. Evaluation Coarseness Specifies how accurately the metaparticle solution is calculated. The higher the coarseness values, the less calculation. However, if the coarseness is too high, there may be little or no metaparticle effect at all. Conversely, if the coarseness is set too low, the time for calculation can become extremely long.
  • Page 378 The items in this group include a Thickness spinner, along with three option buttons that determine how the fragments are formed. TIP There is no automatic way to hide the distribution object that explodes into fragments. To create the illusion that an object is exploding, you must either set the original object to be invisible at the start of the explosion, as described in Visibility Track on page 3611, or move or scale the original object so it doesn't remain...
  • Page 379 Instancing Parameters group 3060 | Chapter 14 Space Warps and Particle Systems...
  • Page 380 These options are used when you specify Instanced Geometry in the Particle Types group. They let you generate each particle as an instance of either an object, a linked hierarchy of objects, or a group. NOTE Instanced objects can be animated, providing the animation incorporates one or more of the following types: Animation of object geometry parameters, such as a sphere's Radius setting.
  • Page 381 at the time of birth, but with a random offset of frames, based on the value in the Frame Offset spinner. Frame Offset Specifies an offset value from the current timing of the source object. Mat'l Mapping and Source group Specifies how a mapped material affects the particles, and lets you specify the source of the material assigned to the particles.
  • Page 382 IMPORTANT When you turn on either Picked Emitter or Instanced Geometry, an instance of the material from the chosen source is copied to the emitter icon, overwriting the material originally assigned to the icon. Thus, if you've assigned a material to the particle emitter, and then switch to Picked Emitter, the material originally assigned to the icon is replaced by an instance of the material carried by the picked object.
  • Page 383 The options on this rollout affect the rotation of the particles, provide motion blur effects, and control inter-particle collisions. Interface Spin Speed Controls group Spin Time The number of frames for one rotation of a particle. If set to 0, no rotation takes place.
  • Page 384 Phase Sets the initial particle rotation, in degrees. This has no meaning for fragments, which always begin with zero rotation. Variation The percent of variation of the Phase. Spin Axis Controls group These options determine the spin axis for the particles, and provide a partial method of applying motion blur to the particles.
  • Page 385 Calc Intervals Per Frame The number of intervals per rendering interval, during which an inter-particle collision test is conducted. The higher the value, the more accurate the simulation, but the slower the simulation will run. Bounce The degree to which speed is recovered after a collision. Variation The percentage of random variation of the Bounce value, applied to the particles.
  • Page 386 This time, only some of the particles inherit the emitter's motion, while the rest move straight out from the emitter. Note that the latter form a diagonal stream because each particle emerges at a subsequent point on the emitter path. Interface Influence The percent of particles that inherit the motion of the object-based emitter at the moment of particle formation.
  • Page 387 TIP InterParticle Collisions, Deflector Binding, and Bubble Noise do not get along well together. Particles may leak through the deflector when these three are used together. Instead of bubble motion, use animated mapping. Use facing particles with an animated map of a bubble, where the bubble is smaller than the map size.
  • Page 388 Particle Spawn Rollout Create panel > Geometry button > Choose Particle Systems from the drop-down list. > Object Type rollout > SuperSpray/Blizzard/Parray/PCloud > Particle Spawn rollout Select a SuperSpray/Blizzard/Parray/PCloud emitter. > Modify panel > Particle Spawn rollout The options on the Particle Spawn rollout let you specify what happens to particles when they die, or when they collide with a particle deflector.
  • Page 389 Interface Particle Spawning Effects group Choose one of these options to determine what happens to the particles at either collision or death. 3070 | Chapter 14 Space Warps and Particle Systems...
  • Page 390 None Uses none of the spawning controls, and the particles act as they normally would. That is, upon collision, they either bounce or stick, depending on Particle Bounce settings in the deflector, and on death they disappear. Die After Collision Particles disappear when they strike a deflector to which they're bound, such as the SDeflector.
  • Page 391 Direction Chaos group Chaos Specifies the amount by which the direction of the spawned particle can vary from the direction of the parent particle. A setting of 0 means no variance. A setting of 100 causes the spawned particle to travel in any random direction.
  • Page 392 Scale Chaos group These options apply random scaling to the particles. Factor Determines a random percentage range of scaling of the spawned particles relative to their parents, and dependent on the options below. Down Randomly scales down spawned particles to be smaller than their parents, based on the Factor value.
  • Page 393 rather than the lifespan specified for the original particles in the Life spinner on the Particle Generation rollout on page 3049. List window Displays a list of lifespan values. The first value on the list is used for the first generation of spawned particles, the next value is used for the next generation, and so on.
  • Page 394 Load/Save Presets Rollout Create panel > Geometry button > Choose Particle Systems from the drop-down list. > Object Type rollout > SuperSpray/Blizzard/Parray/PCloud > Load/Save Presets rollout Select a SuperSpray/Blizzard/Parray/PCloud emitter. > Modify panel > Load/Save Presets rollout These options let you store preset values that can be used in other, related particle systems.
  • Page 395 Save Saves the current name in the Preset Name field and places it in the Saved Presets window. Delete Deletes the selected items in the Save Presets window. NOTE Animated parameter values subsequent to frame 0 are not stored. 3076 | Chapter 14 Space Warps and Particle Systems...
  • Page 396 Animation 3ds Max gives you a variety of different ways to create animation, and a wealth of tools for managing and editing animation. See the following links for documentation of some of the animation methods in 3ds Max: Animation Concepts and Methods on page 3078 provides information about basic animation with 3ds Max.
  • Page 397 Animation Concepts and Methods With 3ds Max, you can create 3D computer animation for a variety of applications. You can animate characters or vehicles for computer games, or you can animate special effects for film or broadcast . You can create animation for serious purposes such as medical illustration or forensic presentation in the courtroom.
  • Page 398: Animation Concepts

    Animation Concepts Animation is based on a principle of human vision. If you view a series of related still images in quick succession, you perceive them as continuous motion. Each individual image is referred to as a frame. A frame is a single image in an animated film. Traditional Animation Method Historically, the main difficulty in creating animation has been the effort required of the animator to produce a large number of frames.
  • Page 399 Once all of the keyframes and tweens were drawn, the images had to be inked or rendered to produce the final images. Even today, production of a traditional animation usually requires hundreds of artists to generate the thousands of images needed. The frames marked 1,2, and 3 are key frames.
  • Page 400 The object's position at 1 and 2 are the keyframed models at different times. The computer generates the in-between frames. Comparing Frames and Time Traditional animation methods, and early computer animation programs, are rigidly locked to the concept of producing animation frame by frame. This is okay if you always work in a single format or do not need to specify an animated effect at a precise time.
  • Page 401 Different animation formats have differing frame rates. 3ds Max is a time-based animation program. It measures time, and stores your animation values, with an internal precision of 1/4800 of a second. You can configure the program to display time in a format best suited for your work, including traditional frames format.
  • Page 402 Track View Provides detailed animation editing capabilities in several floating or dockable windows. See Track View on page 3503. Track Bar Provides quick access to keyframes and interpolation controls. Can be expanded for function curve editing. See Track Bar on page 7531. Motion Panel Use this panel to adjust transform controllers that affect all position, rotation, and scale animation.
  • Page 403 Keys are not created at time 0 until you create at least one key at another time. After that, you can move, delete, and re-create keys at time 0. Turning Auto Key on has the following effects: The Auto Key button, the time slider, and the border of the active viewport turn red to indicate you are in animation mode.
  • Page 404 The results of changing an object or any other parameters with Auto Key off varies according to whether or not the object or parameters have been animated yet. If you create a new object, or change an object parameter that has not been animated yet, you can work at any time with Auto Key off.
  • Page 405 Using Set Key Mode The Set Key animation system is designed for the professional character animator who wants be able to try out poses and then commit those poses to keyframes intentionally. It can also be used by any animator to set keys on specific tracks of objects.
  • Page 406 In Auto Key mode, the workflow is to turn on Auto Key, move to a point in time, then transform objects or change their parameters. All changes register as keyframes. When you turn off Auto Key mode, you no longer are creating keys.
  • Page 407 Using Set Key with Modifiers and Object Parameters When you want to set a key on an object's parameters, and you have the Object Parameters Key Filter selected, every parameter will receive a key, unless you have turned off the parameter track in the Controller window of Track View using Keyable icons.
  • Page 408 Click the Show Keyable button on the Track View toolbar. 4 Turn off all the other tracks you don't want to keyframe. The red key means the track will be keyed. If you click the red key, it turns to a gray key, which means that track will not be keyed. TIP You can toggle multiple tracks as keyable by using the Controller menu >...
  • Page 409 TIP To move the pose to another point in time, use the right mouse button to press and drag the time slider. This lets you move to another frame number without losing the pose. To animate a vertex using Set Key: 1 Create an editable spline.
  • Page 410 Undo Reverses the effect of the last action. Cut Removes highlighted text to be pasted elsewhere. Copy Copies highlighted text to be pasted elsewhere. Paste Inserts cut or copied text into the editable field. Delete Removes highlighted text. Select All Highlights all text within the active editable field. NOTE In order for Select All to work, the text cursor must be active in the field that you right-click to open the menu.
  • Page 411 equivalent to creating a wire parameter on page 3322 in the viewport between two parameters. Edit Wire Opens the Parameter Wiring dialog on page 3324 expanded and positioned to show the wire controller assigned to the selected parameter. NOTE Edit Wire is available only if a two-way connection on page ?is currently applied on the right-clicked parameter.
  • Page 412 Controlling Key Bracket Display Animation panel of the Preference Settings dialog You can control the display of key brackets using options in the Preference Settings dialog > Animation panel on page 7772. Creating Transform Keys with the Time Slider You can use the time slider on page 7528 to create transform keys by copying transform values from one time to another.
  • Page 413 You set parameters in the Create Key dialog: Source Time Specifies the time from which transform values will be copied. Destination Time Specifies the time where the key will be created. Position, Rotation, Scale Determine which transform key values will be copied to the destination time.
  • Page 414 Lock keys are useful when you want an object to be stationary, but smooth interpolation is causing it to "wobble" on its stationary spot. To create a lock key: 1 From the Customize menu, choose Customize User Interface. 2 On the Customize User Interface dialog, click the Quads tab, and then, from the drop-down list at the upper right of the dialog, choose Animation.
  • Page 415 Choosing the Time Display Format When you start 3ds Max, the default time display is in frames, but you can use alternative time-display formats. For example, you might want to see time in seconds and minutes. You can specify different time-display formats using the Time Configuration dialog on page 7565 >...
  • Page 416 Frames Displays time in whole frames. This is the default display mode. The amount of time covered by a single frame depends on your choice for the current frame rate. For example, in NTSC video each frame represents 1/30th of a second. SMPTE Displays time using the Society of Motion Picture and Television Engineers format.
  • Page 417 The default setting for the active time segment runs from frames 0 to 100, but you can set it to any range. You can also increase the active time segment using the track bar on page 7531. Rescaling the Active Time Segment You use the Re-scale Time button on the Time Configuration dialog on page...
  • Page 418 controls area. You can also move through time using the playback control buttons. Using the Time Slider The time slider shows you the current time, and lets you move to any time in your active time segment. To change the current time using the time slider, do one of the following: 1 Drag the time slider.
  • Page 419 Next Frame/Key on page 7563 Go To End on page 7563 They work like VCR controls that you use to move through frames and to start and stop animation playback. Choosing a Frame Rate and Playback Speed The frame rate of an animation is expressed in frames per second (FPS). This is the number of frames the software displays and renders for every second of real time.
  • Page 420 different playback speeds are also useful when using the Motion Capture utility on page 3798. Active Viewport Only: Animation plays only in the active viewport. Turn this off and the animation will play in all four viewports at once. Speed: Choose one of these options to multiply the frame rate by the selected speed.
  • Page 421 TIP For fast access to key info or controller parameters, double-click a controller track name on the Motion panel or Track View hierarchy window . This productivity enhancement can help speed your work when fine-tuning animation. Although 3ds Max has many different types of controllers, much of the animation is handled by the Bezier controller on page 3138.
  • Page 422 Understanding Controllers Controllers are plug-ins that handle all of the animation tasks in 3ds Max, including: Storing animation key values. Storing procedural animation settings. Interpolating between animation key values. Most animatable parameters don't receive a controller until you animate them. As soon as you change an animatable parameter at any frame other than 0 with the Auto Key button on, or click in its track using Curve Editor >...
  • Page 423 Compound Controllers: Combine or manage multiple controllers. Compound controllers include high-level Transform controllers, such as on page 3220, Euler XYZ Rotation controller on page 3151, the Transform Script controller on page 3261, and the List controller on page 3194. A compound controller appears in the Hierarchy list as a controller icon with subordinate-level branches of other controllers.
  • Page 424 Reading Controller Types You can tell a lot about how a parameter is animated by looking at the controller type. Parameter Name: Is always visible and is always to the right of the controller icon. It tells you what is animated. Interpolation Type: Usually follows the parameter name.
  • Page 425 To view controller properties in Curve Editor: Do one of the following: Highlight the label for a parametric or compound controller, right-click the label, and then choose Properties from the shortcut menu to display the properties dialog. The dialog title identifies the controller type, the item or object name, and the parameter.
  • Page 426 To view key information for transform controllers in the track bar: 1 Select an animated object. 2 Right-click any key in the track bar. 3 From the right-click menu, choose the property to inspect (e.g., Sphere01: X Position), or, if available, choose Controller Properties. Changing Controllers That Do Not Display Properties Some controller types do not display any properties in Track View or the Motion panel.
  • Page 427 If a parameter has already been animated, then assigning a new controller has one of the following effects: The existing animation values are recalculated to produce a similar animation with the new controller. For example, replacing TCB Position with Bezier Position closely preserves the animation. The existing animation values are discarded.
  • Page 428 Copying and Pasting Controllers Right-click any blank area on the Track View toolbars, then choose Show Toolbars > Controllers: Track View. This displays the Controller toolbar with buttons for quick access to controller tools. Click Copy and Paste on the Track View toolbar to copy and paste controllers.
  • Page 429 Specifying Default Controllers You can specify the permanent defaults for controller types and controller settings to match the way you prefer to work. The following defaults are written to the 3dsmax.ini file: The default controller used for each data type The default controller settings Specifying Default Controllers You specify default controllers by choosing Controller >...
  • Page 430 controller. For example, with a Bezier controller you can set the In and Out tangents. NOTE The default Rotation controller is Euler XYZ, not TCB (Quaternion) as in earlier versions of the software. The default Position controller is now Position XYZ, instead of TCB Position. Only Scale is still Bezier as a default. Euler XYZ Rotation behaves quite differently from TCB.
  • Page 431 Constant velocity control. You can adjust the key interpolation by choosing among different tangent types in the Key Info dialog. . TCB Controllers TCB controller on page 3258 produces curve-based animation like Bezier controllers. However, TCB controllers use fields to adjust the Tension, Continuity, and Bias of the animation.
  • Page 432 individually. This has advantages over rotation controllers like TCB that do not display function curves at all. XYZ controllers are now the default for rotation animation. You can adjust the interpolation between keys using the Key Info dialog. Audio Controllers Audio controller on page 3135 converts the amplitude of a recorded sound file or real-time sound wave into values that can be used by an animated...
  • Page 433 parameters using mathematical expressions, functions, and variables. The code can include values based on the controllers of other objects in the animation. NOTE You can replicate some functions of Expression and Script controllers without having to write code by using parameter wiring or Reaction controllers. See Parameter Wiring Dialog on page 3324 and Reaction Controllers...
  • Page 434 You can also use Keyable Icons to turn on or off tracks for editing. This allows you to set keys on only specified PRS X, Y or Z axes as well. See Keyable Icons on page 3563. See also: Position XYZ Controller on page 3219 General-Purpose Controllers on page 3111...
  • Page 435 Boolean Controller The Boolean Controller is a variation on the On/Off controller. It provides a similar functionality, but with one significant difference. The on/off state of the parameter does not switch automatically every time you add a key. This allows you to effectively add keys in the middle of a sequence without creating unintended drastic changes.
  • Page 436 Transform Script Controller Transform Script controller on page 3261 contains all of the information contained in a PRS Controller in one scripted matrix value. Instead of having three separate tracks for position, rotation, and scale, all three values can be simultaneously accessed from one script controller dialog.
  • Page 437 Controlling Rotation Below the Transform controller is the Rotation controller. Rotation is a data type that can use most of the standard controllers such as TCB, Linear, and Noise. Rotations in 3D are very complex. Even the standard controller types behave differently when used for rotation.
  • Page 438 angle of rotation about each of the X, Y, and Z axes. Euler XYZ Rotation is the default controller applied to all objects. Euler XYZ is not as smooth as quaternion rotation, but it is the only rotation type that you can use to edit rotation function curves. Euler angles are well suited for animating mechanical rotations.
  • Page 439 The Point3 Key Value fields do not clamp at the valid color range of 0 to 255. Values that drop below 0 or exceed 255 are ignored by the color parameter but are still displayed in Track View. Bezier Color Controller The Bezier Color controller (see Bezier Controllers on page 3138) is a data type...
  • Page 440 Barycentric Morph Controller Barycentric Morph controller on page 3137 is also a TCB controller like the Cubic Morph controller, except that instead of each key representing a single target, each key represents a series of weights for all targets. A Barycentric Morph key represents a new object which is a blending of all targets.
  • Page 441 The Trajectories rollout displays the path an object travels over time. Controls to convert splines into trajectories, trajectories into splines, and to collapse any transform controller into editable keys are also available by choosing Motion panel > Trajectories. NOTE The state of the Trajectory check box under Display in the Object Properties dialog on page 305 (and on the Display panel >...
  • Page 442 Procedures To display an object’s trajectory: 1 Select an animated object that moves over time. 2 Right-click the object and choose Properties. Trajectory is not available. 3 In the Display Properties group, click By Layer to change this button to By Object.
  • Page 443 3 Click Delete Key in the Trajectories rollout of the Motion panel. The key is deleted. To transform keys on a trajectory: 1 Select one or more objects. 2 On the Motion panel, click Trajectories. 3 Click Sub-Object to activate Keys and enable editing. 4 Select one or more keys and use the transform tools on the Main toolbar to move, rotate, or scale the selected keys.
  • Page 444 Sample Range group Start Time/End Time Specifies the interval for the conversion. If you're converting from position keyframes to a spline object, this is the time interval for which the trajectory will be sampled. If you're converting from a spline object to position keys, this is the interval over which the new keys will be placed.
  • Page 445 Collapse Collapses the transform of the selected object. Position, Rotation, Scale Specifies which transforms you want to collapse. You must choose at least one check box to activate the Collapse button. PRS Parameters Rollout Select an object > Motion panel > Parameters > PRS Parameters rollout The PRS Parameters rollout provides tools for creating and deleting keys.
  • Page 446 Interface Create Key/Delete Key Creates or deletes a move, rotate, or scale key at the current frame. These buttons become active or inactive depending on the existence of a key type at the current frame. For example, if you're on a frame containing a Scale key, the Scale button is inactive in the Create column because a key already exists.
  • Page 447 See also: Key Info (Advanced) Rollout/Dialog on page 3131 Procedures To set the tangent type for a key: 1 Select an object and open the Key Info (Basic) rollout. 2 Use the arrows in the upper-left corner of the dialog to select a key. 3 Choose a tangent type from the In or Out tangent flyouts.
  • Page 448 NOTE In the Key Info dialog for the Bezier Scale controller, a Lock button is displayed beside the X Scale spinner. If you click Lock X, only the X value affects all three axes of scale. The Y and Z values are ignored and their function curves are not displayed.
  • Page 449 TIP You can also set the default tangent type through the Default In-Out Tangents For New Keys on page 7557 flyout. By doing so, each new key created with Set Key Mode or Auto Key Mode follows the curve interpolation set by the default tangent type.
  • Page 450 Custom Displays adjustable tangent handles at the key in Function Curves mode in 3ds Max. Flat Tangent Displays a smooth interpolation type designed to eliminate overshoot with no editable handles. Tangent slopes automatically take the most direct route to the next key value. See also: Default In/Out Tangents For New Keys on page 7557...
  • Page 451 Procedures To set normalize time for a key: 1 Select an object and choose a key to Normalize. You can use the arrows in the Key Info (Basic) rollout to step through Keyframes. 2 In the Key Info (Advanced) rollout, click Normalize Time. The key is moved in time to average the velocity through the key.
  • Page 452 Constant Velocity When on, interpolates values between the key and the next one so that the object moves at a constant velocity across that curve segment. Available only with certain controller types, such as Bezier. Free Handle Used for automatically updating the length of the tangent handle. When this is turned off, the length of the tangent is at a fixed percentage from its neighboring key.
  • Page 453 Rotation controllers: for animating rotation of objects and selection sets Scale controllers: for animating the scale of objects and selection sets Transform controllers: for animating general transforms (position, rotation, and scale) of objects and selection sets To change an assigned controller, use Controller >...
  • Page 454 Position Constraint on page 3303 Position XYZ Controller on page 3219 PRS Controller on page 3220 Reaction Controllers on page 3222 Scale XYZ Controller on page 3246 Script Controller on page 3248 Slave Parameters Dialog (Block Controller) on page 3284 Smooth Rotation Controller on page 3253 Spring Controller...
  • Page 455 The Audio controller works with most parameters in Track View, including: Transforms Float values Point3 values (color) Audio controller assigned to the scale track of this object Procedures To animate the Z axis scale of a box using a sound file: 1 Create a box.
  • Page 456: Barycentric Morph Controller

    Barycentric Morph Controller Select an object. > Create panel > Geometry > Compound Objects > Morph Barycentric on page 7920 Morph controller is automatically applied when a morph object is created in Create > Geometry > Compound Objects > Morph. Morph targets are selected and keys are created at different times to morph the original object into the shape of the Morph Targets.
  • Page 457: Bezier Controllers

    Interface After assigning the Barycentric Morph controller in Create panel > Compound Objects > Morph, then morph parameters for the controller display in the Modify panel and in the Barycentric Controller Key Info dialog, which is displayed by right-clicking over a morph key in Track View — Dope Sheet or the track bar.
  • Page 458 To normalize time for a key: 1 Select an object, and then choose a key to normalize. You can use the arrows in the Key Info (Basic) rollout to step through keyframes. 2 On the Motion panel, in the Key Info (Advanced) rollout, click Normalize Time.
  • Page 459 Tangent Types on page 3129 for detailed information on each of the available tangent choices. Tangent Copy Copies the tangent type between the tangents of the current key or between the tangents of the previous and next key. Use the arrow buttons on either side of the Key Tangent flyouts.
  • Page 460 Controls in the rollout affect velocity in three ways: Control the absolute velocity at a key using the In/Out values Average velocity over a specified amount of time using Normalize Time Force constant velocity from one component key to the next using Constant Velocity In/Out The In field displays the rate of change as the parameter approaches the key.
  • Page 461: Block Controller

    Block Controller Main toolbar > Curve Editor (Open) > Expand Global Tracks in the Track View hierarchy. > Block Control Graph Editors > Track View – Curve Editor > Expand Global Tracks in the Track View hierarchy. > Block Control A Block controller is a global List controller on page 3194 that allows you to...
  • Page 462 With this dialog, you can save blocks and then load them later. Blocks are saved as BLK files. Track View Pick Dialog Track View Pick dialog on page 3286 is displayed when track selection is necessary; for example, when you click Add in the Master Block Parameters dialog.
  • Page 463 Block Key Properties Dialog Relative Motion Toggles between relative and absolute motion. Start, End Set the first and last frames for this instance of the block (this scales the block instance). Procedures Example: To create a block: 1 Animate two objects moving in the viewports. Make the final keyframe for the objects frame 10.
  • Page 464 Choose a name that will remind you of the animation in this block. 9 Set the End value to 10, and then click OK. The Block will contain animation between frame 0 and frame 10. 10 Click OK to close the Master Block Parameters dialog. The block has been created, and you can now use it.
  • Page 465 This creates a new instance of the block, which you can place at a different time. To remove an inserted block: Click to select the block, then press Delete. Interface Inserted blocks appear in the Key window to the right of the MasterBlock controller in the hierarchy under Global Tracks.
  • Page 466: Boolean Controller

    Right-click an inserted lock to display the Block Key Properties dialog (described below). Boolean Controller Main toolbar > Curve Editor (Open) > Select a track containing a float value in the Track View hierarchy > Track View menu bar > Controller menu > Assign >...
  • Page 467 The Boolean controller can be assigned to any parameter that would normally be controlled by a float or boolean class controller, such as a sphere's Hemisphere or Smooth track. Boolean controller key values can be changed in on of two ways: through Track View's Dope Sheet editor or through MAXScript.
  • Page 468: Color Rgb Controller (Point3 Xyz Controller)

    To change Boolean controller key values via MAXScript: Enter the following into either the MAXScript Listener or Mini Listener:<node>.<animatable_property>.keys[<index_integer>].value = <float> where <node> is the object containing the Boolean-controlled parameter (for example, $Sphere01, <animatable_property> is the parameter itself (for example, Smooth, <index_integer> is the actual sequential number of the key in the key array, and <float>...
  • Page 469 Procedures Example: To animate the background color of a rendered animation: 1 Open Track View – Curve Editor. 2 In the Track View hierarchy, expand the Environment track and then select Background Color. 3 On the Track View menu, click Controller > Assign and select the Color RGB controller.
  • Page 470: Euler Xyz Rotation Controller

    Euler XYZ Rotation Controller Main toolbar > Curve Editor (Open) > Select a rotation track in the Track View hierarchy. > Track View menu bar > Controller menu > Assign > Euler XYZ Graph Editors > Track View – Curve Editor > Select a rotation track in the Track View hierarchy.
  • Page 471 On the other hand, TCB rotation allows for rotation greater than 180 degrees on a given keyframe. If you turn on the Rotation Windup on page 3261 option, you can get rotation values greater than 360 degrees. TIP If you’re used to working with TCB rotation, you might find it difficult to adapt to the Euler workflow.
  • Page 472 6 In the Create Key group of the PRS Parameters rollout, click Rotation. The software creates a rotational key. 7 Move the time slider to frame 50. 8 Again, in the Create Key group of the PRS Parameters rollout, click Rotation.
  • Page 473: Expression Controller

    8 In the Rotation List rollout, highlight Euler XYZ in the Layers window, then click Set Active. 9 In the Euler Parameters rollout, change the Axis Order to ZYX. Now you can animate the rotation independent of the LookAt rotation control.
  • Page 474 Interface on page 3159 Procedures on page 3156 The Expression controller lets you use mathematical expressions to control the following animation aspects: Object parameters such as length, width, and height Transform and modifier values such as an object's position coordinates You can constrain values by basing them on the controller values of other objects in the scene.
  • Page 475 NOTE Expression controllers can work only with the individual XYZ components of Euler rotation. You can't assign an expression to TCB Rotation or other kinds of rotation controllers. See also: Expression Techniques on page 361 Expression Controller Techniques on page 3161 Trigonometric Functions on page 370 Vectors...
  • Page 476 3 In the Hierarchy list, scroll down to the Objects branch and, if necessary, expand Sphere01 the branch so the sphere's Position track is visible. Click the Position label to highlight it. 4 In the Hierarchy list, right-click the Position label and then choose Assign Controller The Assign Controller dialog opens.
  • Page 477 The radius variable is now 150. Next you'll use the new variable in the expression. Example continued: To replace the literal value with the variable name: 1 In the Expression field, change 100 to radius in both places. The expression should now look like this: [ radius*cos(360*NT), radius*sin(360*NT), 0] 2 Click Evaluate.
  • Page 478 Interface TIP You can resize the dialog by dragging an edge or a corner. Create Variables group Name The variable name. Scalar/Vector Choose the type of variable to create. Create Creates the variable and adds it to the appropriate list. You must enter a name and specify a type before clicking Create.
  • Page 479 Expression group Type an expression in the Expression box. The expression must be a valid mathematical expression. The result is either a three-value vector for a vector expression (position, scale, or point3) or a scalar value for a float expression. Description group Type text in this group to document an expression.
  • Page 480 Expression Controller Techniques This topic summarizes some useful expression techniques. The following topics review trigonometric functions and vector arithmetic. If you’re familiar with these subjects you can skip the review topics. Use these expressions when you have applied an Expression controller using the Assign Controller rollout in the Motion panel.
  • Page 481: Layer Controller

    where Time is one of the predefined time variables such as NT or S; Pos1 and Pos2 are the Position controllers of two other objects. The subexpression (1+sin(360*Time))/2 is a value that oscillates between 0 and 1 over time. (Pos1-Pos2) is the vector between the two other objects. Multiplying the two and then adding Pos2 as an offset locates the object along this vector.
  • Page 482 Track View, although editing of the animation-layer data is not recommended if the objects are to be returned to 3ds Max. TIP For best results with objects that are to be brought into Autodesk VIZ, collapse on page 3178 any animation layers before saving the objects.
  • Page 483 List Window Displays all Layer controllers for the selected object, along with their respective weight value. Set Active Determines on which layer your animation keys are set. The active controller is marked with an arrow in the list. TIP You can also switch between active layers from the drop-down list on the Animation Layers on page 3164 toolbar.
  • Page 484 Animation layers let you combine multiple animation tracks on the same object. You can use layers to store your animation experiments as you try them out, turning them on or off to your liking. To enable, add, and control layers, use commands from the Animation Layers toolbar. Using animation layers is comparable to using both the List Controller page 3194 and...
  • Page 485 NOTE If you layer-enable a controller but do not see a Layer controller appear in the Track View hierarchy window, open and close the Enable Anim Layers dialog again. The original control- The Layer controller nests ler before you enable the original controller in its animation layers Base Layer.
  • Page 486 If the selected object already has a list controller track when you enable layers, that list controller is preserved within the Base Layer of the new Layer controller. The original List con- troller The new Layer controller nests the List Controller. NOTE You cannot nest a Layer controller within a List controller or another Layer controller.
  • Page 487 When you select multiple objects that have different active layers, “(Multiple Active Layers)” appears. The drop-down list displays all common layers (that is, with the same name); layers not common to all are unavailable. When you select multiple objects, layers not common to all are unavailable on the drop-down list.
  • Page 488 To toggle a layer's inclusion in the output track, click the plus/minus sign icon. TIP For a procedure that demonstrates how to use this option, see Example: To link two objects with wire parameters using the Layer Controller's output track: on page 3172.
  • Page 489 NOTE All animations within an incoming XRef object or scene is preserved within XRef controller on page 3269. You cannot edit them unless you merge the XRef object or XRef controller into your master scene. If a layer name from the merged or XRef scene matches one from the master scene, both layers become synchronized ;...
  • Page 490 2 Open the Curve Editor on page 3518 and locate the teapot's Position track in the hierarchy window. 3 Choose Animation > Animation Layers to open the Animation Layers toolbar. Make sure the teapot is selected, then click Enable Anim Layers. 5 On the Enable Anim Layers dialog, turn on only the Position track, and click OK.
  • Page 491 Example: To turn a layer on and off: This procedure discusses turning existing layers on and off. It continues from the previous procedure. 1 On the Animation Layers toolbar, expand the drop-down list. The list currently contains both the original base layer and Noise Layer from the previous procedure.
  • Page 492 5 A dashed line appears. Click the teapot and choose the X Output Track from the pop-up menu. 6 The Parameter Wiring dialog on page 3324 opens, with the two highlighted parameters. Click the left directional arrow button to control the cube's position using the teapot's animation.
  • Page 493 7 Click Connect and close the window. Drag the time slider and notice how the cube's position in Z matches the teapot's layered animation in 8 Select the teapot and expand the layer list from the Animation Layers toolbar. 9 Click the plus sign icon next to the Noise Layer. This excludes the layer from the output track.
  • Page 494 Example: To copy and paste a layer and update an active layer: This procedure continues from the previous procedure and focuses solely on the teapot. 1 Make sure the teapot is selected and choose Base Layer from the animation layers list to make it active. Click Copy Anim Layer on the Animation Layers toolbar to buffer this layer and the data it contains.
  • Page 495 Interface Enable Anim Layers Assigns a Layer controller to tracks you specify. NOTE Enabling animation layers does not create a new layer, but rather transfers all chosen controller tracks to the Base Layer. This opens the Enable Anim Layers dialog, which, similar to the Set Key Filters dialog on page 3086, lets you turn on tracks you want to assign a Layer controller...
  • Page 496 Remapping is necessary in this case because enabling Animation Layers causes the full controller names to change. For example, if a sphere's X position track before enabling Animation Layers is Sphere01\Transform\Position\X Position, then after enabling animation layers it might change to Sphere01\Transform\Position\Base Layer\X Position (the layer name is inserted into the controller name).
  • Page 497 Add Anim Layer Opens the Create New Animation Layer dialog on page 3180, which lets you specify settings related to the new layer. This adds a new layer to every track that has a Layer controller. Delete Anim Layer Removes the active layer, along with the data it contains.
  • Page 498 Layer Properties Dialog Right-click unused area of any toolbar. > Animation Layers > Create New Animation Layer This dialog provides global options in regards to collapsing animation layers on page 3164 and isolating the active layer from the rest. Interface Collapse To Sets the controller type for when you collapse a controller track onto a non-keyable controller track, such as a Noise controller.
  • Page 499 Range When chosen, a key is set on every frame of the animation range you specify. Start/End Sets the collapse range boundaries. Collapse To Keys Only, When Possible When you collapse a layer, the keys are merged only when the respective controllers are of the same type, same tangent types, and Blend Eulers As Quats is on.
  • Page 500: Limit Controller

    [controller type] Determines the controller type to assign to each track within the animation layer. Duplicate the Active Controller Type The new layer's controller type becomes the same as the one from the active layer, on a per-track basis. For example, if a track in the active layer has a Noise controller, adding a new layer copies that controller type.
  • Page 501 Use of the Limit controller makes it faster to set up and create animation. It eliminates the need for expressions or scripts to do the same thing, this improving the ease with which you can set up automation in hierarchies and rigs, creating effects such as avoiding collision, FK joint limits, etc.
  • Page 502 You apply a Noise controller to the X Rotation track of a window shutter object to make it rattle, but the object intersects the building at the lower end of its motion range. Apply a Limit controller to the track and set the Lower Limit value to prevent the intersection.
  • Page 503 2 Assign the Float Limit controller to a track. In this example, we'll assign it to the X Position track. This opens the Float Limit Controller dialog, where you can set limits and other values, but you might find it easier to do this interactively, so for now just accept the defaults by closing the dialog.
  • Page 504 Because the original X-axis movement falls within the default limits, the two tracks are identical. 5 Scrub the animation until the X-axis position is where you want to set a limit. In this example, the position is about -20, where we'll set a lower limit.
  • Page 505 The graph curve is now clipped below the lower limit. When you scrub the animation, the object doesn't move beyond that position. 7 Again scrub the animation, stop where you want to set the upper limit, right-click the X Position track, and choose Limit Controller > Set Upper Limit.
  • Page 506 In this example, we've set it at about 13. The graph curve is now clipped above the upper limit and below the lower limit. The resulting motion is likewise constrained. 8 Scrub the animation. The motion on the X axis is limited at both extremes; wherever the object originally moved beyond the limits, it now behaves as though it's hitting a wall.
  • Page 507 13 Highlight the X Position track, and then right-click and choose Limit Controller > Copy Limit Only. 14 Highlight the Y Position track, and then right-click and choose Limit Controller > Paste Limit Only. When the Paste dialog opens, click OK to confirm the paste as a copy.
  • Page 508 Note that there's an upper limit to this value; in this case, it's 34.434. This limit is determined by the values of the other three settings on the dialog. 19 Try increasing the Lower Limit group > Smoothing Buffer. It's not possible with the upper smoothing value at its maximum.
  • Page 509 Float Limit Controller dialog The Float Limit Controller dialog opens when you first assign the Limit controller, or when you right-click a highlighted Limit-controller track and choose Properties. Enable Toggles the Limit controller. When off, the original values of the limited track are in effect.
  • Page 510 Smoothing Buffer Specifies a smoothing value, so that clipped values at the beginning and end of a clipped range gradually increase and decrease instead of leveling off abruptly. The maximum total smoothing is determined by the Upper and Lower Limit values.
  • Page 511 Limit Controller right-click menu To access the Limit Controller right-click menu, highlight a Limit Controller track in the Track View hierarchy, and then right-click the track and move the cursor to the Controllers quadrant > Limit Controller menu item. NOTE After using Copy Limit Only on a Limit controller track, you can apply a new Limit controller with the same limits to any track by invoking Paste Limit Only.
  • Page 512: Linear Controller

    Set Lower Limit Sets a value/key in the Lower Limit track at the current frame equal to the value at the current frame of the limited track. If there is only one key, the value of the limit is constant over time. Remove Limit Deletes the Limit controller, restoring the original controller without limits.
  • Page 513: List Controller

    Procedures To assign a Linear controller: 1 Select an animated object. 2 In the Motion panel > Parameters > Assign Controller rollout, select the Position track in the list window. Click Assign Controller, and then select Linear Position in the Assign Controller dialog.
  • Page 514 The List controller combines multiple controllers into a single effect. It is a compound controller with tools for managing the order in which its internal controllers are calculated. Controllers are evaluated in top-to-bottom order. In addition, you can specify a Weight setting for each controller in the list to determine its relative influence.
  • Page 515 5 Choose the Position List in the Assign Position Controller dialog. Click 6 Click the plus sign in the Position track to expand the track. A Position XYZ track and a track labeled Available are now visible. 7 Click the track named Available and then click the Assign Controller button.
  • Page 516 Set Active Determines which controller is affected by interactive changes in the viewport. The current active controller is marked with an arrow in the list. For example, you have an object using a Position List, with Noise Position and Bezier Position in the list. The Bezier Position controller handles the general motion path of the object, while the Noise Position controller adds a random shake to the motion.
  • Page 517 Editable Name Field Select one of the controllers in the list window of the Controller list, and then enter a descriptive name in this field. This field lets you rename the controller so it's easier to identify. Local Euler XYZ Rotation Controller This controller is no longer available.
  • Page 518 Each axis uses its own independent controller using the float data type. For example, the X and Y rotation axes could use Bezier Float controllers, while the Z Rotation axis uses a Noise Float controller. Look At Controller Create or select an object that contains a Target component, such as a target spotlight or camera.
  • Page 519 Interface After you create or select an object that contains a Target component, you can access the object's Look At properties on the Motion panel. In this rollout you can change the target, create and delete animation keys, set the axis, and adjust other, related parameters.
  • Page 520: Master Point Controller

    Axis Specifies the local axis that looks at the target. The Flip check box is used to flip the directions of the axis. Use Target as Up Node When turned on, the controller forces the object on which it acts (source node) to keep one of its local axes aligned with the look-at direction (the vector between the source node and the target node).
  • Page 521 or FFD. By allowing you to select and move all the sub keys, visually correlate keys to points in the viewports, and change key properties quickly, this controller helps to manage the numerous tracks created when animating vertices, control points, and vectors. The Master Point controller is displayed as a track with green keys in Track View.
  • Page 522: Motion Capture Controller

    Interface Master Track Keys While in the Track View – Dope Sheet, selecting a master key (green) selects all the sub keys at that frame. If hundreds of vertices are animated, collapse the master track so that only the master track is visible. Moving the green keys will move all the sub keys. Master Track Key Info dialog Right-click a green master key in Track View to display the Master Track Key...
  • Page 523 NOTE Rotation Motion Capture uses Euler rotations with an X, Y, Z axis order and is subject to the limitations of Euler rotations. See Euler XYZ Rotation Controller on page 3151. The Motion Capture System To use motion capture in 3ds Max, you follow these steps: 1 In Track View —...
  • Page 524 NOTE You can open the Motion Capture dialog by selecting the Position track in the Assign Controller list window, and then right-click and select Properties. 5 In the Mouse Input Device rollout, make sure that horizontal is turned on and Scale is set to 1. 6 In Utilities panel >...
  • Page 525 Track Name Names the Motion Capture Data track. This overrides the default naming convention. Mouse Input Device rollout This rollout controls animation using the horizontal or vertical motion of the mouse. The available settings include: Horizontal/Vertical Specifies which mouse motion drives the animation. Scale Scales the relative effect of the mouse movement to the animation response.
  • Page 526 Assign Click and then press any key. The assigned key is displayed in the list window at right. List Open the list to select a key. Envelope Graph group The Envelope Graph group displays a representation of the amplitude curve over time.
  • Page 527 Release After releasing the key, specifies the time for the value to fade out to zero. Parameter Scaling group Provides controls for setting the scale of the envelope and the range of the output value. Time Specifies the scale of the Attack, Decay, and Release parameters. The value represents the number of seconds for 1 unit.
  • Page 528 Joystick Buttons group Point-of-View Hat (Left-Right, Up-Down) A mini joystick on the tip of the main joystick that specifies the direction of the animation 1, 2, 3, 4 Specifies one of four buttons in the Sidewinder joystick. They work similarly to the Point-of-View Hat, except that each button increases a direction value only while pressed.
  • Page 529 This group provides controls that let you derive the direction of movement from a Rotation controller. These options are used primarily when you're animating a first-person flythrough such as when you're controlling a camera. NOTE The items in this group are only available when Accumulate is selected in the Joystick Axis group.
  • Page 530 MIDI Device rollout MIDI Channel group This group contains 16 buttons. You can assign a channel to your MIDI device. MIDI Trigger group Here, you define the type of MIDI event (message) that will drive the motion. There are four options; Note, Velocity, Pitch Bend and MIDI controller. Motion Capture Controller | 3211...
  • Page 531 NOTE Turn on to let the note number or pitch define the output value. The value is derived from where the note falls within the Note Range, specified in the group below. When the note is at the bottom of the range, the value takes on the Min value specified in the Parameter Scaling group.
  • Page 532 MIDI Channel Viewer Displays a dialog that lets you test your MIDI device to see which MIDI channel is receiving events and which notes are being triggered. Midi Viewer Dialog MIDI Channel group Provides a column of 16 buttons and progress bars representing the 16 MIDI channels.
  • Page 533: Noise Controller

    MIDI Note group The 11 Octave buttons let you select which octave you want to view. When a note is played in that octave, a corresponding progress bar lights up in the Note column. MIDI Controller When using a different type of MIDI controller, such as a slider box, you can specify a note event, and then watch the corresponding progress bar light up when you activate that event.
  • Page 534 The Noise controller produces random, fractal-based animation over a range of frames. Noise controllers are parametric; they work on a range of frames, but do not use keys. When you assign a Noise controller in Track View or the Motion panel, it is initially applied to all frames in the current time segment.
  • Page 535 Interface Characteristic Graph Shows a stylized graph of how changing Noise properties affects the Noise curve. Seed Starts the noise calculations. Changing the seed creates a new curve. Frequency Controls the peaks and valleys of the noise curve. The useful range is from 0.01 to 1.0.
  • Page 536 Ramp In Sets the amount of time Noise takes to build to its full strength. A value of 0 causes Noise to start immediately at full strength at the start of its range. Any other value causes Noise to start at 0 strength and then build to full strength by the elapsed time set in the Ramp In field.
  • Page 537 You can view the curve for this controller in the Function Curve display, but it's not editable. In addition, there's no Properties dialog for this controller. NOTE When you load a scene from version 1.x of the software that contains a Visibility controller, the controller is automatically converted to an On/Off controller.
  • Page 538: Position Xyz Controller

    The On/Off track displays a solid blue color in frames that are On, and no blue in frames that are Off. When you add a key to an On section of the track, the section following that key is turned off. When you add a key to an Off section, the following section is turned on and colored blue.
  • Page 539: Prs Controller

    4 Turn on Auto Key and create three keys that move the sphere on the XY plane. 5 In the Assign Controller rollout, expand the position track and select Z Position. Click Assign Controller, and then select Noise Float. 7 Play the animation. The sphere moves around the keys that were created earlier.
  • Page 540 Graph Editors > Track View – Curve Editor > Select a transform track in the Track View hierarchy. > Track View menu bar > Controller menu > Assign > Position/Rotation/Scale The Position/Rotation/Scale (PRS) controller is the default Transform controller for most objects. Use it for all general-purpose transforms. Procedures To create PRS Transform keys: 1 Select an object.
  • Page 541: Reaction Controllers

    Interface Motion panel > PRS Parameters rollout Create Key/Delete Key The six buttons in the PRS Parameters rollout let you create or delete a transform key at the current frame. These buttons become active or inactive depending on the existence of a key type at the current frame.
  • Page 542 The Reaction controller is a procedural controller that lets a parameter react to changes in any other parameter in 3ds Max. Typically, most of the setup involving Reaction controllers is done with the Reaction Manager dialog page 3228. You use the dialog to define a master, which is an object that controls other objects, and, for each master, any number of slaves, which are objects the master controls.
  • Page 543 Procedures Example: To make the position of a sphere react to the position of a box: This procedure shows an alternate way to use a Reaction controller. The recommended workflow is to do most of the setup in the Reaction Manager dialog: See Example: To use the Reaction Manager dialog: on page 3229.
  • Page 544 This places you in a Pick mode where you can choose a motion track from any object in the scene to act as master. 8 In any viewport, click the box (Box01). A pop-up menu appears. 9 From the pop-up menu, choose Transform > Position > X Position. The “Unassigned”...
  • Page 545 Next you'll create a second state that tells the sphere how to move on multiple axes as the box moves on one. 10 Move the time slider to frame 50. The box moves to the midpoint of its animated trajectory. The sphere remains where it is.
  • Page 546 15 Click the Edit Mode button again to turn it off, and then scrub the time slider. As the box moves between frames 0 and 50, the sphere rises to the position specified in the second state. For the third and final state, you'll have the slave move in a different direction over the second half of the master's motion.
  • Page 547 21 From the Set (lower-right) quadrant, choose Delete Selected Animation. This command deletes all animation keys for the current selection. 22 Now move the box in all three dimensions. Any change in the Y or Z position has no effect on the sphere. However, moving the box between -100 and 100 on the X axis, no matter what the Y or Z position, results in changing the sphere's position as specified in the Reaction controller.
  • Page 548 Procedures Example: To use the Reaction Manager dialog: The purpose of this procedure is to show you different ways to use Reaction Manager. Before trying it, we suggest that you first follow the introductory procedure in the Reaction Controllers topic: Example: To make the position of a sphere react to the position of a box: on page 3224.
  • Page 549 At this point, the dialog is empty. On the upper toolbar, click Add Master, and then click the Slider manipulator in the Perspective viewport. 6 On the pop-up menu that appears, choose Object (Slider) > value. In the Reactions list, the master entry Slider01 / value appears. On the upper toolbar, click Add Slave, and then click the box in the Perspective viewport.
  • Page 550 13 On the center toolbar, above the States list, click the Append Selected button. This adds the Hemisphere track to State01. Now you can delete the second, superfluous state. 14 In the States list, click the State02 entry, and then on the toolbar above the States list, click the Delete State button.
  • Page 551 NOTE Your value probably differs from that shown in the illustration. 16 Drag upward to increase the value, or downward to decrease the value. Change the value to about -50.0. You might find it difficult to set an exact value by dragging, which changes only the tenths (and higher) value.
  • Page 552 On the main toolbar, click Select And Manipulate, and then drag the slider pointer all the way to the left, so the slider value reads -100.0. 22 In the Reactions (upper) list, click the Box01 / X Position entry to highlight it, and then move the box about -50 units on the X axis, to about X=-100.
  • Page 553 26 Turn on Create Mode, and then and in the Reactions list, click the Sphere01 / Hemisphere entry. The Hemisphere parameter is now available. 27 On the Modify panel, set Hemisphere to 0.75. 28 In the Perspective viewport, drag the slider all the way to the right. 29 Click Create State.
  • Page 554 If you haven't already, click the Sphere01 / Hemisphere slave entry in the Reactions list, and then click Zoom Extents button below the graph. Click the Add Point button, and then click the middle of the graph curve (it's the red, diagonal line). This adds a new point to the curve and a new state in the States list.
  • Page 555 Interface The Reaction Manager dialog interface consists of three parts: the Reactions list, the States list, and the graph. Each has its own toolbar or toolbars. Each list contains rows and columns; the column headings employ standard Windows functionality. To resize a column, drag the divider to the right of its heading, or auto-size a column to fit its widest entry by double-clicking the right-side heading divider.
  • Page 556 sections proportionally, drag the bottom of the dialog. You can also resize the dialog by dragging a corner or a side. You can use standard methods to highlight list items for further actions. Highlight a single item by clicking it. Highlight multiple consecutive items by clicking the first item and then Shift+clicking the last.
  • Page 557 as master. Alternatively, choose a track in Track View or from the Motion panel > Assign Controller rollout list. Using the pop-up menu, you can choose only a track at the end of the menu hierarchy; for example, Transform > Position > X Position. If you choose the object name from the top of the menu, Reaction Manager lists it as World Space Position, so that you can use its three-dimensional position in the World coordinate system to control its slaves.
  • Page 558 for each selected object. Available only when a master is highlighted in the Reactions list and at least one object is selected in the viewports. If multiple masters are highlighted, the slaves are added to the first master in the list. If any states are highlighted in the States list, the new slave or slaves are added to the highlighted states.
  • Page 559 States list A state describes interaction between a master and its slaves. In each state, you specify a value or values for the master track, and corresponding values for each slave. Then, as a master-track value changes in the scene, the slaved values follow along according to the states' specifications.
  • Page 560 Create State Adds a new state to the States list for the current reaction, using the current values for the master and slave parameters. When you create a state, the software gives it a default name (State##) and lists its slave tracks, indented, under the state name. The contents of the new state depend on what's highlighted in the Reactions list.
  • Page 561 within a state. You can edit a single value (not groups of three in parentheses) by dragging vertically on the value in the table. The following three parameters, which appear as columns in the States list, apply to slaves and are normally controlled via the graph curve. They're available only if the slave has Curve turned off in the Reactions list.
  • Page 562 inserting new ones (that is, new states). The same functions are available by right-clicking the graph, and if you right-click a graph point, you can set it to Corner and two different Bezier types. If you select a Bezier point, you can reshape the curve by moving its handles.
  • Page 563 Append Selected Adds a slave to a state in which the slave doesn't currently participate. To use, highlight a slave in the Reactions list, highlight a state in the States list, and then choose Append Selected. Set State Updates the highlighted state (master track) to its current value. For details, see Set State on page 3241.
  • Page 564 Position Reaction controller The Position Reaction controller has a set of manipulators to control (or simply display) different reaction values. Reaction cycle manipulator: Click this to cycle among the various reactions in the Reactions list. The display of the manipulators and indicators changes to show their settings for the active reaction.
  • Page 565: Scale Xyz Controller

    Procedures To use manipulators for a position or rotation Reaction controller: (Point3, scale, and float Reaction controllers don't have manipulators.) 1 Select the object that has the Reaction controller assigned to it. On the default Main toolbar, click Select And Manipulate. The manipulators appear in viewports.
  • Page 566 single axis, or assign a controller on an axis. For example, after applying a Scale XYZ controller, you could apply a Noise or Waveform controller to an axis to animate that axis independently. The Scale XYZ controller assigns three keys (one for each axis), by default. In previous versions of the software, you had to edit the keys manually in order to create explicit axis keys.
  • Page 567: Script Controller

    Scale Axis Adjusts an axis using controls in the Motion panel > Key Info rollout. An axis should already have a key to adjust. To create keys, either turn on Auto Key and scale the object, or click Scale in the Create Key group on the PRS Parameters rollout.
  • Page 568 They can use MAXScript global variables to communicate and coordinate with other controllers and scripts in the software. Refer to the MAXScript Reference for a complete explanation of this scripting language. Writing Controller Scripts 3ds Max interprets the text you type into the Script text box as the body of a MAXScript block expression.
  • Page 569 NOTE It is especially important to assign nodes and tracks to variables with the corresponding buttons when using XRef scenes and objects. Procedures Example: To keep an object centered relative to other objects in the scene during an animation: 1 Name the object that should remain centered foo and assign a Script controller to its Position track.
  • Page 570 Interface Assigning a Script controller automatically opens a Script Controller dialog where you can enter a script. You can open the dialog subsequently by right-clicking the track on the Motion panel or in the Track View hierarchy and choosing Properties, or clicking the Properties button on the Track View toolbar.
  • Page 571 Variables List Lists all available variables in the controller. The following pre-defined constant variables are available in every script Controller and cannot be deleted or renamed: the current time in frames the normalized time the current time in seconds the current time in ticks Assign Constant Opens a dialog which lets you assign a constant to the highlighted variable.
  • Page 572: Smooth Rotation Controller

    Debug Opens the Script Controller Debug Window, which displays the value of all variables used in your script. Evaluate Evaluates the script expression. The evaluation is computed for the current position of the time slider. Close Compiles and checks the controller script for errors. If no errors are found, the dialog is closed.
  • Page 573 Graph Editors > Track View – Curve Editor > Select a track in the Track View hierarchy. > Track View toolbar > Controller menu > Assign > Spring Animation menu > Position controllers > Spring The Spring controller adds secondary dynamics effects to any point or object position.
  • Page 574 Spring Dynamics rollout Point group Mass The mass of the object to which the Spring controller is applied. Increasing the mass causes the "bouncing" spring motion to become more exaggerated. Drag Acts as air friction on the spring motion. A low Drag setting results in a greater "bouncing"...
  • Page 575 (List) Lists all spring objects by name, and displays each object's Tension and Dampening settings separated by a slash (/). The spring-controlled object's influence on itself appears as Self Influence, and cannot be deleted. However, you can effectively remove the object's influence on itself by setting Tension and Dampening to 0, resulting in no motion.
  • Page 576 Forces Limits and Precision rollout External Forces group Add Click this button, and then select one or more space warps in the Forces category that are to affect the object's motion. To finish adding space warps, click Add again, right-click in a viewport, or press Esc. Remove Removes highlighted space warps from the list.
  • Page 577: Tcb Controllers

    TCB Controllers Main toolbar > Curve Editor (Open) > Select a track in the Track View hierarchy. > Track View menu bar > Controller menu > Assign > TCB Graph Editors > Track View - Curve Editor > Select a track in the Track View hierarchy.
  • Page 578 Procedures To change an Euler XYZ Rotation controller into a TCB Rotation controller: 1 Select an object animated with an Euler XYZ rotation controller. 2 In Motion panel > Parameters > Assign Controller rollout, select the Rotation track in the list window. Click Assign Controller, and then select Quaternion (TCB).
  • Page 579 TCB Graph Charts the effect that changing the controller properties will have on the animation. The red mark at the top of the curve represents the key. The marks to the left and right of the curve represent an even division of time to either side of the key.
  • Page 580: Transform Script Controller

    Bias Controls where the animation curve occurs with respect to the key. Default=25. High Bias pushes the curve beyond the key. This produces a linear curve coming into the key and an exaggerated curve leaving the key. Low Bias pulls the curve before the key. This produces an exaggerated curve coming into the key and a linear curve leaving the key.
  • Page 581 The value of the controller script must be a matrix3 value. A matrix3 value is a 4x3 3D transformation matrix. For more information, see the Matrix3 Values topic in the MAXScript reference. Writing Controller Scripts The software interprets the text you type into the Script text box as the body of a MAXScript block expression.
  • Page 582 Create Variable group Name Lets you enter and edit the name of user variables. Create Creates a variable and adds it to the Variables list. Delete Removes the highlighted variable from the Variables list. You can also delete a variable by tying its name into the Name field and click Delete. Rename Renames the highlighted variable.
  • Page 583 OK Assigns the value expression result to the current variable. Cancel Disregards the current value expression result and closes the dialog. Assign Track Lets you assign a controller to the highlighted variable. The controller's value is taken at the current time plus the variable's Tick Offset. Assign Controller Lets you assign a track to the highlighted variable.
  • Page 584: Waveform Controller

    Interface After assigning a Transform Script controller, a Properties dialog is available by right-clicking the track in the Track View hierarchy and choosing Properties. Waveform Controller Main toolbar > Curve Editor (Open) > Select a track in the Track View hierarchy.
  • Page 585 To view how the trajectory of an object is being affected by the Waveform controller, turn on Motion panel > Trajectories. Procedures To use the Waveform controller to animate the visibility of a sphere: 1 Create a sphere. 2 Open Track View, and select the Sphere track. 3 On the Tracks menu choose Visibility Track >...
  • Page 586 List Window Displays waveforms in a list. Add Adds a new waveform to the end of the list. The default waveform is a sine wave with a period of 10 frames and with an amplitude of 100. Insert Inserts a new waveform before the selected waveform slot. Remove Deletes the selected waveform.
  • Page 587 Flipped Flips the waveform horizontally. Period Sets the number of frames to complete one waveform pattern. Spinner Value=float, 0.01 to 9,999,999 Duty Cycle For square waves only, specifies the percentage of time the square wave is "on." Default=50, Spinner Value=float, 0 to 100 Amplitude Sets the height of the wave.
  • Page 588 This Output Shows the output of the current waveform, including all previous waveforms. Final Output Shows the output of all the waveforms in the list. You can also see the final output by turning on the Track View — Curve Editor display for the track which has the waveform controller assigned.
  • Page 589 You can create an XRef controller with or without an XRef object: You can externally reference a source object's animation without the object itself by assigning an XRef controller to your current selection on page ?. You can create an XRef object, which automatically nests the source object's Transform controller in an XRef controller.
  • Page 590 6 Use the XRef Merge dialog to designate the object whole transform controller you want to XReference. The software references the scene object's transform controllers from the external object's controllers. TIP You can also XReference a different controller from either another file or another object via the Parameters rollout of the XRef controller.
  • Page 591 Move the sphere to [10,10,10]. The sphere now translates from [10,10,10] to [15,15,15]. 6 Right-click the XRef Controller entry in the XRef Entities list of the XRef Objects dialog. 7 From the contextual menu, choose Reset PRS Offset. This removes the sphere's local offset, which now returns to its original [0,0,0] position.
  • Page 592 Path button Opens a file dialog from which you select a new file (either .max or .chr). Object controls Object Name field Displays the name of the source object pointed to in the source file which holds the source controller. Object Name display Displays the file name of the source object.
  • Page 593 Interface Audio File group Use this group to add and remove sound files from the controller, and to adjust amplitude. Choose Sound Displays a standard file selector dialog. You can choose WAV and AVI files. Remove Sound Removes any sound file associated with a controller. Absolute Value Controls the interpretation of sound amplitude.
  • Page 594 When off, the maximum amplitude equals the maximum potential amplitude of the waveform. Output reaches the target value only if the waveform reaches its maximum potential amplitude. The maximum potential amplitude for an 8-bit file is 128; for a 16-bit file, it's 32768.
  • Page 595 When turned off, oversampling is applied to the Track View display. High oversampling values can slow the display of the waveform. Base & Target Scale groups Here you enter minimum and maximum parameter values returned by the controller. The fields you see vary by the type of parameter using the Audio controller.
  • Page 596 The Incoming Controls list on the left contains all the incoming tracks. The Copy To list on the right contains all the tracks in the current scene that you will attach to. Interface Add Selects tracks in the current scene in the Track View Pick dialog on page 3286.
  • Page 597 Barycentric Morph Controller Key Info Dialog Select a Morph object > Track View - Dope Sheet > Right-click a morph key. > Barycentric Morph Controller Key Info dialog You can change morph target weighting using controls in the Barycentric Morph Controller Key Info dialog. Interface Current Key Specifies the current key that you're adjusting.
  • Page 598 Targets Lists all morph targets for the object, along with the percentage of their influence at the current key. The total percentage of all targets is displayed below the window. You can select any target in this window, and then adjust its percentage of influence using the spinner at right.
  • Page 599 Interface Name Field Names the block. Start, End Set the range of the block in frames. Color Selects a color for the Block. Displays a color selection dialog. OK Saves the parameters and closes the dialog. Cancel Closes the dialog without saving the parameters. Master Block Parameters Dialog (Block Controller) Track View >...
  • Page 600 Interface Add Opens the Track View Pick dialog. Use the dialog to choose tracks to include in a Block. Valid tracks are displayed in darker text. Add Selected Creates a block using the tracks already selected in the Track View hierarchy. Any invalid tracks are ignored. Select the tracks (include the Master Block track), and then right-click Master Block in the Track View hierarchy.
  • Page 601 Master Track Key Info Dialog (Master Point Controller) Track View - Dope Sheet > Right-click a master track key in the Dope Sheet Key window. > Master Track Key Info dialog With Track View in Dope Sheet mode, right-click a green master key of a Master Point controller on page 3201 to display the Master Track Key Info dialog.
  • Page 602 Interface [key arrows] Moves to the next or previous key. Time Moves the master key to a different frame or time. Sub Keys list window Displays all the animated sub-object keys at a particular frame or time. Select Point Select a node in the List Window and the corresponding node in the viewports is selected, if the corresponding sub-object level is active.
  • Page 603 Key Frame Properties Displays and lets you adjust interpolation and position. Bezier Controller on page 3138. Slave Parameters Dialog (Block Controller) Track View > Click and then right-click a slave track in the Track View hierarchy. > Properties > Slave Parameters dialog Track View >...
  • Page 604 Interface Add New Link Adds a link. Displays the Add New Link dialog with available tracks. Click a track and then click OK. Remove Link Removes the highlighted link. Collapse Control Collapses the Slave controller to a standard controller. Existing keys are copied to the new controller. OK Closes the dialog.
  • Page 605 Track View Pick Dialog (Block Controller) Track View > Global Tracks > Block Control > Click and then right-click MasterBlock track. > Properties > Master Block Parameters dialog > Add > Track View Pick dialog Track View > Global Tracks > Block Control > Double-click MasterBlock track. >...
  • Page 606: Animation Constraints

    Animation Constraints An animation constraint is a special type of controller that can help you automate the animation process. You can use constraints to control an object’s position, rotation, or scale through a binding relationship with another object. A constraint requires an animated object and at least one target object. The target imposes specific animation limits on the constrained object.
  • Page 607: Attachment Constraint

    LookAt constraint on page 3312 constrains an object’s orientation so that it’s always looking at another object Orientation constraint on page 3319 causes the rotation of the constrained object to follow the rotation of another object TIP You can use Schematic View to see all the Constraint relationships in a scene. Using Constraints with Bones Constraints can be applied to bones as long as an IK controller is not controlling the bones.
  • Page 608 Attachment constraints keep the cylinders on the surface. The Attachment constraint is a position constraint that attaches an object's position to a face on another object (the target object doesn't have to be a mesh, but must be convertible to a mesh). By keying different attachments over time, you can animate the position of an object over the irregular surface of another object, even if that surface is changing over time.
  • Page 609 2 In the Perspective viewport, create a cone with a radius 1 of 15, a radius 2 of 5, and a height of 30. 3 Select the cylinder, apply a Bend modifier, and set the bend angle to -70 degrees. 4 Turn on Auto Key, move to frame 100, and set the bend angle to 70 degrees.
  • Page 610 3 Drag the time slider to various frames. As the cylinder bends back and forth, the cone remains attached to its upper surface. Continue adjusting the A and B spinners and dragging in the face display window to adjust the cone's position. 4 Remember the number in the Face spinner, and then lower the spinner value until the cone leaves the cylinder cap and begins jumping around various areas of the cylinder.
  • Page 611 Update group Update Updates the display. Manual Update Enables Update. Key Info group Current Key Displays the current key number and lets you move to another key. Time Displays the current frame, and lets you move the current key to a different frame.
  • Page 612 (display window) Shows the position of the source object within the attachment face. You can drag within this window to adjust the position of the object relative to the face. Set Position Adjusts the placement of the source object on the target object. Drag over the target object to specify a face and a position within the face.
  • Page 613 Animation menu > Track View > New/Open Track View > Select a position track in Track View Hierarchy. > Track View toolbar > Assign Controller > Surface Surface constraints position the weather symbols on the globe. The Surface constraint positions an object along the surface of another object. The type of object that can be used as the surface object is limited to those whose surfaces can be represented parametrically.
  • Page 614 The surface used is a "virtual" parametric surface, and not the actual mesh surface. Objects with a low number of segments might have a mesh surface quite different than the parametric surface. The parametric surface ignores Slice and Hemisphere options. So if the object is sliced, for example, the controlled object will position itself as if the missing portion were still there.
  • Page 615 Interface The Surface Constraint Parameters rollout is on the Motion panel. Current Surface Object group This group provides a method for selecting and then displaying the selected surface object. Text Displays the name of the selected object. Pick Surface Selects the object you want used as a surface. Surface Options group This group provides controls for adjusting the position and orientation of the object along the surface.
  • Page 616: Path Constraint

    Align to U Aligns the local Z axis of the controlled object with the surface normal of the surface object, and the X axis with the U axis of the surface object. Align to V Aligns the local Z axis of the controlled object with the surface normal of the surface object, and the X axis is aligned with the V axis of the surface object.
  • Page 617 the standard translation, rotation, scale tools. Setting keys at a sub-object level of the path, such as vertex or segment, animates the path while affecting the constrained object. Multiple Targets and Weighting A constrained object can be influenced by several target objects. When using multiple targets, each target has a weight value that defines the degree by which it influences the constrained object, relative to other targets.
  • Page 618 Click the Assign Controller button. 6 Choose Path Constraint from the Assign Position Controller dialog. 7 On the Motion panel, click Parameters. 8 In the Path Parameters rollout, click Add Path. 9 In the viewport, select the Circle. To edit weight values: 1 Open the Create >...
  • Page 619 To correct path constrained object flipping: When an object is assigned a path constraint and the follow box is turned on, the object will rotate as it moves along the path. Sometimes the object is subject to unwanted flipping. 1 Select the object that is flipping. 2 On the Animation menu choose Constraints >...
  • Page 620 Interface Once you assign a Path constraint, you can access its properties on the Path Parameters rollout in the Motion panel. In this rollout you can add or delete targets, assign weighting, and animate each target's weight value. NOTE When you assign a Path constraint via the Animation menu, the software assigns a Position List controller to your object.
  • Page 621 Add Path Adds a new spline path that influences the constrained object. Delete path Removes a path from the target list. Once removing the path target, it will no longer influence the constrained object Weight Assigns and animates weight values for each target. % Along Path Sets the percent that the object is positioned along the path.
  • Page 622: Position Constraint

    Axis Defines which axis of the object is aligned to the trajectory of the path. Flip Turn on to flip the direction of the axis. The following controls are located on the Hierarchy panel while the IK button is active: Active Activates an axis (X/Y/Z).
  • Page 623 Position constraints align the elements of the robot assembly. A position constraint causes an object to follow the position of an object or the weighted average position of several objects. In order to activate, a position constraint requires an object and a target object. Once assigned the object becomes constrained to the target object’s position.
  • Page 624 settings. For example, a target with a Weight value of 80 will have twice the influence of a target with a Weight value of 40. For example, if a sphere is Position-constrained between two targets and each target’s weight value is 100, the sphere will maintain an equal distance between both targets even when they are in motion.
  • Page 625 2 On the Motion panel, on the Position list, double-click Position Constraint. The Position constraint parameters are located under the Position Constraint rollout. 3 Click a target from the list. 4 Turn on the Auto Key button. 5 Adjust the Weight spinner or enter a numerical value for the weight value.
  • Page 626 Interface Once you assign a Position constraint, you can access its properties on the Position Constraint rollout in the Motion panel. In this rollout you can add or delete targets, assign weighting, and animate each target's weight value. NOTE When you assign a Position constraint via the Animation menu, the software assigns a Position List controller to your object.
  • Page 627: Link Constraint

    constrained object from snapping to the target object’s pivot. The default is Off. Link Constraint Animation menu > Constraints > Link Constraint A link constraint enables the robot arms to pass a ball. A Link constraint is used to animate an object linking from one target object to another.
  • Page 628 animated to meet at frame 50, where the ball is passed to the left hand, and then spread apart until frame 100. Procedures Example: To assign a Link constraint: 1 In the Top viewport, create a sphere and a box. 2 Select the sphere.
  • Page 629 8 Choose Link Constraint. 9 In the Link Params rollout, click Link To World. 10 Move the time slider to frame 1. 11 Click Add Link and select the cylinder. It now becomes a target. The Link Constraint relationship is now active between the sphere and the cylinder.
  • Page 630 Interface Once you assign a Link constraint, you can access its properties on the Link Params rollout in the Motion panel. In this rollout you can add and delete targets and animate the time at which each target becomes the active parent of the constrained object.
  • Page 631: Lookat Constraint

    Link to World Links the object to the world (the scene as a whole). We recommend this be the first target in the list. This prevents the object from reverting to its independent creation or animation transforms if other targets are deleted from the list.
  • Page 632 LookAt constraints enable the antenna dishes to track the satellite. The LookAt constraint controls an object’s orientation so that it’s always looking at another object. It locks an object’s rotation so that one of its axes points toward the target object. The LookAt axis points toward the target, while the Upnode axis defines which axis points upward.
  • Page 633 settings. For example, a target with a Weight value of 80 will have twice the influence of a target with a Weight value of 40. Procedures To assign a LookAt constraint: 1 Select the object you want to constrain. This is the object that will be always looking at its target.
  • Page 634 5 Use the Weight spinner or enter a numerical value to adjust the weight value. LookAt Constraint | 3315...
  • Page 635 Interface 3316 | Chapter 15 Animation...
  • Page 636 Once you assign a LookAt constraint, you can access its properties on the LookAt Constraint rollout on the Motion panel. On this rollout, you can add or delete targets, assign weighting, assign and animate target weight values, and adjust other related parameters. NOTE When you assign a LookAt constraint via the Animation menu, 3ds Max assigns a Rotation List controller to your object.
  • Page 637 Viewline Length Absolute When on, the software uses only the Viewline Length setting for the length of the main viewline; the distance between the constrained object and the target(s) has no effect. Set Orientation Lets you define the offset orientation of the constrained object manually.
  • Page 638: Orientation Constraint

    Orientation Constraint Animation menu > Constraints > Orientation Constraint Orientation constraints align the awning vanes to the supporting rod. An Orientation constraint causes an object’s orientation to follow the orientation of an object or averaged orientation of several objects. An Orientation Constrained object can be any rotatable object. When constrained it will inherit its rotation from a target object.
  • Page 639 Multiple Targets and Weighting A constrained object can be influenced by several target objects. When using multiple targets, each target has a weight value that defines the degree by which it influences the constrained object, relative to other targets. Using Weight is meaningful (and available) only with multiple targets. A value of 0 means the target has no influence.
  • Page 640 3 Turn on the Auto Key button. 4 Use the Weight spinner or enter a numerical value to set the weight value. Interface Once you assign an Orientation constraint, you can access its properties on the Position Constraint rollout in the Motion panel. In this rollout you can add or delete targets, assign weighting, assign and animate target weight values, and adjust other, related parameters.
  • Page 641 NOTE When you assign an Orientation constraint via the Animation menu, the software assigns a Rotation List controller to your object. In the Rotation List rollout list you will find Orientation Constraint, which is the constraint you assigned. To view the Orientation Constraint rollout, double-click Orientation Constraint entry in the list.
  • Page 642 custom constraints directly without having to go to Track View and assign controllers. Parameter wiring is accessible from the Animation menu and the quad menus on page 7516. The Wire Parameters command is available only if a single node is selected. Choosing the Wire Parameters command displays a hierarchical pop-up menu with levels and items corresponding to the animatable tracks that would be visible for that object in Track View.
  • Page 643 Procedures To attach wire parameters: 1 Select the first object you want to use. 2 Choose Animation menu > Wire Parameters > Wire Parameters, or right-click the object and choose Wire Parameters. A pop-up menu displays the parameters you can link. NOTE Wire Parameters works only with parameters that can be animated.
  • Page 644 Select an object with a wired parameter. > Modify panel > Right-click text box portion of two-way-wired on page 3328parameter > Edit Wire The Parameter Wiring dialog allows you to define the relationships for Wire Parameters on page 3322. In this dialog, you can create new one and two-way control relationships between object parameters, edit existing relationships, and create or edit expressions which define the parameter relationships.
  • Page 645 To control several slave parameters from one master parameter: 1 Open the Parameter Wiring dialog. 2 Choose the master parameter in the tree view. 3 Choose the first slave parameter in the other tree view. 4 Click the arrow pointing toward the slave parameter. 5 Enter the desired relationship expression in the expression text box.
  • Page 646 so that as you modify the original master parameter, each slave parameter maintains a constant relationship with the next in a line of parameters. Interface Tree Views The dialog presents two tree views that display the animatable parameters of all of the visible objects in the scene. The names of the currently selected objects appear at the top.
  • Page 647 Show All Tracks Brings you to the top of the scene object list. Find Next Parameter Finds the next wired parameter in the scene, expanding the tree if necessary to show and select it. You can browse through all existing wires by clicking this button repeatedly. NOTE If you click a wired parameter, its connections are shown in green on the other tree view.
  • Page 648 direction (Update). Changes to existing wires are only applied when you click Update. Disconnect The Disconnect button is enabled when you’ve selected parameters with an existing wire between them. It will remove the wire controller(s) and replace them with the Master parameter’s animation track (if two-way) or with default controllers (if one-way).
  • Page 649: Hierarchies And Kinematics

    For one-way wires, the Expression box for the controlling parameter is unavailable, since there is no Wire controller assigned to it. For two-way wiring, both transfer expression text boxes will be enabled. It is possible for the user to supply transfer expressions for the two parameters that are not inverses of one another, but this is of course discouraged, since the relationship of the parameters will be different depending on which one is changed first.
  • Page 650 Hierarchies Bipedal figure with part of its hierarchy diagrammed in the background One of the most useful tools in producing computer animation is the ability to link objects together to form a chain. By linking one object to another, you create a parent-child relationship.
  • Page 651 Hierarchy panel on page 7661 contains commands to control how links behave. Motion panel on page 3426 contains commands to control how links behave when using an History Dependent (HD) Solver Common Uses for Hierarchies Link a large collection of objects to a single parent so they can be easily animated and transformed by moving, rotating, or scaling the parent.
  • Page 652 The seats of the Ferris wheel are children of the wheel, which is in turn a child of the base and support objects, as shown in the following hierarchy. Descendants Children and all of the children’s children of a parent object. In the figures, all the objects are descendants of object 1.
  • Page 653 1. Root 2. Leaves 3. Subtree Example of a hierarchical structure Branch Path through the hierarchy from a parent to a single descendant. In the figure above, the Support, Rotational Hub, and Ferris Wheel objects comprise a branch from the root to the leaf objects (the seats). Leaf Child object that has no children.
  • Page 654 Linking Strategy Before you begin linking any but the simplest hierarchy you should take a few minutes to plan your linking strategy. Your choices for the root of the hierarchy and how the branches grow out to the leaf objects will have important effects on the usability of your model.
  • Page 655 Parents Move Less Than Descendants Because of the way transforms are inherited from parent to child, small adjustments to a parent object might require you to adjust all of its descendants. The typical approach to linking is to choose as your root object the object that moves the least.
  • Page 656 The root object is at or near the hierarchy’s virtual center of mass. The object that best satisfies these criteria is your root object. You then create your hierarchy with all of the other objects as descendants of that root object. Linking Objects for Inverse Kinematics Inverse kinematics (IK) uses the child object as the driving force for the animation.
  • Page 657 1 and 2 each represent the root of the characters. Both structures are suitable for forward kinematics. The structure on the right is best for most inverse kinematics. The figure above shows two approaches to linking a skeletal structure. Either structure is suitable for working with forward kinematics.
  • Page 658 The structure on the left has the arms and torso linked to the neck. The structure on the right links the arms and neck to the torso, a more realistic approach. WARNING Be sure to avoid using non-uniform scaling on objects in a hierarchy that will be animated using IK.
  • Page 659 Linking the sphere to the box causes the sphere to move with the box. The distance between the sphere and the box depends on the frame when the link is made. Linking the sphere on different frames has the following effects: Link on frame 0, and the sphere stays next to the box as it moves.
  • Page 660 Original animation, with ball linked to follow the animated box. If you unlink the sphere, it stops following the box. The position of the sphere depends on its position, rotation or scale at the frame on which the link is removed.
  • Page 661 Clockwise from top, position of the sphere unlinked at frame 0, 25 and 75, respectively. Linking and Unlinking Objects Select and Link on page 3343 and Unlink Selection on page 3344 on the toolbar to make and remove links between objects. Linking Objects The general process of creating links is to build the hierarchy from child to parent.
  • Page 662 of its children and the distance between the children and the parent are also scaled by 150%. Unlinking Objects Click Unlink Selection to remove the link from selected objects to their parents. Any children of the selected object are unaffected. You can quickly unlink an entire hierarchy by double-clicking the root object to select the object and all of its children.
  • Page 663 A child inherits the transformations (move, rotate, scale) applied to the parent, but the child's transformations have no effect on the parent. If you want the child not to inherit the transforms, use the Link Inheritance (Selected) Utility on page 3372 or use the controls found in Link Info on page 3500 in the Hierarchy panel.
  • Page 664 Adjusting Pivots You can think of an object's pivot point as representing its local center and local coordinate system. The pivot point of an object is used for a number of purposes: As the center for rotation and scaling when the Pivot Point transform center is selected.
  • Page 665 Affect Pivot Only transforms the pivot without moving the object. Affecting Object Only When Affect Object Only is on, transforms are applied only to selected objects. Pivots are not affected. Moving, rotating, or scaling the object does not affect the pivot or its children. 3346 | Chapter 15 Animation...
  • Page 666 Affect Object Only transforms the object without moving the pivot. Affecting Hierarchy Only When Affect Hierarchy Only is on, rotate and scale transforms are applied only to the links between objects and their children. Scaling or rotating an object affects the link offsets of all its descendents without affecting the geometry of the object or its descendents.
  • Page 667 After a hierarchy is created, you can scale the position of the children without changing the individual objects’ dimensions. 3348 | Chapter 15 Animation...
  • Page 668 Rotating the hierarchy does not affect the individual objects’ orientation. Aligning Pivots Buttons on the Alignment group box of the Adjust Pivot rollout change names based on the state of Affect Object Only and Affect Pivot Only. Alignment is disabled when Affect Hierarchy Only is active. Center to Object/Pivot Moves the object, or pivot, so the pivot is at the center of the object.
  • Page 669 Viewing and Selecting Hierarchies There are a number of ways to view a hierarchy structure and select objects in it. Viewing a Hierarchy You can use these methods to view the relationships between parents and children in a linked hierarchy. Select Objects dialog on page 232 appears whenever you use a by-name selection method, such as choosing Edit menu >...
  • Page 670 Displaying the hierarchy in the Controller list A square icon with a plus indicates a collapsed branch under that object, while a minus indicates an expanded branch. Click a plus icon to expand a branch, or a minus icon to collapse it. TIP In complex scenes, use Curve Editor to navigate quickly through the Track View.
  • Page 671 Selecting Hierarchy Members:Ancestors and Descendants Once you have selected one or more objects in a hierarchy, you can select its direct ancestor or descendant with the Page Up and Page Down keys. Page Up deselects the object and selects the object’s parent. Page Down deselects the object and selects all its immediate children, but not all descendants down the chain.
  • Page 672 Take, for example, the asymmetrical hierarchy of dummy helper objects shown below: Hierarchy in viewport (numbers added) Hierarchy in Select From Scene dialog From the viewport image, it might appear that Dummy objects 06, 08 and 02 are siblings of each other. However, the setup is actually more complicated, because Dummy objects 02 and 08 are direct children of Dummy03, while Dummy06 is a direct child of Dummy05, which has the same hierarchical level as Dummy03:...
  • Page 673 Defining a sibling in this way has the practical advantage of letting you, for example, cycle through the selection of all finger links on one side of a character without the selection jumping to the other hand. But cycling through siblings with an arm object selected usually results in selecting the opposite arm object.
  • Page 674 How Links and Pivots Work Once two objects are linked together, the child object maintains its position, rotation, and scale transforms relative to its parent object. These transforms are measured from the pivot of the parent to the pivot of the child. For example, consider the two boxes in the following figure.
  • Page 675 Rotating the parent affects the position and orientation of the child object. 3356 | Chapter 15 Animation...
  • Page 676 Rotating the child does not affect the parent. Links act as a one-way conduit to transmit the transforms of a parent object to its child object. If you move, rotate, or scale the parent, the child is moved, rotated, or scaled by the same amount. Because hierarchical links are one-way, moving, rotating, or scaling the child has no effect on its parent.
  • Page 677 Moving the root parent moves the whole hierarchy. 3358 | Chapter 15 Animation...
  • Page 678 Rotation of a parent object is passed to all the child objects. Animating a Child Object With forward kinematics, a child is not constrained by its link to a parent. You can move, rotate, and scale children independent of their parents. Animating with Forward Kinematics | 3359...
  • Page 679 Moving the last child object does not affect any of the previous objects in the hierarchy. 3360 | Chapter 15 Animation...
  • Page 680 Rotating a child object in the middle of the hierarchy affects all the descendants but none of the parents. If you want to manipulate parent objects by moving the last child in the chain, inverse kinematics on page 3374. Manipulating the Hierarchy A child object inherits the transforms of its parent, and the parent inherits the transforms of its ancestors all the way up the hierarchy to the root object.
  • Page 681 Manipulating the hierarchy of a leg. Consider the linked mannequin in the figure. If you want to position the mannequin’s right foot to rest on top of the soccer ball beside it, you perform the following steps: 1 Rotate the right thigh so the entire leg is above the soccer ball. 2 Rotate the right shin so the foot is near the top of the soccer ball.
  • Page 682 You always start transforming objects at the highest-level parent affected by the motion and work your way down the hierarchy to the last child. You have considerable control over the exact placement of every object in the hierarchy using forward kinematics. However, the process can become tedious with large and complex hierarchies.
  • Page 683 Combining the bouncing motion of a ball with the forward motion of a dummy results in a moving bouncing ball. Using a Dummy as a Handle You might want to move and animate a selection of objects individually but also have the ability to transform them as a single object. A good example of this is a camera on a tripod.
  • Page 684 The sphere bounces on top of the dummy object as the dummy moves around the scene. You can easily change the height and speed of the bounce by changing the sphere animation. You can change the path through the scene by changing the dummy animation. To create a camera tripod: Create a dummy object below a target camera and link the camera and target as children of the dummy object.
  • Page 685 Robot arms pass a ball from one hand to the other. Adding and Deleting Links You add and delete links on the Motion panel. Expand the Link Parameters rollout and click Add Link or Delete Link. Click Add Link then click the object that you want to link to as a parent. The frame at which you add the link is the frame at which control is passed.
  • Page 686 Properties of the Link constraint include: The Link constraint respects the link inheritance settings applied to the child object. The object using a Link constraint is not a true child object. It does not appear in the subtree of any linked parent objects. Objects with Link constraint do not participate in IK solutions.
  • Page 687 If you change the animation of the second hand at frame 75, it affects the position of the hand relative to the ball at the time of the link (frame 50). This change in relative position affects the ball over all frames where it is linked to the second hand.
  • Page 688 The 200% scale has been absorbed by the sphere as its original state. The sphere has a true radius of 40 units, Creation Parameters report a radius of 20 units, and absolute local scale is 100%. The sphere's child object accepts a local scale of 200% so it does not change in size.
  • Page 689 The Locks rollout contains three groups: one each for Move, Rotate, and Scale. Each group contains three options, one each for the X, Y, and Z Local axes of the selected objects. When turned on, the objects cannot be transformed about the selected Local axes when you directly use one of the transform tools.
  • Page 690 Turn on Align to Surface if you want to align the world Z axis of the source object with the surface normal of the target object. Even with Align to Surface selected, you can always rotate the source object to orient it the way you want in relation to the target object.
  • Page 691 The Inherit rollout for objects using standard position, rotation, and scale controllers contains three groups: one each for Move, Rotate, and Scale. Each group contains three options, one each for the X, Y, and Z world axes. When turned on, transform information from the parent is passed on to the child for the selected World axes.
  • Page 692 Interface XYZ Turn off any axis in the Move, Rotate, or Scale groups to prevent inheritance. When a box is turned on, transform information from the parent is passed on to the selected objects for the selected axis. When a box is turned off, transform information on that axis is ignored by the selected objects.
  • Page 693: Inverse Kinematics (Ik)

    Inverse Kinematics (IK) Using IK to animate a leg Inverse kinematics on page 8016) is a method of animating that reverses the direction of the chain manipulation. Rather than work from the root of the tree, it works from the leaves. Let's take the example of an arm.
  • Page 694 moves the pivot point of the wrist, called an end effector on page 7963, toward the goal. In the case of a leg, for example, the foot is constrained to the floor by the goal. If you move the pelvis, the foot stays put since the goal has not moved, and this causes the knees to bend.
  • Page 695 Control Objects to Assist IK You can link a goal or an end effector to points, splines, or dummy objects that serve as quick controls to translate or rotate the end of the chain. These control objects can be linked together as well, or they can be controlled with constraints.
  • Page 696: Ik Terminology

    Position and orientation of parent objects are determined by the position and orientation of child objects. Because of these additions, IK requires greater thought about how you link your objects and place pivots. Where many different solutions for linking objects may be suitable for forward kinematics, there are usually just a few good solutions for any given IK approach.
  • Page 697 Joints An IK joint controls how an object transforms with respect to its parent. You specify joint behavior with settings in three categories: Object Pivot Point The location of an object’s pivot point defines where joint motion is applied. Joint Parameters Changing the IK settings in the Hierarchy command panel determines the direction, constraints, and order of how the joint operates.
  • Page 698 manipulate mode. This determines an up-vector handle for the chain, which can also be animated over time. You can also define a target for the swivel angle manipulator to follow. For more information, see White Paper: Swivel Angle of the HI IK Solver on page 3397.
  • Page 699 Inverse Kinematics Methods Inverse kinematics builds on the concepts of hierarchical linking. To understand how IK works, you must first understand the principles of hierarchical linking and forward kinematics. See Animating with Forward Kinematics on page 3354 and Inverse Kinematics (IK) on page 3374.
  • Page 700 An IK solver places keyframes only on the IK goal or end effector, as opposed to forward kinematics (or the non-solver IK methods), which place rotation keyframes on the bones or hierarchical objects themselves. Other IK Methods In addition to the IK solvers, 3ds Max provides two non–solver methods of inverse kinematic animation: Interactive IK and Applied IK.
  • Page 701 IK Solvers Select an object in a hierarchy where you want IK to start. > Animation menu > IK Solver > Apply an IK solver. > Click the object in the hierarchy where you want the IK chain to end. An IK solver creates an inverse kinematic solution to rotate and position links in a chain.
  • Page 702 IK solvers are plug-ins, so programmers can expand the software's capabilities by customizing or writing their own IK solvers. 3ds Max ships with four different IK solvers. How Does an IK Solver Work? An IK solver generally operates in this way: an inverse kinematic chain is defined on part of the hierarchy, say from the hip to the heel, or the shoulder to the wrist of a character.
  • Page 703 Four plug-in IK solvers ship with 3ds Max: HI (History-Independent) Solver on page 3392 The HI Solver is the preferred method for character animation, and for any IK animation in long sequences. With HI Solvers, you can set up multiple chains in a hierarchy.
  • Page 704 uses a preferred angle to define a direction for rotation, so the elbow or knees bend correctly. It also allows you to switch between IK and FK by keyframing IK Enabling, and it has a special IK for FK pose function so you can use IK to set FK keys.
  • Page 705 Animating bones with skin causes the skin to stretch or shrink. Animating bones with skin causes the skin to stretch or shrink. Turning Other Objects into Bones Any object can be turned into a bone object. Right-click any object and select Properties from the quad menu on page 7516.
  • Page 706 You can display any object as a bone object. Select the object and then choose Bone Tools from the Animation menu. This opens the Bone Tools floater. On the Object Properties rollout, turn on Bone On. Then go to the Display panel, and on the Link Display rollout turn on Display Links and Link Replaces Object, which displays the bones instead of the object.
  • Page 707 Any object hierarchy can be displayed as bones. Bones can scale, squash and stretch over time. See Using Objects as Bones page 913. Link Display You can use Display Links and Link Replaces Object to display the links instead of the object. These settings are found on the Link Display rollout on the Display panel.
  • Page 708 How to Apply an IK Solver You can apply an IK solver when you create a Bones system, or from the Animation menu: Bones creation on page 901 When you create bones, turning on the Assign to Children option lets you apply an IK solver immediately.
  • Page 709 Hierarchy panel on page 7661 HI Solver When a bone is selected, the IK panel displays controls to activate and limit the rotational joints, and set a preferred angle for the joints. The preferred-angle poses of all the joints help control the direction of rotation of the limbs.
  • Page 710 4 Click where you want the IK chain to end. If you are using the IK Limb Solver, you must apply the IK Solver to control only two bones. The IK solver appears in the viewport. To create a bones hierarchy that uses an IK solver: Go to the Create panel, choose Systems, and click Bones.
  • Page 711: History-Independent (Hi) Ik Solver

    History-Independent (HI) IK Solver The HI (History-Independent) Solver does not rely on IK solutions calculated in previous keyframes in the timeline, so it is just as fast to use at frame 2000 as it is at frame 20. The HI Solver uses a goal to animate a chain. You animate the goal and the IK solver attempts to move the end effector (the pivot point of the last joint of the chain) to match the position of the goal.
  • Page 712 The second chain is created from the ankle to the ball of the foot. This chain controls the heel's up and down motion. The third chain is created from the ball of the foot to the toe. When the three chains work together they help to maintain the foot’s position in space.
  • Page 713 Overlapping chains make the toe stick to the ground 3394 | Chapter 15 Animation...
  • Page 714 Overlapping chains make the toe stick to the ground Don't try to overlap chains with different kinds of IK solvers or you might get unpredictable results. Creating Control Objects To create control objects to animate the goals, create dummies, points, splines or other objects near the goal, then link the goal to the control object.
  • Page 715 three bone chains that are all in the same place, and constrain one bone chain to another, then weight the constraints. Bone chains constrained together Using control objects gives you something bigger to select in the viewport. You can also use control objects to separate chains, for example in a human arm one chain could end at the wrist and another separate chain be created for the hand and fingers.
  • Page 716 When the Enabled button is on, the FK subcontroller values are preserved but ignored. When Enabled is turned off, the FK subcontroller values apply. To access the Enabled button, select the goal and go to the Motion panel, then turn off the Enabled button. This will allow you to animate using FK rotations of the bones or hierarchy objects.
  • Page 717 1. Start joint 2. End effector 3. EE axis Solver Plane Let’s call the plane passing all the joints the Solver Plane. When joints do not lie on a plane, we will define it to be the plane that (A) passes the Start Joint and End Joint and (B) is closest to the remaining joint in a certain sense.
  • Page 718 The argument to the Zero Plane Map is a unit vector to give the direction of the EE axis. Equivalently, when the EE slides along the EE axis, the solver plane should be fixed. Therefore, the Zero Plane Map defines a vector field on a sphere.
  • Page 719 Intrinsic Reference Frame for the Sphere In order to define the Zero Plane Map, we need to define a reference frame for the sphere. This reference frame is intrinsic to the joint chain itself. A sphere can be defined by the center, the horizontal plane, and the meridian (zero longitude).
  • Page 720 The API for the plug-in solver to define its own Zero Plane Map in fact takes the EE axis and the normal to the solver plane at the preferred pose: virtual const IKSys::ZeroPlaneMap* GetZeroPlaneMap(const Point3& a0, const Point3& n0) const where a0 and n0 are the EE axis and solver plane at the preferred pose, respectively.
  • Page 721 Deriving the default normal to the zero plane Obviously, this method won’t extend to the north or south poles. They are the singular points. When the EE axis moves across the poles, the normal will suddenly change direction: it flips from the users’ viewpoint. Normally, the preferred pose is the one when the solver is first assigned.
  • Page 722 of latitude and longitude are different. The parent transformation space that this sphere is to be placed in is called the Swivel Angle Parent Space, or Parent Space when the context is clear. The parent space has to be invariant with regard to the IK parameters. Right now, we provide two choices: Start Joint The Swivel Angle Parent Space is the same as the parent space...
  • Page 723 Assume this is the pose when the IK solver is assigned. So, this is the preferred pose. The plane on that the joints are laid out is the horizontal plane of the (Zero Plane Map) sphere. A: Parent Space is Start Joint. In this case, the sphere is parented to A. If A is rotated about the drawn axis, the sphere is rotated together with it.
  • Page 724 solver from Bone2 to Bone4. If we parent the chain directly to world, it would appear as shown in the right figure: the solver plane becomes horizontal. A: Parent Space is Start Joint. The sphere is mounted after the rotation of A and therefore the “horizontal plane”...
  • Page 725 1. Bone01 2. Bone02 3. Bone03 4. Bone04 The Start and End Joints are Bone01 and Bone04, respectively. Suppose the pose shown in the figure is the preferred pose and Bone01 contains a rotation. If we parent Bone02 directly to the world, the hierarchy from Bone02 will appear as in the right figure.
  • Page 726 position. It generally is not perpendicular to the viewport. Therefore, we will see a flip once it takes a new Start Joint. If you delete the solver/goal and assigned a new one from Bone02 to Bone04, you will find that the chain won’t flip. Why? Assignment of Start Joint is different from creating a new IK chain/goal.
  • Page 727 Changing the swivel angle The angle of the solver plane is actually calculated in one of two coordinate systems: the Start Joint Parent space or the IK Goal Parent space. World space is not an explicit option; however, you can easily configure the IK chain to work in world space by choosing the IK Goal Parent option and making sure that the IK goal is unlinked (i.e., has no hierarchical parent).
  • Page 728 Procedures To turn off IK on a chain: 1 Select the goal of a chain with an HI Solver. 2 In the Motion panel IK Solver rollout, turn off Enabled. IK is now off, so you can select and rotate any of the objects in the chain. Turning IK on and off is animatable using the Auto Key button.
  • Page 729 Interface IK Solver group The items in this group provide the ability to set the start and end points of the selected HI IK solver chain. There are also controls in this rollout that allow you to use IK manipulation to create forward kinematic rotational keyframes on the hierarchy objects, and there are buttons to align the goal and the end effector.
  • Page 730 Solver field Allows selection of IK Solver. Choose between the HI IK Solver and the IK Limb Solver here. Any HI IK plug-in solver present at startup will appear in this list, as well. Enabled Turns IK control of the chain on and off. The HI IK Controller has an FK subcontroller.
  • Page 731 Assume Pref Angles Copies the X, Y, and Z preferred angle channels of each bone and places them into its FK rotation subcontroller. This essentially performs the inverse operation of the Set As Pref Angles function. Bone Joints group Allows you to change the ends of the IK chain. Pick Start Joint Defines one end of the IK chain.
  • Page 732 In the Thresholds and Solutions group you can refine the IK solution. The Position Threshold sets a limit in units of how far the goal can be moved from the end effector, the Rotation does the same in angle degrees. The Solutions group Iterations is the maximum number of attempts the IK solution will perform before giving up.
  • Page 733 Swivel angle manipulator. When you move the mouse over the manipulator, it turns red. At this point, you can drag the manipulator to change the swivel angle. The Auto Key button can be active while you do this. You can also animate the swivel angle by using a target object. Pick an object for the target, then animating the object will animate the swivel angle.
  • Page 734 Interface IK Solver Plane group Swivel Angle Controls the Solver Plane which determines the direction of the knee or elbow in a human limb. The Swivel Angle can be manipulated in the viewport by turning on Swivel Angle Display in the Display Options rollout, and then turning on Manipulate Mode.
  • Page 735 Position Sets a limit in units of how far the goal can be moved from the end effector. Keep these numbers low. Rotation Sets a limit in degrees of how far the goal can be rotated away from the end effector rotation. Keep these numbers low for best results. Note that adjusting the Rotation threshold on the HI Solver and IK Limb Solver has no effect.
  • Page 736 Interface End Effector Display group Controls the appearance of the end effectors in the IK chain. Off by default. Enabled Turns the end effectors display on or off. Size Controls the size of the end effector gizmo in the viewport. Goal Display group Controls the appearance of the goals in the IK chain.
  • Page 737 Size Controls the size of the manipulator's handle in viewports. Length Controls the length of the manipulator in viewports. IK Solver Display group Controls the appearance of the IK Solver display, the line drawn between the start and end joints. Turn this on when you have multiple chains that you want to see at the same time.
  • Page 738 6 Select any bone in the chain. 7 On the Hierarchy panel > IK panel, open the Rotational Joint rollout. 8 There are three axes. Find the one with the preferred angle that is not zero. 9 Change the preferred angle. If it is negative make it a positive one. 10 Play the animation, see how changing the preferred angle can redefine the direction of the rotation.
  • Page 739 Interface Sliding Joints rollout X,Y, Z Axis groups Active Activates an axis (X/Y/Z). Allows the selected object to slide on the activated axis. Limited Limits the range of motion allowed on an active axis. Use in conjunction with the From and To spinners. Most joints are limited in their range of motion along an active axis.
  • Page 740 Rotational Joints rollout X,Y, Z Axis groups Active Activates an axis (X/Y/Z). Allows the selected object to rotate about the activated axis. Limited Limits the range of rotation allowed on an active axis. Use in conjunction with the From and To spinners. Most joints are limited in their range of rotation along an active axis.
  • Page 741: History-Dependent (Hd) Ik Solver

    History-Dependent (HD) IK Solver Select a node of hierarchy or bone chain. > Animation menu > IK Solvers > HD Solver > Click a second node of chain. Animating with the HD Solver lets you use sliding joints combined with inverse kinematics.
  • Page 742 move along with the character. To have hands follow the root object, link the end effectors of the hands to the root object. Linking Bones to Follow Objects You can also use follow objects instead of end effectors and bind bones to any number of follow objects using Interactive IK.
  • Page 743 Bind Position Causes an object to attempt to maintain its location or to match the location of a follow object. Bind Orientation Causes an object to attempt to maintain its rotational orientation or to match the orientation of a follow object. Relative Changes how an object reacts to a bound follow object.
  • Page 744 Unbinding Objects If you decide that you do not want an object to be bound you can either turn off the Bind Orientation and Bind Position boxes, or unbind the object from its follow object. If you turn off the binding options, you disable the effect of binding without removing the binding to a follow object.
  • Page 745 The last solution calculated is used if the maximum number of iterations is reached, regardless of whether the solution satisfies the position and rotation thresholds. Setting Applied and Interactive Thresholds You set the threshold and iterations settings as a trade-off between accuracy and speed.
  • Page 746 Procedures History-Dependent (HD) IK Solver on page 3422. Interface Thresholds group These settings are the same as those in Customize menu > Preferences > Inverse Kinematics. They set the threshold for the changes in position and rotation between the end effector and the last link of the chain. Position Specifies, in units, the "slop"...
  • Page 747 Initial State group When you first create a hierarchical chain, the initial position of the bones or objects is the initial state. The options here let you display, alter, or lock the initial state. When both of the options here are turned off (the default), transforming the end effector is different from transforming the other joints in the chain.
  • Page 748 Update group The options in this group determine how the IK calculation is solved during the transformation of the end effector. Precise Solves the entire chain precisely for all frames from the Start time to the current time. When you release the mouse button, the chain will not move.
  • Page 749 When Selected Displays the axis rod and joint limits only on selected joints. TIP The joint icons can be difficult to see when the bones are linked to mesh objects. When animating a bone-based hierarchy, you can hide all of the objects and display and animate only the bones, which makes the joint icons more visible.
  • Page 750 End Effector Parent Links an end effector to another object in the scene. Since end effectors are not, in themselves, objects, you won't see this linkage in Track View, but the linked end effector will inherit the transformations of its parent. NOTE Apart from the root object, you can't link an end effector to an object in the hierarchy because it would create an endless loop.
  • Page 751 HD Joint Settings You control a joint's resistance to motion, and its tendency to return to its original position, by setting Ease, Damping, and Spring Back options. Moving telescopes with and without damping Easing a Joint at Its Limits An organic joint, or a worn mechanical joint, moves freely in the middle of its range of motion but moves less freely at the extremes of its range.
  • Page 752 For example, a telescope with no damping at all allows each cylinder to move to its maximum limit before the next cylinder moves. If the cylinders have damping values assigned, then each cylinder causes its parent to begin moving before it reaches full extension. Setting a Joint to Spring Back When a joint resists motion, it also has a tendency to return toward its at-rest position.
  • Page 753 The hoof (a child) has precedence over the leg (its parent). The hoof (a child) has precedence over the leg (its parent). 3434 | Chapter 15 Animation...
  • Page 754 For any given position of an end effector, there are many possible IK solutions. The three joint precedence controls in the Object Parameters rollout are: Precedence Sets joint precedence manually. Child->Parent Automatically sets joint precedence to decrease in value from child to parent.
  • Page 755 Using Default Joint Precedence (HD Solver) The default joint precedence is suitable for many HD IK solutions. It assumes that joints closest to where a force is applied (the end effector) will move more than joints farther from the force. The default joint precedence is a value of 0 for every joint: all joints have the same precedence value.
  • Page 756 The first figure shows values for child-to-parent precedence. The first figure shows values for child-to-parent precedence. Assigning Child->Parent Precedence Clicking Child−>Parent sets joint precedence based on a child having a higher precedence than its parent. The values are calculated by setting the root of Inverse Kinematics (IK) | 3437...
  • Page 757 the entire hierarchy to a precedence value of 0 and each child to a value equal to 10 times its depth from the root. You almost always assign Child->Parent precedence to an entire kinematic chain. The chain for the structure in the figure uses the body as the root object and the duck as the end effector.
  • Page 758 The figure shows values for parent-to-child precedence. The figure shows values for parent-to-child precedence. Assigning Parent->Child Precedence Clicking Parent->Child sets joint precedence based on a child having a lower precedence than its parent. The values are calculated by setting the root of Inverse Kinematics (IK) | 3439...
  • Page 759 the entire hierarchy to a precedence of 0 and each child to a value equal to -10 times its depth from the root. You almost always assign Parent->Child precedence to an entire kinematic chain. The chain for the structure in the above figure uses the body as the root object and the duck as the end effector.
  • Page 760 The figures show precedence values that were assigned manually: the chain for the structure uses the body as the root object and the duck as the end effector. The figures show precedence values that were assigned manually: the chain for the structure uses the body as the root object and the duck as the end effector.
  • Page 761 Terminating Chains (HD Solver) The kinematic chain is automatically defined using the object you select as the end effector and working up the hierarchical tree to use the root object as the base of the kinematic chain. Sometimes you might not want the kinematic chain to go all the way to the root of the hierarchy.
  • Page 762 With a terminator in the neck, the body of the bird is not affected. With a terminator in the neck, the body of the bird is not affected. Inverse Kinematics (IK) | 3443...
  • Page 763: Ik Limb Solver

    IK Limb Solver The IK Limb solver is specifically meant for animating the limbs of human characters; for example, the hip to the ankle, or the shoulder to the wrist. Each IK Limb solver affects only two bones in a chain, but multiple solvers can be applied to different parts of the same chain.
  • Page 764: Spline Ik

    3 From the Animation menu, choose IK Solvers > IK Limb Solver. 4 In the viewport, move the mouse. You will see a dotted line attached to the cursor as you move the mouse. 5 Click the third bone in the chain, or any bone after the third bone. The IK Limb solver displays on the bone chain.
  • Page 765 You can move and animate the spline vertices to change the curvature of the spline. Usually, a helper is placed at each vertex to assist in animating the spline. The spline curvature is then passed on to the entire linked structure. The bones themselves do not change shape.
  • Page 766 NOTE Moving the Spline IK helpers to curl the spline can sometimes cause bones to rotate or flip unexpectedly. If this happens, you can try choosing a different upnode object with the IK chain's Pick Upnode option in the IK Solver Properties rollout (see Spline IK Solver Rollouts on page 3455), or use a different IK method for...
  • Page 767 3448 | Chapter 15 Animation...
  • Page 768 This procedure automatically draws the spline based on your dialog selections and sets up the Spline IK system to work with the spline. The software automatically assigns a Path constraint to the root bone to constrain it to the helper/vertex at that end of the spline. To apply a Spline IK solver to an existing bone structure: 1 Create a bone structure without an IK chain.
  • Page 769 The bone structure jumps to the spline and takes its shape, and a helper is created on the spline at each vertex. A Path constraint is automatically assigned to the root bone to constrain it to the helper/vertex at that end of the spline.
  • Page 770 To specify a spline after the spline IK solver is applied: You can also apply a Spline IK solver to an existing bone structure without selecting a spline, then choose the spline later. 1 Create a bone structure without an IK chain. 2 Select the bone or object where you want to the solver to start.
  • Page 771 With this method, the position constraint is not automatically assigned to the root bone, so it must be assigned manually. 6 Select the root bone. Choose Animation menu > Constraints > Path Constraint, and then click the spline. This moves the bone structure to the spline, if they're apart, and creates a Position List controller for the bone with the Path Constraint as the second (active) constraint.
  • Page 772 This dialog sets parameters for the spline that will be created to control the bone structure. The spline, in turn, is shaped by the positions of helper objects at each knot (control point). See also: Spline IK on page 3445 Inverse Kinematics (IK) | 3453...
  • Page 773 Interface Spline Options group IK Name Sets the name of the IK chain object. This object appears as a set of blue cross hairs at the end of the chain after you click OK. Auto Create Spline Automatically creates the spline used for the Spline IK solver based on the parameters on this dialog.
  • Page 774 Number of Spline Knots Vertices on the spline, or control points and CVs on the NURBS curve. You alter the spline or curve by moving and animating the knots. The number of knots sets the degree of refinement on the curve as well as the number of points that can be selected and moved to change the shape of the curve.
  • Page 775 When a Spline IK chain is selected, the options on the Motion panel can be used to change the starting and ending bones, and twist angles for the entire linked structure. To create a Spline IK Solver, see Animating with the Spline IK Solver on page 3445.
  • Page 776 Bone Joints group Pick Start Joint Picks the start joint for the Spline IK Solver and displays the object name. Pick End Joint Picks the end joint for the Spline IK Solver and displays the object name. IK Solver Properties rollout The options on this rollout set the start and end twist angles for the spline IK chain.
  • Page 777 TIP To see and adjust the twist manipulators, turn on Select And Manipulate page 2613. Twist Start group Enabled Turns on the display of the start twist manipulator. Default=on. Size Sets the size of the start twist manipulator. Default=1.0. Length Sets the length of the start twist manipulator. Default=75.0 Twist End group Enabled Turns on the display of the end twist manipulator.
  • Page 778: Animating With Interactive Ik

    Size Sets the size of the IK goal. Default=30.0. IK Solver Display group Enabled Turns on the display of the IK chain object. Default=off. Interactive and Applied IK Animating with Interactive IK Select the end of a hierarchy > Hierarchy panel > IK > Interactive IK. With Interactive IK and the Auto Key button turned on, you position your model on keyframes, and the IK solution is interpolated between those keyframes.
  • Page 779 For information about making the end effector precisely follow the motion of the box, see Animating with Applied IK on page 3462. IK structure 3460 | Chapter 15 Animation...
  • Page 780 Results of animating the box and IK structure Behavior of Objects in IK Mode As you move and rotate objects using interactive IK you notice that some objects might not be able to move or rotate about all axes. This is because the objects are constrained by the joint parameters you have set.
  • Page 781: Animating With Applied Ik

    If you decide you want root objects to always use their joint parameters, you can turn off the Always Transform Children Of The World option. Single, unlinked objects are hierarchies of one. An unlinked object is its own root and is also a child of the World. Turning Always Transform Children of the World will prevent you from transforming single objects in IK mode.
  • Page 782 Example of Applied IK IK structure Inverse Kinematics (IK) | 3463...
  • Page 783 Animating the lamp with applied IK The illustration demonstrates how an applied IK animation works. Just as in the example in Animating with Interactive IK on page 3459, the figure shows an IK lamp structure with its head positioned over a spider. To maintain the offset distance between the lamp head and spider, the actual end effector is an invisible Dummy helper object, placed within the spider and linked to the lamp head as a child.
  • Page 784 Clearing Keys from Previous Animation If you have animated any members of the IK chain interactively, or run Apply IK previously, the existing animation keys will affect the new IK solution. Sometimes that is exactly what you want. You can use manual animation to subtly nudge the IK solution toward a particular result.
  • Page 785 Joint Controls Setting Joint Parameters You set whether a joint behaves as a hinge, a drawer slide, or another type of joint by setting joint parameters on page 3418 for each object in the kinematic chain. Joints control the rotation and position of an object with respect to its parent.
  • Page 786 Surface joints Control the position of objects using Surface constraint page 3293. The parameters control how the object travels along its assigned surface. Path joints Control the positional motion of objects using Path constraint on page 3297. The parameters for path joints control how far an object can travel along its assigned path.
  • Page 787 1. Base 2. Post 3. Cap 4. Ring 5. Holder 6. Handle 3468 | Chapter 15 Animation...
  • Page 788 In the figure, the bead uses a path constraint to hold it to the ring. The IK chain from parent to child is Post->Cap->Bead->Handle. The ring is a child of the Cap but is not part of the IK chain. Copying and Pasting Joint Parameters You can copy and paste at the bottom of the Object Parameters rollout in the Hierarchy panel to copy and paste a complete set of joint parameters from...
  • Page 789 TIP Choose one of the Mirror Paste options if you want to mirror the joint parameter settings as you paste them. This is very useful when pasting from one side of an object to another, such as left arm joints to a right arm. You can also copy joint settings from a non-IK controller to an IK controller, but you can't copy from an IK controller to a non-IK controller.
  • Page 790 Set the transform managers to Parent coordinate system and Use Pivot Point Center, while setting joint parameters. This helps you see the orientation of the joint axes by displaying the parent axis icon at the selected object’s pivot point. When activating joint axes, drag the From spinner up and down. This causes the object to move or rotate about the active axis and is a quick check that you chose the right axis.
  • Page 791 Activating Sliding Joints 1. Sliding axis When you turn on Active for one of the X, Y, Z axes of a sliding joint the object can move along that axis of its parent’s coordinate system. Most sliding joints are active only along a single axis. A telescope is an example of a sliding joint active on a single axis.
  • Page 792 Path and Surface Joints Circular path When you turn on Active for Path or Surface joints you are setting whether the object can move along the assigned path or surface. A house key on a ring is an example of an active path joint. Path Constraint on page 3297.
  • Page 793: Hierarchy Panel Commands

    Limiting Rotational Joints Limits for a rotational joint define how far the object can rotate about its parent’s axes. The values in the From and To fields represent the rotation angle about the active axis measured from 0 degrees on the parent object. For example, an elbow joint rotates the forearm with respect to the upper arm.
  • Page 794 on page 3485 Link Info on page 3500 You use the Pivot tab to adjust the pivot points of objects in the hierarchy. You use the IK tab to manage the behavior of inverse kinematics (IK). You use the Link Info tab to apply locks or inheritance to movement within the hierarchy.
  • Page 795 Every object has a pivot point that represents its local center and local coordinate system. The pivot point of an object is used for the following: Functions as the center of rotation and scaling when you use the Pivot Point transform center on page 976.
  • Page 796 Pivot point sets hand to the center of the clock face. Procedures To reposition an object's pivot point: 1 Select an object and then turn on Adjust Pivot rollout > Affect Pivot Only. 2 Move or rotate the pivot. You can also use Align on page 1009, Quick Align...
  • Page 797 Affect Pivot Only Affects only the pivot point of the selected objects. NOTE A Scale transform has no effect on the pivot. Affect Object Only Affects only the selected objects (and not the pivot point). Affect Hierarchy Only Applies only to the Rotation and Scale tools. It applies the rotation or scale to the hierarchy by rotating or scaling the position of the pivot point without rotating or scaling the pivot point itself.
  • Page 798 Align to Object Rotates the pivot to align with the object's transformation matrix axes. Align to World Rotates the pivot to align with the world coordinate axes. If you chose Affect Object Only, the buttons work as follows: Center to Pivot Moves the center of the object to its pivot location. Align to Pivot Rotates the object to align its transformation matrix axes with the pivot.
  • Page 799 Moving an object along the working pivot Z axis IMPORTANT Most Working Pivot tools are best used in working contexts other than the Hierarchy panel. For example, you can use it in the Modify panel context while editing mesh sub-objects. For this reason, it’s highly recommended that you Customize User Interface on page 7697 >...
  • Page 800 By default, this sets the geometric center for rotate and scale transforms Use Transform Coordinate Center on page 979; that is, the working pivot position. To specify a different transform center, use the Center flyout on page 975. From the main toolbar > Reference Coordinate System list on page 967, choose Working.
  • Page 801 NOTE While Edit Working Pivot is active, the current selection is locked to the working pivot and cannot be changed without exiting this mode. Use Working Pivot When on, lets you transform the current selection (objects or sub-objects) with respect to the working pivot. The transform gizmo, when visible, moves to the working pivot location.
  • Page 802 of the surface as you move the cursor over it. Clicking places the pivot to the surface and aligns it to the normal (unless Align To View is on; see following). Align To View When on, automatically aligns the working pivot to the current view when you place it with View or Surface.
  • Page 803 Interface Move/Rotate/Scale group Don't Affect Children Limits transforms to the selected object and its axis, not to its children. This is very useful when working with bones and other hierarchies. If you need to make a particular bone or object longer or shorter, select the object and then turn on Don't Affect Children.
  • Page 804 There is also a Reset XForm utility on page 957 to do the same tasks. Skin Pose Rollout Make a selection in the viewport. > Hierarchy panel > Pivot button > Skin Pose rollout These controls function as a copy/paste system for setting up character animation.
  • Page 805 The rollouts on this panel are: Inverse Kinematics Rollout (Interactive, Applied, and HD IK) on page 3497 Object Parameters Rollout (HD Solver) on page 3486 Auto Termination Rollout (Interactive IK) on page 3499 Position XYZ Parameters on page 3219 Key Info (Basic) on page 3127 Key Info (Advanced) on page 3131...
  • Page 806 Position/Orientation/Bind to Follow Object (HD Solver) on page 3487 Precedence (HD Solver) on page 3491 Copying, Pasting, and Mirroring Joint Parameters (HD Solver) on page 3493 Sliding and Rotational Joints Rollouts (HD Solver) on page 3495 Procedures To create a terminator in any hierarchy or HD IK chain: 1 Select an object in any hierarchy or HD IK chain that you want to be the terminator.
  • Page 807 Use the R (Relative) buttons to establish a relative offset with Bind Position and Bind Orientation. Binding an Object to the World Binds an object to the world if you want the object to hold its position and orientation as long as possible during IK operations. Binding an Object to a Follow Object Binds a selected object in your IK chain to any other object that is not a descendant of the selected object.
  • Page 808 NOTE As you drag, a dotted line is drawn from the pivot point of the selected object to the cursor. When the cursor is over a valid follow object, it changes to a push-pin cursor. Release to set the follow object. The name of the follow object will appear in the text area.
  • Page 809 assigned. If a follow object has been assigned, then the rotation of the follow object affects the IK solution. NOTE This check box has no effect on the HD IK Solver Rotation end effectors, which are always bound to their assigned joints. R Establishes a relative position offset or rotation offset between follow object and end effector.
  • Page 810 Bind To Follow Object group Controls to bind and unbind an object in an inverse kinematic chain to a follow object. (Label) Displays the name of the selected follow object. Displays the word "None" if no follow object is set. Bind Binds an object in an inverse kinematic chain to a follow object.
  • Page 811 Procedures To assign a precedence value to an object manually: 1 Select an object in an HD IK Chain. 2 Open the Object Parameters rollout in the Hierarchy panel. 3 Enter a value in the Precedence field. To assign Child->Parent precedence to all objects in a kinematic chain: 1 Select all objects in an HD IK chain.
  • Page 812 Child->Parent Automatically sets joint precedence to decrease in value from child to parent. Causes joints closest to where a force is applied (the end effector) to move more than joints farther away from the force. You almost always assign Child>Parent precedence to an entire kinematic chain.
  • Page 813 3 Click Copy in either the Sliding Joints or Rotational Joints group on the Object Parameters rollout. 4 Select a different object in the inverse kinematic chain. 5 Select an axis to mirror in the Mirror Paste group. 6 Click paste in either the Sliding Joints or Rotational Joints group on the Object Parameters rollout.
  • Page 814 Sliding and Rotational Joints Rollouts (HD Solver) Make a selection. > Hierarchy panel > IK > Sliding and Rotational Joints rollouts In inverse kinematics, joints operate by allowing motion on one or more axes and restricting motion on the remaining axes. You set whether an object can move (slide) on or rotate about a given axis with the Active check box in the joint rollouts.
  • Page 815 the field or release the spinner, the object returns to its original position. You can also view joint limits in the viewport by pressing and holding the mouse button on the From or To label of a limit field. The object will move or rotate to the limit value until you release the mouse button.
  • Page 816 Spring Back Activates Spring Back. Each joint has a rest position. As the joint moves further from the rest position, an increasingly larger force pulls the joint back to its rest position, like a spring. Spring Back (spinner) Sets the rest position for the joint. For rotational joints, this is the orientation of the joint in degrees;...
  • Page 817 all objects in an IK chain (the IK chain must include a follow object). By default, keys are created at every frame. Applied IK requires that one or more parts of your IK structure be bound to animated follow objects. Once bound, you can select any object in your kinematic chain and click the Apply IK button.
  • Page 818 Interface Interactive IK Allows for IK manipulation of hierarchies without applying an IK Solver or using a follow object. Apply IK Calculates the IK solution for each frame of the animation and creates transform keys for every object in the IK chain. A bar graph appears on the prompt line to indicate progress of the calculations.
  • Page 819: Link Info

    The Auto Termination controls temporarily assign terminators a specific number of links up the hierarchical chain from the selected object. This only works with Interactive IK; it does not work with applied IK or with IK solvers. Procedures To use auto termination: 1 In the Auto Termination rollout, turn on Auto Termination.
  • Page 820 Interface The Link Info panel has two rollouts: Locks rollout on page 3501: Locks an object's ability to Move, Rotate, or Scale about any of its local axes. Inherit rollout on page 3502: Limits what transforms a child inherits. Locks Rollout Make a selection.
  • Page 821 Interface X, Y, Z Turn on any axis in the Move, Rotate, or Scale group box to lock the axis. For example, if Rotate > X and Y are turned on, you'll be able to rotate the object only around the Z axis. All locks are relative to an object's local coordinate system.
  • Page 822 Interface X, Y, Z Turn off any axis in the Move, Rotate, or Scale group boxes to prevent inheritance. When you turn on an axis, transform information passes from the parent to the child for that axis. When you turn off an axis, transform information on that axis is ignored by the child.
  • Page 823 With Track View, you can view and edit all the keys that you create. You can also assign animation controllers to interpolate or control all the keys and parameters for the objects in your scene. Track View uses two different modes, Curve Editor and Dope Sheet. Curve Editor mode lets you display the animation as function curves.
  • Page 824 Typical Uses for Track View Track View can perform a variety of scene management and animation control tasks. Use Track View to: Display a list of objects in your scene and their parameters. Change key values. Change key timing. Change controller ranges (see procedure). Change interpolation between keys.
  • Page 825 Assign Controller on page 3593 Copy Controller on page 3590 Paste Controller on page 3591 Make Controller Unique on page 3600 Parameter Curve Out-of-Range Types on page 3601 Add Note Track on page 3604 Remove Note Track on page 3606 Edit Keys on page 3607 Track View Utilities...
  • Page 826 On the Dope Sheet, click the Edit Ranges button. 5 Adjust the range duration by dragging its endpoints, or its position in the animation by dragging between endpoints. For more information, see Dope Sheet on page 3519. To select keys in Track View (either mode), do any of the following: 1 Click the key to select an individual key.
  • Page 827 4 Save the script and restart 3ds Max. This should open the Track View in a new session over the right half of the desktop. Assuming that a dual-monitor setup reports twice the width, this will force the Track View on the second monitor. On a single monitor, it opens it over the right half of the monitor.
  • Page 828 Dope Sheet on page 3519 Dope Sheet Toolbars on page 3578 Understanding Track View Concepts The left side of Track View, called the Controller Window, presents a Hierarchy list of everything in your scene. Every object and environment effect appears in the list, along with its associated animatable parameters.
  • Page 829 (a horizontal orange line at 0) can be moved during scale value operations as a reference point for scaling. Interface The two main sections of the Track View workspace consist of the Key window and the Controller window. Controller Window The Controller window displays object names and controller tracks, and determines which curves and tracks are available for display and editing.
  • Page 830 Controller window Key window The Key window displays the keys as either curves or tracks. The tracks can be displayed as a box graph of keys or range bars. Track View Workspace | 3511...
  • Page 831 Keys displayed as box graph (Dope Sheet - Edit Keys mode) Key Creation Keys are created using a variety of methods. Keys can be created by turning on Auto Key, moving the time slider, and then transforming the object or adjusting its parameters.
  • Page 832 Colored keys with subframe display Keys are also displayed on the track bar below the viewport. Keys displayed on the function curves have tangency types. The tangency buttons found on the Key Tangents toolbar can be used to change the function curve keys.
  • Page 833 Custom Tangency handles Range Bars In the Dope Sheet - Edit Ranges mode (when animation keys have been created), range bars display to indicate the range of time the animation occurs. Tools specific to working with ranges (position ranges and recouple ranges) can be found on the Ranges toolbar (off by default).
  • Page 834 Keys displayed as range bars (Dope Sheet - Edit Ranges mode) Function Curves Function Curves display the values of keys, and the interpolated values between keys, as a curve. These curves express how a parameter varies over time. Only animation tracks can display function curves. You can edit the curves using tangency handles on the keys to change the shape of the curve.
  • Page 835 Multiple curves can be viewed simultaneously by selecting tracks in the Controller window. This is especially useful when using Multiplier or Ease Curves. You can adjust the multiplier or ease curve point tangencies and watch the final result in the controller curve at the same time. Time Ruler The time ruler measures time.
  • Page 836 Scale keys using time slider Scale Values Origin Line When you choose to scale key values (that is, scaling in space rather than time), a horizontal orange line appears at the 0 value on the vertical graph axis. This orange line is a scale values origin indicator, which you can move verticall to use as a reference point for scaling values.
  • Page 837 Curve Editor Menu bar > Graph Editors > Curve Editor Menu bar > Graph Editors > New Track View > Modes > Curve Editor Main toolbar > Curve Editor (Open) Right-click the selected object in the viewport. > Curve Editor The Track View - Curve Editor is a Track View mode that allows you to work with motion expressed as function curves on a graph.
  • Page 838 See also: Track View Menu Bar on page 3547 Curve Editor Toolbars on page 3572 Dope Sheet Menu bar > Graph Editors > Track View - Dope Sheet Menu bar > Graph Editors > New Track View > Modes > Dope Sheet Main toolbar >...
  • Page 839 The 3ds Max Dope Sheet editor is similar to the classic X sheet. It displays keyframes over time, only using a horizontal graph (rather than vertical). This provides tools for adjusting the timing of your animation. Here, you can see all the keys in a spreadsheet-type interface.
  • Page 840 Colored keys Dope Sheet keys are now displayed as rectangles within boxes so you can easily spot sub-frame keys, keys that fall in-between frames. Keys that fill the boxes are on the frame, keys that are small rectangles are sub-frame. Sub-frame keys Dope Sheet, just like the Curve Editor, allows you to use soft selection on keys.
  • Page 841 such as in motion-capture data files. Combine this with scaling keys for a means to manipulate motion data. Soft selection of Dope Sheet keys Edit Ranges Mode When Edit Ranges is turned on, the animation tracks are displayed as range bars;...
  • Page 842 Time Editing Dope Sheet offers you a variety of tools for working directly with time. You can select a period of time, which includes all the keys within that period, and then perform different operations on that time segment. You can copy and paste time to loop animations, or reverse time so the animation plays backward.
  • Page 843 The time ruler at the bottom of the Track View Key window measures time. Markings on the time ruler reflect the settings in the Time Configuration dialog on page 7565. You can drag the time ruler vertically in the Key window to align it with any track.
  • Page 844 Track View Function Default Keyboard Description Shortcut Access Value Field Accesses the value field at the lower left of Track View window Add Keys Add Note Track Add Visibility Track Align Keys Apply Ease Curve Ctrl+E Apply Multiplier Curve Ctrl+M Assign Controller Auto Expand Animated Auto Expand Keyable...
  • Page 845 Track View Function Default Keyboard Description Shortcut Cut Time Delete Controller Delete Ease/Multiplier Curve Delete Note Track Delete Visibility Track Draw Curves Ease Curve Out-of-Range Types Ease/Multiplier Curve En- able Toggle Edit Keys Mode Edit Ranges Mode Edit Time Mode Edit Track Set Exclude Left End Point Toggle...
  • Page 846 Track View Function Default Keyboard Description Shortcut Expand Objects Expand Track Toggle ENTER, T Expand Tracks Filters Freeze Nonselected Curves Function Curves Mode Ignore Animation Range Insert Time Keyable Properties Toggle Lock Selection Spacebar Lock Tangents Toggle Make Controller Unique Modify Subtree Toggle Move Highlight Down Down Arrow...
  • Page 847 Track View Function Default Keyboard Description Shortcut Move Keys Vertical Move Object Down Moves an object down in the hierarchy display Move Object Up Moves an object up in the hierarchy display Multiplier Curve Out-of- Range Types Nudge Keys Left Left Arrow Nudge Keys Right Right Arrow...
  • Page 848 Track View Function Default Keyboard Description Shortcut Reverse Time Scale Keys Scale Time Scale Values Scroll Down Ctrl+Down Arrow Scroll Up Ctrl+Up Arrow Select All Select Children Select Invert Select None Select Time Select Lower Limit Set Tangents to Auto Set Tangents to Custom Set Tangents to Fast Set Tangents to Linear...
  • Page 849 Track View Function Default Keyboard Description Shortcut Set Tangents to Smooth Set Tangents to Step Set Upper Limit Show All Tangents Show Keys on Frozen Curves Show Selected Key Stats Show Tangents Toggle Slide Keys Snap Frames Toggle Limit Track View Utilities Zoom Zoom Horizontal Extents Zoom Horizontal Extents...
  • Page 850: Track View Hierarchy

    Track View Function Default Keyboard Description Shortcut Zoom Value Extents Zoom Values Track View Hierarchy Main toolbar > Curve Editor (Open) > Track View Controller Window Graph Editors menu > Track View - Curve Editor/Track View - Dope Sheet The Track View Controller window displays all objects in your scene in a hierarchical fashion.
  • Page 851 Procedures To select objects in the scene using the Track View Controller window: 1 Do one of the following to select the first object: Click an object's icon to select a single object. Double-click a parent object's icon to select an object and its descendants.
  • Page 852 To select items in the Controller window with the right-click menu: Right-click an item in the Controller window, then do any of the following: Choose Select All to select all items visible in the Hierarchy list. Collapsed items are not selected. Press Ctrl and choose Select All to select only visible transform items.
  • Page 853 To highlight all tracks containing animation: 1 Create a box and a sphere. Click Auto Key, go to frame 10 and move the sphere in X. 3 Go to frame 20 and move the sphere in Y. 4 Go to frame 30 and move the sphere in Z. 5 Deselect the sphere by clicking in a blank area of the viewport.
  • Page 854 Interface Scene Hierarchy World World is the root of the scene hierarchy. This track collects all keys in your scene as a single range for quick global operations. By default, the World track shows the range of the Sound, Environment, Medit Materials, and Scene Materials branches.
  • Page 855 NOTE The default location of the time ruler covers the World animation track. Move the time ruler to see the World track. Sound Allows you to synchronize your animation to a sound file or to a metronome. If you use a sound file, a Wave Form track is displayed in the Hierarchy list, and a waveform is displayed in the Edit window.
  • Page 856 Scene Materials Contains the definitions for all materials in the scene. It is empty until you begin assigning materials to objects. When you select materials in this branch, you are working with instances of materials assigned to objects in your scene. These materials might not be in any of the Material Editor samples.
  • Page 857 NOTE Controllers that have been applied to objects via the Animation menu > Controllers or Constraints submenus automatically have list controllers assigned. Controllers assigned using the Track View Controller menu or right-click Assign Controller choice on the quad menu do not apply list controllers automatically. Maps Indicates map definitions.
  • Page 858 The Hierarchy right-click menu contains quick-access commands for expanding and collapsing the hierarchy. TIP Use Alt+right-click with quad menu tools to expand and collapse selected tracks individually. TIP The Hierarchy right-click menu displays commands related to the highlighted item while the Alt+right-click menu displays commands related to the item currently located under your mouse cursor.
  • Page 859 TIP Inverting an empty selection is the same as selecting all. Select None Deselects all visible object tracks in the Hierarchy list. Does not apply to selected objects in the scene (object icons remain highlighted). Select Children Selects all objects descending from the selection by highlighting their icon in the Hierarchy list.
  • Page 860 NOTE If you are using Auto Expand on page 3557 with the Children option turned on, all objects branches are automatically expanded. Expand Tracks Expands all branches of the selected item. Expand All Expands all branches for all descendants of the selected object. Collapse Objects Collapses only the object branch for all descendants of the selected object.
  • Page 861 Auto Expand Expands the Hierarchy list automatically based on submenu selection choices. Submenu choices are: Selected Objects Only, Transforms, XYZ Components, Limits, Keyable, Animated, Base Objects, Modifiers, Materials, and Children. Manual Navigation Turns off Auto Expand. Allows you to manually decide when you will collapse and what you will expand.
  • Page 862 Copy Makes a copy of the controller held in the Track View clipboard. Paste Pastes the copied controller to another object or track. Copies can be pasted as instances or as unique copies. Make Unique Changes an instanced controller into a unique one. Changes made to instanced controller are reflected in all versions of the controller, unique controllers can be individually edited without affecting anything else.
  • Page 863 Properties (Track View Hierarchy) Main toolbar > Curve Editor (Open) > Select an item in the Track View controller window > Hierarchy Right-click menu > Properties Graph Editors menu > Track View - Curve Editor > Track View toolbar > Controller >...
  • Page 864 To display the Sound Options dialog for adding a sound track: 1 In the Track View Hierarchy, select the Sound item. 2 Right-click and choose Properties. The Sound Options dialog is displayed. You can use this dialog to assign a sound file to the animation, which can be displayed in Track View or the track bar.
  • Page 865 The Sound Options dialog is displayed. 2 Click Choose Sound, select a sound file, and then click OK. A Wave Form branch appears in the Track View Hierarchy. A waveform appears in the Track View Key window. 3 Turn on Real Time in the Time Configuration dialog to hear the sound track when you play your animation.
  • Page 866 Beats per minute Sets the frequency of beats. The beats display in the Metronome tracks as black vertical bars. Default=60. Beats per measure Sets which beat is emphasized with a higher pitch tone. Emphasized beats display in the Metronome track as black pluses. For example, a setting of 4 generates a higher pitched tone every fourth beat.
  • Page 867 Utilities Randomizes or creates out-of-range keys. Also selects keys by time and current value editor. See Utilities Menu on page 3566. Modes Menu Track View > Modes menu Graph Editors menu > Track View - Dope Sheet > Modes menu Main toolbar >...
  • Page 868 Collapse Controller Converts procedural animation tracks to Bezier, Euler, Linear, or TCB keyframe controller tracks. Can also be used to convert any controller to these type of controllers. Allows for key reduction by using a Samples parameter. See Collapse Controller on page 3549 Enable Anim Layer Assigns a Layer controller to each highlighted track in the hierarchy window.
  • Page 869 You can also use this tool to convert any controller track to a simple keyframed track. You can convert rotation tracks to either Euler or TCB, and collapse Position and Scale tracks to either Bezier or Linear controllers. You can collapse an entire track, or collapse a range of frames within a track by setting the Start and End frames.
  • Page 870 The Key window displays the curves for the collapsed animation. The track bar displays the keys, as does the Track View – Dope Sheet. TIP If you want to collapse the controller into a weighted list controller, turn on Add To New Layer. The original controller will be stored on a layer with a weight of 0.0.
  • Page 871 Linear or TCB Controller When this is chosen, Position, Scale, and scalar parameter tracks will be assigned Linear controllers. Rotation tracks will be assigned TCB controllers. NOTE TCB controllers will not display function curves. Add to New Layer When this is turned on, the collapsed controller is added as a new layer in a weighted list controller on page 3194.
  • Page 872 Reduce Keys Reduces the amount of keys on curves, or in edit keys mode in Dope Sheet. See Reduce Keys on page 3640. Move Moves keys either vertically (in value) or horizontally (in time). See Move Keys (Dope Sheet) on page 3613 or Move Keys (Curve Editor) on page 3652.
  • Page 873 To adjust the Soft Selection range and falloff, choose Soft Select Settings on the Keys menu. TIP Keys are soft-selected” across time only (horizontally). See also: Soft Selection Settings on page 3554 Procedures To soft select keys in Track View: 1 In either Dope Sheet >...
  • Page 874: Time Menu

    Range Determines the range of keys affected by the soft selection. Falloff Determines the distribution of the strength of the soft selection over the range of keys. Curves Menu Graphic Editors menu > Track View - Curve Editor > Curves menu Main toolbar >...
  • Page 875: Options Menu

    Select Select a time range. Insert Add blank periods of time into a selected range. Cut Remove a time selection. Copy Copy a time selection. Includes any keys within the time selection Paste Duplicates a copied or cut selection. Reverse Rearranges the order of keys within a time range, flips time from back to start.
  • Page 876 For example, if you're at frame 10 and there are position keys at frame 0, 20, 30, and 50, then editing either a key at frame 0 or 20 with Interactive Update on potentially lets you see the changes in the viewport as you drag the key. However, editing a key at frame 50 is unlikely to cause a position change at the current frame, so you won't see any difference with Interactive Update on or off.
  • Page 877 When you are working on a specific animation task, turn off the unnecessary options to focus the controller window on what you need to see. NOTE The default auto-navigation setting for the Dope Sheet editor auto-expands only to the node track for the currently selected object. This reduces the number of tracks whose keys need to be displayed and also helps enforce the top-down workflow for which the Dope Sheet editor is designed.
  • Page 878: Auto Select

    Auto Select Track View > Options menu > Auto Select Provides options to determine which types of tracks are selected when a Track View window is opened, or node selection changes. Options include Animated, with submenu choices of Position, Rotation and Scale. When this is turned on, animated curves are automatically selected when opening the controller window, using the submenu choices as well.
  • Page 879 NOTE Modify Child Keys on page 3561 works similarly, but for child nodes of the current object. Modify Subtree lets you edit timing for a subset of tracks for an object, while Modify Child Keys lets you edit the timing of an entire linked structure, group, or character.
  • Page 880 Modify Subtree (Edit Range) Affects the tracks of an object and all of its descendent objects. When you edit the range of a parent object, the child objects are also affected. Modify Child Keys Track View - Dope Sheet > Options menu > Modify Child Keys Track View - Dope Sheet >...
  • Page 881: Display Menu

    When Manual Navigation is engaged, buttons appear in the Controller window next to the tracks, that allow you to expand or collapse individual containers such as objects or materials. TIP Use Alt+right-click to quickly access tools for expanding and collapsing selected tracks.
  • Page 882 Hide Non-Selected Curves When this is on, if you deselect the object in the viewport, the function curve will also disappear from view in the Curve Editor. Default is on. See Hide/Show Non-Selected Curves on page 3565. Show Non-Selected Curves Turn this on so you can deselect an object in the viewport and still see its curves.
  • Page 883 You can also use the Track View Controller menu > Keyable command to make tracks keyable in a single operation. You can define keyboard shortcuts for making tracks keyable. By combining the use of keyable icons with key filters, you can use Set Key animation mode to add keyframes to just the tracks you want to work with, and avoid keyframing other tracks.
  • Page 884 The tracks are changed, now marked with a black key in a circle. These tracks will not receive keyframes. Only the tracks marked with red keyable icons will. NOTE Keyable tracks work with both Auto Key and Set Key animation modes. To make multiple tracks keyable: 1 In Track View, with the object selected, hold down the Ctrl key and click each track to create a selection set of tracks for which you want to prevent...
  • Page 885: View Menu

    When Hide Non-Selected Curves is on (the default), the curve will disappear when another track is chosen. When Show Non-Selected Curves is on, the curve will still be visible in the Key window when another track is chosen. If you turn on Show Non-Selected Curves, then you can also use Freeze Non-Selected Curves.
  • Page 886 Utilities menu on page 3619 gives you access to the Track View Utilities dialog. The dialog shows a list of tools you can use when working with keys. This menu is available in both Curve Editor and Dope Sheet modes. Randomize Keys Changes the values of selected keys randomly based on range thresholds.
  • Page 887 Select Keys by Time Allows you to select the keys within a time range. Turn off Clear Previous Selection to create discontinuous selection sets. For details, Select Keys By Time Utility on page 3624. Soft Selection Settings Manager Displays a soft selection dialog at the bottom of the Track View window.
  • Page 888 This utility starts a floating Current Value window that works for either Dope Sheet – Edit keys mode or Curve Editor. It doesn't work for Edit Ranges. Not for use with object parameters, the current value editor is intended for use primarily with Transform controllers.
  • Page 889 Controller window quad menu When the keys window is active you can draw curves, add keys, move keys and scale values. You can also reduce keys. 3570 | Chapter 15 Animation...
  • Page 890 Key window quad menu In the Controller window, if you hold down Alt+right-click you can display an alternate quad menu, which is also integrated with the main quad menu. This menu was available in earlier versions of the program as a default right-click menu in Track View.
  • Page 891 3 From the Quad pull-down menu, choose Track View Quad, or Track View Key Quad. 4 Change the Group to Track View, and then drag items from the table of actions on the left to the window in the lower right. Track View Toolbars Curve Editor Toolbars Main toolbar >...
  • Page 892 Move Keys — Vertical Moves keys constrained vertically on the function curve graph. See Move Keys on page 3613. Slide Keys Use Slide Keys in the Curve Editor to move a group of keys and slide adjacent keys away as you move. See Slide Keys on page 3614.
  • Page 893 and out tangents individually using the flyout. Use the Shift key to break continuity when using handles. Set Tangents to Fast Sets key tangency to fast in, fast out, or both in and out, depending on your choice from the flyout. Set Tangents to Slow Sets key tangency to slow in, slow out, or both in and out, depending on your choice from the flyout.
  • Page 894 Out-of-Range types, you can later create keys using Track View > Utilities > Create Out-of-Range Keys. See Parameter Curve Out-of-Range Types on page 3601 and Create Out of Range Keys Utility on page 3622. Show Keyable Icons Displays an icon that defines a track as keyable or not.
  • Page 895 Show Biped X Curves Toggles the X axis of the current animation or position curves. Also toggles the X button of the Animation Workbench Toolbar on page 4487. Default=on. Show Biped Y Curves Toggles the Y axis of the current animation or position curves.
  • Page 896 TIP You can use commas (,) to include multiple names in your selection. Track Set List Allows you to assign a name to the current track selection (referred to as a track set), and then later reselect those tracks by choosing the respective track set from the list.
  • Page 897 Dope Sheet Toolbars Main toolbar > Curve Editor (Open) > Modes menu > Dope Sheet > Dope Sheet toolbar These are the default toolbars that are visible when you open the Dope Sheet. Keys: Dope Sheet Toolbar Edit Keys Displays a Dope Sheet Editor mode that shows the keys as boxes on a graph.
  • Page 898 Time: Dope Sheet Toolbar Select Time Lets you select a time range. Time selections include any keys that might be included within the time range. Use Insert Time, then Select Time to choose the time range. See Select Time on page 3630. Delete Time Removes selected time from the selected tracks.
  • Page 899 Display: Dope Sheet Toolbar Lock Selection Locks the key selection. Once you have created a selection, turn this on so that you cannot inadvertently select something else. Lock Selection on page 3609. Snap Frames Restricts key movement to frames. Keys that are moved will always snap to frames when this is on.
  • Page 900 Editors menu > Saved Track View submenu. Also available in Curve Editor mode. Track Selection Toolbar Zoom Selected Object Puts the currently selected object at the top of the Hierarchy list. Also available in Curve Editor mode. See Zoom Selected Object on page 3669 for details.
  • Page 901 Navigation Toolbar Navigation Track View provides tools to pan and zoom the Key window. You can zoom to the extents of the time or the values. Also available in Curve Editor mode. See Status Bar/View Controls on page 3668. Key Stats Toolbar Key Stats Track View provides tools for the display and type-in transform of key values.
  • Page 902 Copy Controller Use this to copy a controller and its animated tracks from a selected object. Paste Controller Pasts the copied or cut controller onto a new object or selection of object tracks. Assign Controller Use this to assign a new controller to an object. All objects have a default controller assigned;...
  • Page 903 Edit Ranges Changes Dope Sheet to display range bars rather than tracks of keys. See Edit Ranges on page 3642. Position Ranges Adjusts the relationship between a range bar and its keys. Turning this on will allow you to see the keys while moving the range bar.
  • Page 904 Filters lets you determine which categories of items appear in Track View. When you click the Filters button, Track View's Filters dialog on page 3585 is displayed. You can also right-click the Filters button for quick selection of items. TIP You can set up a default filter configuration. Open a single Track View, set the filters the way you want them to come up, and close the Track View.
  • Page 905 This dialog also controls function curve display and transform display for Position, Rotation, Scale, and X, Y, and Z axes individually. Procedures To choose filter options: On the Track View toolbar, click Filters. 2 Choose any of the filter options from the dialog. Interface Show group The Show group has options to display any of the following in the Hierarchy...
  • Page 906 Objects Space Warp Bindings Transforms (Position, Rotation, Scale, X/Y/Z/W axes in any combination) Modified Objects Base Objects Controller Types (off by default) Note Tracks Visibility Tracks Sound Materials/Maps Material/Parameters Static Values Global Tracks: non-object tracks All Sets all Show check boxes to on. None Sets all Show check boxes to off.
  • Page 907 Hide By Controller Type contains a window displaying a list of all controller types in 3ds Max. Choose one or more controller types to prevent them from appearing in the Hierarchy list. You can use the standard multiple-selection methods of Ctrl+click, Shift+click, or drag. All/None/Invert Selects either all items in the list, none of the items in the list, or inverts the current selection.
  • Page 908 Keyable Tracks Displays only tracks that can receive keys. This property is toggled using the Keyable property available on the Track View Controller menu, or by clicking the keyable icon displayed using Show Keyable Icon. Default=off. Active Layer For each object listed in the hierarchy window with animation layers on page 3164 enabled, displays only the active layer, along with all nested...
  • Page 909: Copy Controller

    Check boxes in this group, when active, specify which transforms are suppressed, for which axis, and which RGB color values are suppressed. This is only used for controllers such as the Bezier Position controller that displays all three axis with one track selected. NOTE The W”...
  • Page 910: Paste Controller

    3 Click the object track for an object in the Track View Hierarchy. 4 From the Controllers menu, choose Paste. The Paste dialog is displayed. 5 Set the options in the Paste dialog, and click OK. The pasted modifier is inserted above the object track you selected. Note that it does not replace any of the tracks in the target object.
  • Page 911 Toolbars > Controllers: Track View to display the icons for Assign, Copy, Paste. Delete Controller and Make Controller Unique. TIP If you need a gizmo to follow a dummy object, use Copy Controller and Paste Controller to copy the animation from the dummy to the gizmo. Procedures Copy Controller on page 3590.
  • Page 912: Assign Controller

    Assign Controller Main toolbar > Curve Editor (Open) > Select the controller track in the controller window. > Controller menu > Assign Main toolbar > Curve Editor (Open) > Select the controller track in the controller window. > Right-click the controller track and choose Assign Controller.
  • Page 913 Slave Controllers can be assigned manually, but is also automatically applied to selected tracks when a Block controller is created in Track View Global Tracks. A Slave controller transfers key data to a Block controller. Slave controllers are described in the Block controller topic. Available Animation Controllers and Constraints Attachment Constraint on page 3288: A Position controller that attaches an...
  • Page 914 LookAt Constraint on page 3312: Forces that object to constantly look at another. Formerly a Transform controller, this is now a rotation controller. Master Point Controller on page 3201: Automatically assigned when animating vertices, control points, or vectors in sub-object mode. This controller simplifies managing potentially hundreds of tracks in Track View.
  • Page 915 Waveform Controller on page 3265: A float controller that provides regular, periodic waveforms. For example, blinking lights and rhythmic object motion. XRef Controller on page 3269: Lets you externally reference any type of Transform controller from another scene file. Procedures To assign an animation controller in Track View: 1 In the Track View Hierarchy, select one or more parameter items of the same type.
  • Page 916 Interface Assign Controller Choose a controller type from the Assign Controllers dialog. Depending on the type of track you have selected, the Choose Controller dialog displays a subset of the different types of controllers. Delete Controller Main toolbar > Curve Editor (Open) > Select a deletable track in the Controller Window.
  • Page 917 Procedures To delete a deletable controller: 1 In the Controller window, select a deletable controller. 2 On the Track View Controllers menu, choose Delete Controller. The controller is deleted. NOTE Most controllers cannot be deleted, only replaced. The Delete Controller menu item is available only if the controller track selected is an applicable type.
  • Page 918 4 The Noise Controller dialog opens. Keep the current settings and close the dialog. 5 Select the sphere, and then right-click it. From the quad menu, choose Dope Sheet. 6 Expand the hierarchy items in the Controller window until you find the sphere's Position track.
  • Page 919: Make Controller Unique

    4 The Noise Controller dialog opens. Keep the current settings and close the dialog. 5 Select the sphere, and then right-click it. From the quad menu, choose Dope Sheet. 6 Expand the hierarchy items in the Controller window until you find the sphere's Position track.
  • Page 920: Parameter Curve Out-Of-Range Types

    All the Controller tools can also be found on the Controllers: Track View toolbar which is hidden by default. Right-click any blank area of the Track View toolbar, then choose Show Toolbars > Controllers: Track View to display the buttons for Assign, Copy, Paste. Delete Controller and Make Controller Unique.
  • Page 921 2 In the Curve Editor select the track you want to loop. Click Parameter Out-of-Range Types to select how your animation behaves outside the time covered by the range bar. 4 Choose the type of out of range type you want in the dialog, then close it and play the animation.
  • Page 922 Interface Select from the options for repeating your animation and options for applying a linear value. Constant Holds the value of the end key of the range for all frames. Use constant when you want no animated effect before the first key of the range or after the last key.
  • Page 923: Add Note Track

    Linear Projects the animation value along a line tangent to the function curve at the end of the range. Use Linear when you want the animation to enter and leave the range at a constant velocity. Relative Repeat Repeats the same animation as within the range but offsets each repetition by the value at the end of the range.
  • Page 924 2 Highlight one or more item labels in the Hierarchy list. 3 From the Tracks menu, choose Note Tracks > Add. A note track is inserted as a branch directly below each highlighted item. To add a note key to a note track: 1 Select the Note track (in Dope Sheet Edit Keys mode).
  • Page 925: Remove Note Track

    Note Number Indicates which note key you are working with. Click the left arrow to move back to the previous note or the right arrow to move forward to the next note. Time Sets the time position for the note key. Change the value to move the note to a new time.
  • Page 926: Editing Keys

    2 From the Tracks menu, choose Note Track > Remove. Editing Keys Topics in this section relate to editing animation keys in Track View. The topics are: Edit Keys on page 3607 Snap Frames on page 3608 Lock Selection on page 3609 Align to Cursor on page 3610 Add Visibility Track...
  • Page 927: Snap Frames

    Procedures To turn on Edit Keys mode, do one of the following: 1 If you are in Curve Editor, choose Modes > Dope Sheet. If you are in Dope Sheet > Ranges, click Edit Keys on the Track View toolbar. To delete keys in Edit Keys mode: 1 Highlight the keys in the Key window.
  • Page 928: Lock Selection

    WARNING Don't turn off Snap Frames unless you have a reason to, such as the need for more precise animation timing. If you do turn off Snap Frames and move keys in Curve Editor you will create sub-frame keys, but they won't be noticeably different in Curve Editor.
  • Page 929: Align To Cursor

    locked you don't have to click it to move the keys, you can click anywhere in the window to more or scale the keys. NOTE To use the Spacebar keyboard shortcut, the Keyboard Shortcut Override Toggle on page 7858 must be on. Procedures To use Lock Selection in Track View: 1 In either Dope Sheet or Curve Editor Key window, highlight one or more...
  • Page 930: Add Visibility Track

    Highlight one or more keys using Move Keys, Slide Keys, or Scale Keys. 4 From the Keys menu choose Align To Cursor. The leftmost selected key in each track is moved to the current time. Multiple selected keys on the same track maintain their relative distance from the leftmost key.
  • Page 931 On and Off Visibility When you first assign a visibility track to an object, a Bezier float controller is automatically assigned; this allows gradual visibility. You can make an object appear or disappear suddenly by changing the interpolation of the visibility keys to Step tangency.
  • Page 932: Move Keys (Dope Sheet)

    A visibility track appears below the selected object(s). Add and edit keys in the visibility track to control the object's visibility. To add visibility keys: 1 Once you have a visibility track assigned to the object, highlight the track. On the toolbar, click Add Keys. 3 On the Track View Key window, click in a visibility track to add a key at that time location.
  • Page 933: Slide Keys

    You can clone highlighted keys by moving them while holding down the Shift key. NOTE You can use any button on the Move Keys flyout to move keys in Dope Sheet mode, but you can move keys horizontally only. Procedures To move a selection of keys: On the Keys: Dope Sheet toolbar, click Move Keys if it isn't already highlighted.
  • Page 934 Slide Keys is a way to split the animation at the highlighted keys and spread the ends apart. Slide Keys is available in Edit Keys mode. You can clone keys and insert them elsewhere in your animation curve while offsetting existing keys by the length of time occupied by the cloned keys by dragging while holding down Shift.
  • Page 935: Scale Keys - Time

    5 Hold Shift while dragging to slide the keys to the right. The keys following your selection move to the right by the length of time occupied by the cloned keys. Scale Keys - Time Track View > Curve Editor or Dope Sheet > Track View toolbar > Scale Keys Track View >...
  • Page 936: Add Keys (Dope Sheet)

    Drag away from or toward the current time line for the following results: Dragging away expands the keys from the current time. Expanding the selection increases time between the selected keys and slows that part of the animation. Dragging toward shrinks the keys toward the current time. Shrinking the selection reduces time between the selected keys and accelerates that part of the animation.
  • Page 937: Properties (Track View Key Window)

    The value of the new key is set by one of the following conditions: Keys added before the first key of a track receive the same value as the former first key. Keys added between two keys receive an interpolated value based on the values of the original keys.
  • Page 938: Track View Utilities

    Access the Properties dialog through the controllers quad of the right-click menu, or on the Controller menu > Properties. The same dialog is also accessible through the Motion panel. You can also display the Key Info dialog by right-clicking a key in the Key window.
  • Page 939 Constant. Thus, it converts the specified out-of-range area to a keyed area that you can edit and adjust. Select one or more tracks, set the parameters of the utility, and click Apply. In Function Curve display mode, you must select the curve as well as the track. Select Keys by Time on page 3624: Selects keys within a specified start and end range of time.
  • Page 940 Procedures To use Randomize Keys: 1 Highlight one or more keys, or a block of time, in one or more tracks. In Dope Sheet > Edit Keys mode, all selected keys are affected. In Edit Ranges mode, the keys in the selected tracks that are within the selected range of time are affected.
  • Page 941 - The amount of random shift in a negative direction. Randomize Value Randomly shifts values, based on the spinner settings. + The amount of random shift in a positive direction. - The amount of random shift in a negative direction. Randomize group box You can apply randomization either with selected keys or with selected time.
  • Page 942 5 Click Apply. Keys are created in the out-of-range areas of the position track. The track bar expands to the boundaries of the newly created keys. Interface Time Range group Sets the time after the range for generating keys. For example, if your range of keyed animation is from frame 31 to 54, the out-of-range animation might be from 0 to 30 and from 55 to 100.
  • Page 943 NOTE Keys are generated only for non-constant out-of-range types. If the area before or after the range is the default, Constant type, no keys are generated in that area. Select Keys By Time Utility Track View > Utilities menu > Track View Utilities > Select Keys by Time The Select Keys By Time utility lets you select keys within a specified start and end range of time.
  • Page 944 Interface Start Time Specifies the start range for selecting keys. End Time Specifies the end range for selecting keys. The Start Time and End Time spinners are activated to match the current time selection. Clear Previous Selection Clears all keys before keys within the specified time range are selected.
  • Page 945 of the animation, change the Start Time and End Time settings. Any changes made to the utility remain active during the current 3ds Max session. TIP The utility works in Dope Sheet mode, but it's much easier to see what it's doing if you use Curve Editor mode.
  • Page 946 two keyed axes but require correction, resulting in X, Y, and Z keys at those frames. OK Performs the filtering using the current settings. Cancel Closes the dialog without performing the filtering. Current Value Editor Track View > Utilities menu > Track View Utilities > Track View Utilities Dialog >...
  • Page 947: Edit Time

    Interface Absolute Applies world space values to the keys. The numbers you enter are the numbers that are applied. Relative Increments the values relative to their existing value. The numbers you enter are added to the existing value. Controller type Displays the name of the controller about the X, Y, and Z fields.
  • Page 948 Edit Time Mode Controls In Edit Time mode you can perform the following tasks for one or more tracks: Select Time on page 3630 Delete Time on page 3631 Cut Time on page 3631, Copy Time on page 3632, Paste Time on page 3633 Reverse Time on page 3635...
  • Page 949: Select Time

    Select Time Track View > Dope Sheet > Time menu > Select Time Track View > Dope Sheet > Time: Dope Sheet toolbar > Select Time button With Select Time you can specify a block of time by dragging in the Key window.
  • Page 950: Delete Time

    After specifying a time range, you can perform other time- and key- related operations. Delete Time Track View > Dope Sheet > Specify a time block. > Time: Dope Sheet toolbar > Delete Time button Use Delete Time to delete a selected block of time and any keys inside the selected block.
  • Page 951: Copy Time

    the clipboard. After specifying a block of time, place it in the clipboard with Cut Time or Copy Time on page 3632. Procedures To cut time from tracks: 1 In Dope Sheet mode, highlight one or more item labels in the Controller window to specify tracks for time editing.
  • Page 952: Paste Time

    Click Copy Time, or choose Time menu > Copy. The block of time is copied to the time clipboard. The original block remains unchanged. Paste Time Track View > Dope Sheet > Specify a time block. > Cut or Copy Time > Specify a different time block.
  • Page 953 keys at frame 50, the first key has a value of 20, but the insertion point has a value of 10. 3ds Max subtracts 10 from the pasted key to maintain the value at the insertion point. 3ds Max then subtracts 10 from the remaining pasted keys, resulting in three pasted keys valued at 10, 20, and 30.
  • Page 954: Reverse Time

    Paste Relative Adds the animation values in the clipboard to the current animation values. Use this method when you want to layer animation onto an existing effect. Reverse Time Track View > Dope Sheet > Specify a time block. > Time menu > Reverse Track View >...
  • Page 955: Scale Time

    Procedures To insert time into tracks 1 In Dope Sheet mode, highlight one or more item labels in the Controller window to specify tracks for time editing. On the Dope Sheet toolbar, click the Insert Time button. 3 Drag in the Key window to insert time into the tracks. TIP To insert time globally, highlight the World track, turn on the Modify Child Keys button, then insert time into the World track.
  • Page 956: Exclude Left End Point

    5 Do one of the following: Drag to the right within the selection to expand time from the left edge of the selection. All keys to the right of the selection slide right as the selection expands. Drag to the left within the selection to reduce time towards the left edge of the selection.
  • Page 957: Exclude Right End Point

    At least one track in the block should start with a keyframe. Also, for a smooth loop, the first and last frame of the selection should be the same. 3 Right-click an empty section of the toolbar area and choose Show Toolbars >...
  • Page 958 NOTE By default, the Extras: Dope Sheet toolbar doesn't appear in the Dope Sheet Editor. You'll find a method for displaying it in the following procedure. Procedures To animate a loop by copying and pasting keys: 1 In Dope Sheet mode, highlight one or more item labels in the Controller window to specify tracks for time editing.
  • Page 959: Reduce Keys

    Reduce Keys Track View > Curve Editor or Dope Sheet > Highlight the keys to reduce in the Key window. > Keys menu > Reduce Keys Track View > Curve Editor > Highlight the keys to reduce in the Key window. >...
  • Page 960 5 From the Keys menu, choose Reduce Keys. The Reduce Keys dialog appears. This dialog has a single Threshold parameter. Raising the Threshold setting will increase the number of keys that are reduced. The higher the threshold, the greater the reduction. 6 Click OK to reduce the keys.
  • Page 961: Edit Ranges

    Edit Ranges Track View > Dope Sheet > Track View toolbar > Edit Ranges Edit Ranges displays all tracks as range bars. This mode is useful for quickly scaling and sliding complete animation tracks. Drag the range bar of an animation track to change all animation in that track.
  • Page 962 Dragging a parent-object range bar with Modify Subtree on affects all tracks subordinate to the object and all tracks of all of its linked descendants. Position Ranges Track View > Dope Sheet > Ranges: Dope Sheet toolbar > Position Ranges Position Ranges mode allows you to position range bars independently from their associated keys and produce special effects.
  • Page 963 On the Track View toolbar, click Position Ranges. 3 In the Track View Key window, drag the entire range bar left or right of the keys, or drag either end of the range bar to make it longer or shorter than the keys.
  • Page 964 Position Ranges mode allows you to decouple the range bar from the animation keys. Recouple Ranges is a quick way to realign the range bars. Editing Tracks: Copying, Pasting, and Handling Instances and References Copying and Pasting Items You can copy and paste geometry, lights, materials, and animation controllers between items in the Track View Hierarchy list of the controller window.
  • Page 965 Whether you copy objects, materials, or controllers, the same basic principles apply. Here are restrictions for using Copy and Paste: You can copy only a single highlighted item. You can paste a copied item only into another item of the same type. An exception to this restriction involves pasting Object and Modified Object containers.
  • Page 966: Copying And Pasting Objects

    Instance Pastes the item in the clipboard as an instance of the copied source item. The target item will be an instance of the source item. Any change you make to either item affects the other. Replace All Instances Controls whether existing instances of the target item are also converted to the paste source or left as they are.
  • Page 967 3 Highlight the object track you wish to copy, then right-click and choose Copy from the quad menu. 4 Navigate to the object track for the target object, highlight it, and then right-click and choose Paste. Set options in the Paste dialog, then click The object is replaced with the new one in the viewport as well as in the Hierarchy list of the controller window.
  • Page 968 Unlike pasting other items, modifiers do not replace the highlighted item when you click Paste. Instead, the pasted modifier is inserted above the selected item. Making Instance and Reference Controllers and Objects Unique You can convert instanced and referenced objects into unique objects by clicking Make Controller Unique on the Track View toolbar or by choosing Make Unique on the Controller menu.
  • Page 969 Making a Selection of Multiple Instances Unique If you select multiple objects that are instances of each other, or share instanced modifiers, you can choose how to make them unique. After you click Make Unique, the Make Unique dialog appears, with the question, “Do you want to make the selected items unique with respect to each other?”...
  • Page 970 Slide Keys on page 3614 Scale Values on page 3655 Add Keys (Curve Editor) on page 3655 Draw Curves on page 3657 Reduce Keys on page 3640 Show All Tangents on page 3563 Show Tangents on page 3658 Lock Tangents on page 3660 Apply Ease Curve / Apply Multiplier Curve on page 3660...
  • Page 971 Procedures To display function curves: 1 Select an animated object in a viewport. 2 Right-click the active viewport and choose Curve Editor. The function curves for the object's animation are displayed in the Key window of the Function Curve Editor. 3 To display additional curves at the same time, from the Track View menu choose Settings >...
  • Page 972 You can also clone keys to replace existing keys by holding down Shift+Alt while dragging. TIP When you select keys to clone and replace others, you can include the key before the first selected key to preserve the tangent of your first copied key. Procedures To move a selection of keys: 1 In the Hierarchy list, highlight one or more tracks.
  • Page 973 Scale Keys Track View > Curve Editor or Dope Sheet > Track View toolbar > Scale Keys Track View > Curve Editor or Dope Sheet > Keys menu > Scale Keys - Time Use Scale Keys to scale keys horizontally, changing the horizontal location and amount of time covered by selected keys.
  • Page 974: Scale Values

    Scale Values Main Track View > Curve Editor > Track View toolbar > Scale Values Track View > Curve Editor > Keys menu> Scale Values Scale Values is used to proportionally increase or decrease the vertical distance between selected keys on the function curves in Curve Editor. It uses the Scale Origin Line on page 3517 as a movable reference point for the scale operation.
  • Page 975 Track View > Curve Editor > Keys menu > Add Keys When Add Keys is active, you can click anywhere on a function curve to add a key at that location on the curve. Add Keys stays active until you click another mode.
  • Page 976: Draw Curves

    Draw Curves Track View > Curve Editor > Keys: Track View toolbar > Draw Curves button Use this tool to draw new curves, or revise existing ones by sketching directly on the function curve in the Curve Editor Key window. The speed with which you draw determines how many keys are added to the curve.
  • Page 977: Show Tangents

    Show Tangents Track View > Curve Editor > Curves: Track View Toolbar > Show Tangents button Show Tangents lets you view adjust the tangents of highlighted vertices in Curve Editor. Custom Tangent You can assign the Custom Tangent type to any controller that displays keys on a curve.
  • Page 978 could adjust the tangents for frame 8 so that their length pulls more of the curve towards its keyframe and away from the keyframes on frame 1 and 16. When rendered, the ball will be more visible on screen near the top of its bounce and blurrier near the points where it touches the ground.
  • Page 979: Lock Tangents

    By holding down the Shift key, you can edit the tangents handles separately. Lock Tangents Track View > Curve Editor > Select keys on curves. > Curves: Track View Toolbar > Lock Tangents Lock Tangents lets you manipulate handles of multiple vertices simultaneously. When Lock Tangents is active, dragging a tangent handle affects the handles of all highlighted keys.
  • Page 980 An ease curve shifts the time of the original track left or right. Adjusting the ease curve changes time. The value of the ease curve at a particular frame is a frame value from the original track. For example, if the ease curve is 0 at frame 0 and 10 at frame 10, the original track plays at its original speed.
  • Page 981: Remove Ease/Multiplier Curve

    Interface Apply - Ease Curve Applies a curve to alter the timing of the selected function curve. Ease curves vary the timing of a superior function curve. A normal function curve charts an animated parameter value over time. An ease curve charts changes to the timing of a function curve over time.
  • Page 982: Ease Curve Out-Of-Range Types

    Procedures To toggle the active state of an ease or multiplier curve: 1 In the Hierarchy list, highlight one or more ease or multiplier curves. 2 From the Curves menu choose On/Off. If you also have the parent track selected (the transform that has the ease applied), you will see the difference in the curve when you turn the ease or multiplier off.
  • Page 983 Interface Constant Holds the values at the ends of the range for all frames. Use Constant when you want no animated effect before or after the range. The time value at start of the range is held for all frames before the range, and the time value at the end of the range is held for all frames after the range.
  • Page 984: Multiplier Curve Out-Of-Range Types

    Identity for an ease curve produces an effect similar to constant for other types of curves. Identity is not available for multiplier curves; it is the default Out-of-Range type for ease curves. Multiplier Curve Out-of-Range Types Track View > Curve Editor > Curves menu > Multiplier Curve Out-of Range Types Multiplier Curve Out-of-Range Types displays a dialog that lets you assign out-of-range types for the current...
  • Page 985 Interface Constant Holds the values at the ends of the range for all frames. Use Constant when you want no animated effect before or after the range. The time value at start of the range is held for all frames before the range, and the time value at the end of the range is held for all frames after the range.
  • Page 986: Freeze Non-Selected Curves

    Freeze Non-Selected Curves Track View > Curve Editor > Display menu > Show Non-Selected Curves > Freeze Non-Selected Curves Freeze Non-Selected Curves makes all non-highlighted curves uneditable. Default=On. Freeze Non-Selected Curves is a selection modifier and has the following properties: Non-highlighted curves display as dashed lines.
  • Page 987: Status Bar/View Controls

    7 Position the mouse cursor over a vertex on the Y Position or Z Position curve. The cursor doesn't change to a crosshair, indicating that you can't modify the vertex. 8 In the Hierarchy list, click the Y Position track icon and then Z Position track icon.
  • Page 988 Key Stats:Track View Toolbar Key Time Display on page 3679 Value Display on page 3680 Show Selected Key Statistics on page 3680 Navigation:Track View Toolbar Pan (Track View) on page 3681 Zoom Horizontal Extents on page 3682 Zoom Value Extents on page 3683 Zoom Track View Key Window on page 3684...
  • Page 989 Open Track View, and then click Zoom Selected Object. The object is placed at the top of the Hierarchy list. This option is handy to quickly find an object in a hierarchy, such as a character's finger, and place it at the top of the Hierarchy list. Select By Name (Track View) Track View >...
  • Page 990 Notes The name selection is not case-sensitive, except for text within parentheses. Only those tracks that are open and displayed can be selected. You can use wildcard characters. For example: Seat selects all objects with Seat in the beginning of the name. (Cone01)Position selects only the Position track under Cone01.
  • Page 991 3 In the Track View Hierarchy list, expand box01's hierarchy to see all Transform children tracks. 4 In the Select By Name field, type x pos,y rot,scale. The box's X Position, Y Rotation, and Scale tracks are highlighted. The commas placed between each name act as Boolean addition (“OR”) operators, allowing multiple names in one selection.
  • Page 992 Only the track set members specified in the Key Filters list are keyable. Procedures To assign a name to a track set: 1 Highlight one or more tracks in the Track View Controller window. 2 Click in the Track Set List field on the Track View toolbar on page 3572.
  • Page 993 The respective tracks are highlighted in the Track View Controller window. To edit a track selection: You can change a track selection using track sets and the Ctrl and Alt keys. 1 Highlight one or more tracks in the Track View Controller window. 2 Open the Track Set List by clicking the arrow.
  • Page 994 Procedures To create a track set from selected tracks: 1 In the Track View Controller window, highlight tracks to group as a track set. Click Edit Track Set. In the Track Sets Editor dialog, click Create A New Track Set. 4 Expand the new track set.
  • Page 995 In the Track Sets Editor dialog, highlight your track set or any of its members, and then click Add The Track View Selection To The Current Track Set. The highlighted tracks are now members of your track set. Click Remove The Track View Selection From The Current Track Set.
  • Page 996 The respective track in the Controller window is highlighted. Interface The Track Sets Editor dialog window displays all current track sets. To expand or collapse the track list for a set, click the plus (+) or minus (-), button next to the track set name.
  • Page 997 A track set created from a non-leaf parent track contains all children leaf tracks. NOTE If no tracks are highlighted, an empty set is created. Delete Track Sets Or Tracks Removes a highlighted track set or track set member. NOTE Deleting a track set member does not delete it in the Track View. Add The Track View Selection To The Current Track Set Combines a highlighted track from the Controller window to the current track set.
  • Page 998: Key Time Display

    Key Time Display Track View > Curve Editor or Dope Sheet > Key Stats: Track View toolbar > Key Time Display (field on left) The Key Time editable field (the field on the left) displays the frame number (position in time) of the selected key. You can enter a new frame number or enter an expression to move the key to a frame.
  • Page 999: Value Display

    Value Display Track View > Curve Editor or Dope Sheet > Key Stats: Track View toolbar > Value Display (field on right) Value Display (the field on the right) displays the value, or position in space, of a highlighted key. This is an editable field. You can enter a new number or expression to change the value of selected keys.
  • Page 1000: Pan (Track View)

    Show Selected Key Statistics displays the statistics represented by the currently selected keys in the Key window of the Curve Editor. The frame number and value are displayed to the right of the key in the Key window. For example, 68, 40.620 (frame=68, value=40.620). Procedures To show selected key statistics: 1 On the Key window of the Curve Editor, select any key or set of keys.

This manual is also suitable for:

3ds max

Table of Contents