Command entry:Particle View 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. This
is in contrast to the default Speed operator, which uses the Particle Flow icon to control particle speed and direction. Speed By Surface also provides options for controlling
speed by materials in the scene, and continuous speed control.
Typically, you use Speed By Surface to assign speed and direction characteristics based on the objects used as emitters with
the Position Object operator. That is, you assign the same objects as emitters with Position Object and as Surface Geometry objects with Speed By Surface.
TipFor greater control over particle motion on the surface, apply a
Speed operator before the Speed By Surface operator in the same event. Use the Speed operator to specify particle direction on the surface,
and the Speed By Surface operator to adjust the vertical component of the speed vector to follow the contour of the surface.
Procedures
Example: To use Speed By Surface:
The Speed By Surface operator offers a wealth of possibilities for usage. This procedure will lead you through several examples,
but you're encouraged to explore the operator further on your own to learn more about it.
- Start or reset 3ds Max, and add a Particle Flow system. Position the source icon at the world origin (X/Y/Z=0), and set the icon's Length and Width values both to 30.
- 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.
- Play the animation, and then stop playback.
The particles move downward, using the default starting setup.
- Open Particle View and add a Speed By Surface operator to the end of Event 01. Click the operator in the event to display
its parameters panel in Particle View.
- In the Surface Geometry group, click Add, and then select the cylinder.
- Play the animation again, and then stop.
The particles still move downward.
- Go to frame 15, so you can see the particles, and then slowly move the cylinder downward along the Z axis, while watching the particles in the Perspective and Front viewports. Stop when
the emitter is above the cylinder.
As the bottom of the cylinder passes below the emitter, more and more particles start moving on the XY plane rather than perpendicular
to it. That's because they eventually become closer to one of the vertical sides of the cylinder, rather than the bottom,
at which point they move perpendicular to the vertical sides. When the top becomes the closest side, the particles again move
vertically, but upward instead of downward.
- Move the cylinder back up until the emitter is at its vertical center. Then, on the Modify panel, click the lower part of the Sides spinner to decrease the number of sides, one at a time.
Each time you click, the particle streams traveling outward change, to move perpendicular to the vertical sides as they change
position. You might also try rotating the cylinder, and note that the particle streams also rotate, like the spokes of a wheel.
- In the Speed By Surface parameters, change Direction to Out Of Surface, and then move the cylinder up and down.
The overall behavior doesn't change much. Out Of Surface becomes more useful when you use the Control Speed Continuously option,
as you'll observe shortly.
- In the Speed By Surface parameters, change Direction to Parallel To Surface, and then move the cylinder up and down.
Now the particle behavior is effectively opposite of that with the other two options. When the particles are closer to the
top or bottom, they 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.
- In the Speed By Surface parameters, choose Control Speed Continuously, and then drag the time slider.
The particles spread out from the emitter, and then start orbiting the cylinder in a roughly cylindrical overall formation.
Particle Flow continually checks to see which side of the cylinder a particle is closest to, and, if necessary, changes its
direction to make it travel parallel to that side. You can affect the size of the particles' orbits by changing their speed.
Lastly, you'll see how to contain particle motion within the cylinder.
- Make the cylinder considerably larger: Radius=60 and Height=90. Activate the Perspective viewport, if necessary, and then press F3 to set it to Wireframe view.
- In Particle View, click the Speed 01 operator and set Direction to Random 3D.
- Click the Speed By Surface operator. Set Speed to 300 if necessary. In the Direction group, choose Out Of Surface, and then
drag the time slider.
After exiting the emitter, the particles always move away from the nearest surface, with the result that they end up milling
about in the center of the cylinder.
- Gradually increase the Speed value, up to 1,000 or so.
The particles start to spread out vertically, and eventually start moving so fast that they escape the cylinder. You can make
them stay inside the cylinder by letting them accelerate more quickly, so they can turn before moving past the nearest surface.
- Increase the Accel Limit setting until the particles no longer exit the cylinder.
- Try giving the particles more room to move about in by increasing the size of the emitter. Also try changing other settings
throughout the particle system to see their effects. The possibilities don't end here, and the more you experiment, the more
you'll learn about how this powerful operator works.
Interface
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.
- Control Speed Continuously
-
- Speed
-
The particle speed in system units per second. Default=300.
With the Control Speed Continuously option, you can turn off Speed. This causes Particle Flow to use the current particle
speed.
Using a negative Speed value causes particles to move in the opposite direction of that effected by a positive speed.
- Variation
-
The amount by which particle speed can vary, in system units per second. Default=0.0.
To obtain each particle's speed, the system multiplies the Variation value by a random number between -1.0 and 1.0, and then
adds the result to the Speed value. For example, if Speed=300 and Variation=100, then each particle's speed would be between
200 and 400.
Surface Geometry group
Use these controls to assign objects to affect particle speed and direction. The list in this group shows the objects, or
reference geometry, that the operator uses to control speed and direction.
If you don't assign any objects, the current particle speed and direction are not affected.
You can assign multiple Surface Geometry objects, but if they're not all emitters as well, the results can be difficult to
interpret. In general, assign the same objects as Surface Geometry that your system uses as emitters.
TipFor optimal performance, when moving particles with respect to high-polygon objects, create a low-poly proxy version to use
as surface geometry, link it as a child of the high-poly object if necessary, and then hide the low-poly proxy.
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.
- 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 : Highlight the objects to use to control speed and direction, and then click the Select button.
- Remove
-
Removes an object from the list. Highlight the object in the list, and then click Remove.
- Animated Shape
-
Turn on to allow particles to follow the surface of an object whose form is animated by morphing or with modifiers.
- Subframe Sampling
-
When on, the operator acquires animation of the Surface Geometry shape on a tick basis (every 1/4,800th of a second) rather
than a frame basis. This provides greater precision in allowing the particle positions to follow animation of the Surface
Geometry object's form.
- Speed by Material
-
Varies particles' existing speed and direction based on properties of the material applied to each Surface Geometry object.
For example, if an object is assigned a black-and-white checkered diffuse map and you choose the Grayscale Multiplier option,
particles near the white-checked areas move faster than those from the black-checked areas.
NoteFor material-influenced speed to appear properly in the viewports, two conditions are required: at least one viewport must
be set to a shaded display mode, and the material or map must have Show Map In Viewport turned on in the Material Editor.
The options are as follows:
- Lets material luminance control speed, with darker areas producing slower particles and lighter areas producing faster ones.
Particle Flow multiplies the luminance of the material near each particle, converted to a percentage, by the particle's current
speed. A luminance of 0 converts to 0%, of 128 converts to 50%, and of 255 converts to 100%.
For example, if the speed of a particle traveling at 50 units per second is influenced by a pixel whose luminance is 90, the
resulting speed is 90/255*50, or about 17.6 units per second.
- Works like Grayscale Multiplier, but the multiplier can be negative as well, causing reversal of motion. Signed Grayscale
uses a material luminance value of 128 as the midpoint, and assigns it a multiplier of 0%. Luminance values from 0 to 127
result in multipliers of -100% to about -1%, respectively, and values of 129 to 255 result in multipliers of about 1% to 100%,
respectively.
- 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. So, for example, if the material pixel is pure red, that is, its RGB value
is (255,0,0), then the particle will retain its current speed on the world X axis, but its speed on the Y and Z axes will
be reduced to 0. Similarly, a medium-yellow pixel (128,128,0) will cause speed on the world X and Y axes to be reduced by
half, and will cut speed on the Z axis to 0.
- Works like RGB as World XYZ Mult., but uses the object's local coordinates rather than world coordinates.
- Use Sub-Material
-
When on, uses a sub-material from the Multi/Sub-Object material assigned to the Surface Geometry object to define speed.
This option allows usage of “invisible” materials for controlling particle speed. If the emitter uses a Multi/Sub-Object material
but its geometry doesn't use the ID that corresponds one of the sub-materials, the sub-material doesn't appear. However, the
operator can use it to calculate the density of particle placement. Particle Flow 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 speed control.
Direction group
The Direction drop-down list lets you specify which way the particles go after they're born. Default=Surface Normals. In most
cases, the actual direction also depends on the icon orientation. The primary exception is when Position Location is set to Pivot.
Particle movement is always in a straight line unless influenced by other factors.
- Surface Normals
-
Each particle moves along a line perpendicular to the nearest face. The direction the surface faces doesn't matter.
- Out Of Surface
-
Particles move away from the closest face.
TipYou 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. Control the particles' travel range with the Speed
setting, but keep in mind that particles moving very fast might “escape” their container. If this happens, increase the Accel
Limit setting; this lets the particles turn more quickly.
- Parallel To Surface
-
Each particle travels parallel to the nearest face.
To make particles orbit an object, use this with Control Speed Continuously, and set appropriate Continuous Speed Control
values (see the following section).
_____
- Divergence
-
When on, spreads out the particle stream. Use the numeric setting to define the extent of the divergence. Range=0 to 180.
Default=0. The value can be animated.
This option is unavailable if Control Speed Continuously is chosen.
TipFor 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.
Continuous Speed Control group
When you choose the Control Speed Continuously option, these controls become available. Basically, these controls let the
particles move about within the region of the Surface Geometry object rather than in a straight line away from the emitter.
- Accel Limit
-
Sets the maximum acceleration. The higher this value, the more quickly particles can turn and change speed.
TipUse 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.
- Unlimited Range
-
When on, the surface controls speed and direction of particles at any distance. When off, particles must be within a specified
range. Default=on.
- Range
-
The maximum distance, in system units, between the particles and controlling surface. The Surface Geometry will not control
particles beyond this distance.
- 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. For an explanation, see Animation Offset Keying group.
- 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.
- Event Duration
-
Any keys set for parameters are applied to each particle starting when it first enters the event.
Uniqueness group
The Uniqueness setting enables randomization of speed variation, and randomization of direction with the Random 3D and Random
Horizontal options.
- Seed
-
Specifies a randomization value.
- New
-
Calculates a new seed using a randomization formula.