User Tools

Site Tools


reference_guide:thinkingparticles_nodes:operator_nodes:dynamics:followoperator

Follow Node

image110.gif

Particles that follow a selected object is a common effect within many particle animations. As such, thinkingParticles offers some advanced functions within the Follow Node Operator to make particles follow an object. Make sure that you try out the various options before you think that you can't achieve a certain effect. Many features may surprise you!

IMPORTANT: Please note that the following corrections have been applied to the text to improve formatting and readability.

Operator Inputs

ON - (Bool) This input data stream determines whether the operator is considered 'on' or 'off'. You can connect other operators to this input channel, such as a Bool Helper, to activate/deactivate the whole operator.

Time - (Time) This input data stream is used to define the local time for the operator when the user wants to override the default system time.

Particle - (Particle) This input data stream reads in the currently selected particle group that is to be used to follow. The data stream MUST be connected and will be highlighted yellow if it is not.

Node - (Node) This input data stream is used to give the selected Follow Node object the particles are to try and follow. The data stream MUST be connected and will be highlighted yellow if it is not.

Type - (Integer) This input data stream takes an integer value that represents the Type of Follow algorithm the particles will use. Valid input values are 0 through 1, where: 0 = Type 1 1 = Type 2

Speed1 - (Scalar) This input data stream is used to override the Type 1 Speed spinner value.

Speed1 PositionDependence - (Scalar) This input data stream is used to override the Type 1 Position Dep. spinner value.

Speed1 PLifeGradient - (Alpha Gradient) This input data stream is used to override the Type 1 PLife Dep. spinner value.

Catch1 - (Scalar) This input data stream is used to override the Type 1 Catch spinner value.

Catch1 PositionDependence - (Scalar) This input data stream is used to override the Type 1 Catch / Position Dep. spinner value.

Speed2 - (Scalar) This input data stream is used to override the Type 2 Speed spinner value.

Speed2 Variation - (Scalar) This input data stream is used to override the Type 2 Variation [%] spinner value.

Speed2 PositionDependence - (Scalar) This input data stream is used to override the Type 2 Position Dep. spinner value.

Catch2 - (Scalar) This input data stream is used to override the Type 2 Catch spinner value.

Catch2 Variation - (Scalar) This input data stream is used to override the Type 2 Catch / Variation [%] spinner value.

Catch2 PositionDependence - (Scalar) This input data stream is used to override the Type 2 Catch / Position Dep. spinner value.

Start Time - (Frame) This input data stream is used to override the Type 2 Start Time spinner value.

Start Variation - (Frame) This input data stream is used to override the Type 2 Random Start spinner value.

Position Scale - (Scalar) This input data stream is used to override the Type 2 Position Scale spinner value.

Position - (Integer) This input data stream takes an integer value that represents the Type of Position calculation the particles will use. Valid input values are 0 through 1, where:

  • 0 = Object Position
  • 1 = Random Position

Follow At Time - (Bool) This input data stream is used to override the Follow At Time check box state.

Node Rotation - (Bool) This input data stream is used to override the Node Rotation check box state.

Node Alignment - (Bool) This input data stream is used to override the Node Alignment check box state.

Follow Type - (Integer) This input data stream takes an integer value that represents the Type of particle follow path the particles will use. Valid input values are 0 through 2, where:

  • 0 = Relative
  • 1 = Absolute
  • 2 = Position

Operator Outputs

No Operator Outputs.

Rollout Menu

thinkingParticles offers two types of follow features.

Type 1: This method is the easiest of the Follow Node options and has only a handful of parameters for you to set. But don't THINK that this option isn't worth looking at. Be prepared to learn something really advanced.

Type 2: In contrast to Type 1, this Follow Node option offers many more options and parameters for you to set. By default, Type 2 makes the particles follow relative to the follow object position. In other words, all particles keep their relative distances to the follow object. This behavior may be changed at a later stage as well.

image111.gif

Type 1:

Speed - This spinner value acts as a multiplier for the particle speed. A value of 1.0 makes the particles as fast as the selected Follow Node object (any 3ds Max object), while a value of 0.5 makes the particles half as fast as the selected Follow Node moves. Values greater than 1.0 will accelerate the particles beyond the speed of the selected Follow Node which means that they eventually pass the follow object and reach the end of the animation before the follow object reaches it.

Position Dep. - By default, all particles following the selected node get the exact same speed based on the Speed value described above. In the real world, however, having all particles moving with the exact same speed looks unnatural. Imagine a flock of birds, for example. If they were to move in absolute synchrony or change direction at the exact same time, the illusion of reality would be destroyed.

Thus, the Position Dependency spinner lets you control how the follow speed is assigned to the various particles. A value of 0.0 turns off the position dependency for the particle speed and all of the particles inherit the exact same speed. Higher values take into account the proximity of the particle to the selected Follow Node in order to determine how much of the particle speed to apply. In general, particles farther away from the selected Follow Node receive less of the follow speed and particles that are closer to the Follow Node receive more of the follow speed.

PLife Dep. - In addition to Positional dependency, thinkingParticles offers speed dependency based on the lifetime of the particles. This lifetime dependency is handled through a grayscale gradient, as shown below.

The leftmost edge of the gradient represents the point at which the particle is born, while the rightmost edge represents the point at which a particle dies. White values indicated within the gradient represent full speed, while black indicates no speed at all.

Now, why would someone want this type of control? It lets you easily simulate a loss of particles over time. As long as the particles have a certain age, they will follow perfectly, but as they get older, they stop following (or even move away from) the selected Follow Node object. A crop duster spraying pesticide over a field of corn is a good example of this kind of effect. The pesticide leaving the plane will briefly have the same speed as the plane, but because of air friction, wind, or whatever, the spray comes to a stop on top of the field and just rains down in the right place.

Catch - One of the ideas behind a follow function is to make particles catch an object that moves around. The Catch spinner controls the amount of tension the particles should have when following the object. A value of 1.0 makes the particles stick to their follow path (relative to the object), while values below 1.0 will make the particles loose and stretchy.

Position Dep. - This parameter only affects the Catch value when Catch is less than 1.0. It will not affect anything else. The functionality is identical to the Position Dependency of the Speed value, except that it controls the looseness dependent on the distance to the follow object.

Type 2

Speed - Identical to the Type 1 speed spinner, this spinner acts as a multiplier for the particle speed following an object. A value of 1.0 makes the particles as fast as the selected Follow Node object (any 3ds Max object), while a value of 0.5 makes the particles half as fast as the selected Follow Node moves. Values greater than 1.0 will accelerate the particles beyond the speed of the selected Follow Node, which means that they eventually pass the follow object and reach the end of the animation before the follow object reaches it.

Variation [%] - Increase this value to add randomness to the speed of the particles that follow a selected Follow Node object. If you set Variation to 100%, every particle will get a random speed value.

Position Dep. - By default, all particles following the selected node get the exact same speed based on the Speed value described above. In the real world, however, having all particles moving with the exact same speed looks unnatural. Imagine a flock of birds, for example. If they were to move in absolute synchrony or change direction at the exact same time, the illusion of reality would be destroyed.

Thus, the Position Dependency spinner lets you control how the follow speed is assigned to the various particles. A value of 0.0 turns off the position dependency for the particle speed, and all of the particles inherit the exact same speed. Higher values take into account the proximity of the particle to the selected Follow Node to determine how much of the particle speed to apply. In general, particles farther away from the selected Follow Node receive less of the follow speed, and particles that are closer to the Follow Node receive more of the follow speed.

Catch - One of the ideas behind a follow function is to make particles catch an object that moves around. The Catch spinner controls the amount of tension the particles should have when following the object. A value of 1.0 makes the particles stick to their follow path (relative to the object), while values below 1.0 will make the particles loose and stretchy.

Variation [%] - Increase this value to add randomness to the Catch value of the particles that follow a selected Follow Node object. If you set Variation to 100%, every particle will get a random catch value.

Position Dep. - This parameter only affects the Catch value when Catch is less than 1.0. It will not affect anything else. The functionality is identical to the Position Dependency of the Speed value, except that it controls the looseness dependent on the distance to the follow object.

Start Time - Usually, the particles start following an object as soon as the operator gets a “true” message from its ON input data stream port. However, you can also set any start time by adjusting this parameter.

Random Start - By default, all particles follow the selected Follow Node at the same start time. However, there are situations where you don't want this to happen, and the Random Start parameter takes care of this. A value of 0.0 will disable this spinner, while values greater than zero will divide the starting time evenly amongst all particles, making them follow one after another.

Position Scale - This value is only used when the Random Position radio button below it has been selected. This value acts as a relative scale factor for the particle positions. From start to end (animation time), the particle positions will be scaled up to this percentage.

Object Position - These two radio buttons select the way how particle positions are treated/calculated by thinkingParticles.

Random Position - These two radio buttons select the way how particle positions are treated/calculated by thinkingParticles.

Follow At Time check box - Activate this check box to force the particles to follow the object based on the time the ON input data stream was activated and not on the particle animation time. If no data stream is input into the ON port to start the operator, then activating this check box forces the particles to follow over the course of the current animation.

Node Rotation check box - Activate this check box to force the particles to use the rotation matrix of the selected Follow Node so that when the object rotates, the particles also rotate.

Node Alignment check box - Activate this check box to align all particles with the selected Follow Node.

Relative - Select this radio option if you want the particles to follow the selected Follow Node relative to the path that the Follow Node is taking.

Absolute - Select this radio option if you want the particles to follow the selected Follow Node absolutely to the path that the Follow Node is taking.

Position - Select this radio option if you want the particles to follow the selected Follow Node based on the position to the path that the Follow Node is taking (a straight line is the path taken).

©2024, cebas Visual Technology Inc.

reference_guide/thinkingparticles_nodes/operator_nodes/dynamics/followoperator.txt · Last modified: 2025/05/09 22:06 by 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki