Operators

tyFlow operators are what create and drive particles in a simulation.

Click an operator name in the sidebar to find more information about a particular operator.


Operator Activation

After an operator has been added to a flow, it can be enabled/disabled by clicking on its icon.


Operator Settings

The settings for a particular operator can be accessed in the subrollout on the right hand side of the tyFlow editor. An operator must be selected before its settings will be revealed.


Common Settings

Many operators contain common settings. These settings pertain to operator timing controls, as well as test condition controls.


Timing Rollout

The Timing rollout controls when particles will be affected by an operator.

  • Timing type: controls the timing type of the operator.

On Event Entry: particles will only be affected by the operator when they first enter the event.

On Event Entry (Interval): particles will only be affected by the operator if they enter the event within a specified range of frames.

Continuous: particles will be continually affected by the operator as long as they stay in the event.

Event Age: particles will be continually affected by the operator as long as their lifetime within the event is within a specified range of values.

Particle Age: particles will be continually affected by the operator as long as their lifetime within the simulation is within a specified range of values.

Frames: particles will be continually affected by the operator as long as the current frame is within a specified range of values.

  • Range: the range of values which will affect various timing types.
Variation: the per-particle amount of variation to apply.
  • Seed: the seed value for all varied parameters.

Test Action Rollout

The Test Action rollout controls what will happen to particles that satisfy a conditional test within an operator.

  • Send Out: controls whether particles that satisfy the test condition of an operator will be sent to the next event (if the operator has a valid output connection).

  • Increment custom float: controls whether particles that satisfy the test condition of an operator will have the value of one of their custom data channels incremented.

  • Channel: the channel whose value will be incremented.

Sometimes you may want a particle to satisfy the test conditions of multiple operators before sending it to another event. In that case, you would set the test action of all of the relevant operators to “increment custom float”. Then, you would put a Custom Properties operator (whose timing is set to “continuous”) at the top of the event’s operator stack (and have it reset the value of the appropriate custom data channel to 0 each time step), and a Property Test at the end of the event’s operator stack which would be used to check the value of that custom data channel. The Property Test’s test action would be set to “send out” and the condition would be set to the desired value of the custom data channel. For example, if you wanted to chain three different operator’s test conditions together, you would use the Property Test to test for a custom data channel value of 3 before sending particles to the next event.

With that method in mind you can easily craft more complex test conditions within certain events.

  • Ignore: nothing will happen to particles that satisfy the test condition.

Data
  • Save event age when test TRUE: saves the event age of a particle to a custom float data channel at the time when it satisfies the test condition.

  • Frames/Ticks: controls which unit of time to save the event age value in.

  • Channel: the channel where the value will be saved.