By default, Find Target sends particles to a specified target or targets. Upon reaching a target, the particles become eligible
for redirection to another event. You can specify that the particles should use a particular speed or time frame 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.
When you add a Find Target test to the particle system in Particle View, a spherical Find Target icon, or helper, appears in the scene at the world origin (0,0,0). You can use this icon as a target,
or you can use one or more mesh objects in the scene as targets. To display the Find Target parameters on the Modify panel,
select the icon. If you delete the icon, Particle Flow also deletes the test.
NoteIf you add Find Target from the Create panel, Particle Flow creates a separate event for the test in the particle diagram.
TipIn a particle loop, all particles end up at their respective starting positions, enabling seamless repetition of the resulting
animation. You can make particle loops with Particle Flow using a Script operator and a Find Target operator. At the start
of the loop, the Script operator should read all particle positions and write them into the MXS Vector channel. Then, at the
end of the loop, set the Find Target operator to Control by Time, set Timing to Absolute Time, set Time to the end of the
loop, and in the Target group, set Point to By Script Vector. Particle Flow will direct particles to the previously cached
position at the specified frame.
Script Operator Example
Following is an example of the script operator that can be used when the Target group Object By Script Integer option is active. It assigns the target objects according to particle speed. If the speed is below 1 unit
per frame, then the particle is assigned to the first target (index=0). If the speed is higher than 10 units per frame then
the particle is assigned to the third target (index=2). All other particles are assigned to the second target (index=1).
on ChannelsUsed pCont do
(
pCont.useTime = true
pCont.useSpeed = true
pCont.useInteger = true
)
on Init pCont do
(
)
on Proceed pCont do
(
count = pCont.NumParticles()
slowSpeed = 1/160.0
fastSpeed = 10/160.0
for i in 1 to count do
(
pCont.particleIndex = i
if length(pCont.particleSpeed) < slowSpeed then pCont.particleInteger = 0
else (
if (length(pCont.particleSpeed) > fastSpeed) then pCont.particleInteger = 2
else pCont.particleInteger = 1
)
)
)
on Release pCont do
(
)
Interface
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. Alternatively, by choosing No Control, you
can test particles' distance from a target.
- Specify speed and acceleration settings for the particles to follow while traveling to the target. Use the Control By Speed
group to set the parameters.
- Specify time-based settings for the particles to follow while traveling to the target. Use the Control By Time group to set
the parameters.
- With this option, Find Target functions only as a proximity test. When a particle comes within the specified distance of the
target, the particles become eligible for redirection to the next event.
NoteWhen you choose No Control, the Find Target test does not affect particle speed or direction.
Test True If Distance To group
These settings let you choose which distance the Find Target test measures and specify the measured distance. You can choose
Target Pivot or Target Point, and specify a distance with the Is Less Than setting.
- Target Pivot
-
Measures the distance between the particle and the target pivot.
If the particles are directed to the outside of the target and the Is Less Than value is small, this condition might never
be satisfied.
- Target Point
-
Measures the distance between the particle and the target point.
- Is Less Than
-
When particles are closer than this distance from target pivot or point, they test True and become eligible for redirection
to the next event. Measured in scene units.
NoteIf you set Is Less Than to 0, the particles might never test True. This might be desirable for an animation of, for example,
bees buzzing around a flower but not landing on it. In this case, you might want to use a low value for Accel Limit so the
bees don’t circle too close to the flower.
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, Particle Flow gives you explicit control over particle speed and speed variation. When off, Particle Flow calculates
particle speed automatically using the Accel Limit value. Default=on.
- Speed
-
Particle speed in scene units per second. Default=300.0.
- Variation
-
The amount by which the actual Speed value can vary randomly. Default=0.0.
To obtain the actual speed for each particle, the system multiplies the Variation value by a random number between –1.0 and
1.0, and then applies the result as a percentage of the Speed setting. For example, if Speed=200 and Variation=10, then the
actual speed for each particle would vary randomly between 190 and 210.
- Accel Limit
-
Sets the acceleration limit. This value impacts the inertia and speed of the particles. Default=1000.0.
The default acceleration limit value is based on the default Speed value of 300.0. If you change the Speed value, it is recommended
that you also change the Accel Limit value proportionately.
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.
- Ease In %
-
Controls the rate by which particles slow down when it approaches the target point.
Particle Flow calculates the final speed with this formula: (100% – Ease In) * Speed. Therefore, if the Ease In value is 100%,
a particle should approach the target with a speed of 0, and if Ease In is 0%, the particle doesn't slow down at all when
approaching the target. At intermediate values, the speed is calculated according to the distance to the target point, as
linear interpolation between the initial (cruise) speed, and the final speed. When a particle enters the event, the distance
to the target point is calculated and later used for the interpolation. Default=0.0.
- Sync By
-
Choose the time frame to use when animating Speed, Variation, and Accel Limit:
- Any keys set for parameters are applied at the actual frames for which they're set.
- Any keys set for parameters are applied at the corresponding frames of each particle's existence.
- Any keys set for parameters are applied to each particle starting when it first enters the event.
Control By Time group
Lets you specify the amount of time particles should take to reach the target.
This group is unavailable when using Control By Speed.
- Timing
-
Determines how Particle Flow applies the specified timing, defined by the Time and Variation values. The possible options
are:
- Time refers to the overall time of the system. Each particle will reach its target at the frame number specified by Time.
- Time refers to the time elapsed since the birth of the particle. Each particle will reach its target when its age reaches
the value specified by Time.
- Time refers to the time elapsed since the particle entered the current event. Each particle will reach its target when it
has been in the current for the number of frames specified by Time.
- Time
-
The number of frames particles should take to reach the target. Default=60.
- 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.
- Subframe Sampling
-
Turning this on helps avoid particle "puffing" by timing particles at a much higher subframe resolution (that is, throughout
each frame), rather than using the relatively coarse frame resolution. Default=on.
"Puffing" is the effect of clustering particles, rather than producing a continuous stream. This effect is especially noticeable
when the emitter is animated.
- Use Docking Speed
-
Lets you specify particles' speed when they reach the target.
A particle might be required to reach the target from a specific direction at a specific speed. When Use Docking Speed is
off, Particle Flow calculates a path for particles to reach the target in the shortest distance with the least acceleration
along the path. When Use Docking Speed is on, Particle Flow calculates particles' final speed when they reach the target using
the Speed and Variation parameters. Therefore if you want a “smooth landing,” set Speed to 0.0. Default=off.
- Speed
-
The speed of particles when they reach the target in scene units per second. Default=100.0.
- Variation
-
The amount by which the actual Speed value can vary randomly. Default=0.0.
Target group
By default, Find Target uses its own target icon, but you can use these controls to designate other scene objects as targets
instead.
- Icon
-
Use the Find Target icon as the target.
Each Find Target test has its own target icon. Even if you don't use it as a target, it still influences particle behavior
if you set the docking type to Parallel, Spherical, or Cylindrical.
- Mesh Objects
-
Use one or more scene mesh objects as targets. Choose this to make the list and list-management buttons available.
If you designate more than one target, the target used by each particle is determined by the choice in the Object drop-down list in this group.
- [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.
- By List
-
Click this button, and then use the Select Target Objects dialog to add one or more mesh objects to the list. The objects
must already exist in the scene, and the dialog shows only eligible objects.
- Remove
-
To remove a target object from the list, first highlight it and then click this button. Any removed objects remain in the
scene.
- Sync By
-
Choose the time frame to use when sending particles toward animated objects when using Animated Shape or Follow Target Animation:
- Animation derived from the target is applied to particles immediately.
- Animation derived from the target is applied to particles at the corresponding frames of each particle's existence.
- Animation derived from the target is applied to particles is applied to each particle starting when it first enters the event.
- Animated Shape
-
Turn on to allow particles to target the surface of an object whose form is animated by scaling, by morphing, or with modifiers.
This requires more computation, because the destination must be updated at every integration step.
- Follow Target Animation
-
Turn on to allow particles to follow a moving target; that is, a target whose location is animated. This requires more computation,
because the destination must be updated at every integration step.
- Point
-
Lets you specify where on its target a particle should land.
- Each particle targets a random point on the target.
- Each particle targets the nearest point of the target’s surface.
- The target point or points are defined using a Script operator that defines values in the particleVector channel. The Script
operator can be anywhere upstream of the Find Target test.
NoteWhen 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.
- Object
-
With multiple mesh targets, lets you specify how Particle Flow should choose among them. Available only when targeting more
than one object.
- For each particle, Particle Flow chooses a target object at random.
- For each particle, Particle Flow chooses as its target the object whose pivot is nearest to the particle.
- For each particle, Particle Flow chooses as its target the object whose surface is nearest to the particle.
- For each particle, Particle Flow chooses as its target the object that requires the least change in its current direction
(or resteering) to reach.
- For each particle, the choice of a targeted object is defined by a script operator that sets an index. This index corresponds
to a target-object entry position in the target list. See Script Operator Example.
- Lock On Target Object
-
When on, Particle Flow calculates each particle's target object once: when the particle enters the event. Thereafter, the
particle is “locked on” to its target object. When off, Particle Flow can continually recalculate the target object for each
particle. Available only when multiple target objects are designated.
For example, if you set particles to target the closest surface, due to the target animation and particle movement, the definition
of the closest surface is constantly changing. Thus the particle may change the target object due to the circumstances.
NoteEach time Find Target sets a target object, it “locks on” to a specific point on that object. This point can change only if
the target object changes. Thus, with a single target object, the target point always remains constant relative to the target object. That is, if the target object or its surface is animated, and Follow Target Animation or Animated Shape is on, the absolute
coordinates of the target point may change.
NoteWhen 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.
- No docking constraints. Particles reach their targets in the most efficient way, based on their assigned parameters and their
current attributes.
- The final direction is the same as the Find Target icon arrow.
NoteWhen using this option, arrows appear on the Find Target icon to indicate the direction particles will use for docking. You
can change the docking direction by reorienting the icon. This applies even when using mesh objects as targets.
- The final direction points toward the center of the operator icon.
NoteWhen using this option, arrows appear on the Find Target icon to indicate the directions particles will use for docking. You
can change the docking directions by reorienting the icon. This applies even when using mesh objects as targets.
- The final direction points toward the icon arrow as a line, thus forming a cylindrical field with the arrow as the cylinder's
main axis.
NoteWhen using this option, arrows appear on the Find Target icon to indicate the directions particles will use for docking. You
can change the docking directions by reorienting the icon. This applies even when using mesh objects as targets.
- Each particle reaches its target point from a direction perpendicular to the surface at that point.
NoteWhen 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. This includes the docking direction, and, when using
Control By Time, the docking speed.
_____
- Icon Size
-
Set the size of the Find Target icon. This affects particle behavior when using the icon as the target.
- Color Coordinated
-
When on, the Find Target icon uses the color of the event containing the test as defined by its local Display operator, if
one exists. This applies even if the Display operator is turned off. When off, the Find Target icon uses the default Test
Gizmos color as defined in Customize User Interface Colors Particle Flow. Default=on.
Turn on Color Coordinated to make it easier to spot the Find Target icon, because the particles in the event use the same
color as the icon.
Uniqueness group
The Uniqueness setting enables randomization of the Random options and the Variation options.
- Seed
-
Specifies a randomization value.
- New
-
Calculates a new seed using a randomization formula.