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.
After an operator has been added to a flow, it can be enabled/disabled by clicking on its icon.
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.
Many operators contain common settings. These settings pertain to operator timing controls, as well as test condition controls.
The Filters rollout allows you to control which particles will be affected by an operator.
Enable filters: controls whether particle filtering will be enabled for the operator.
AND/OR: controls the test condition for multiple filters. “And” means that a particle must pass all filters in order to be affected by the operator. “Or” means that a particle must pass any filter in order to be affected by the operator.
Filter list: the list of filters that will be used to test particle properties.
Property Type: the property that the selected filter will test.
Test TRUE if property is: the property test condition.
Absolute/Custom Float: controls whether the test value will be an absolute value, or a value derived from a custom float data channel of the particle being tested.
Value: the absolute test value.
Channel: the custom float data channel from which to derive the test value.
The Timing rollout controls when particles will be affected by an 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.
Enable frame exclusions: controls whether the list of frames to exclude will be processed by the operator.
Frame exclusion list: the list of frames to exclude from the operator’s affect.
The list may contain multiple frames or frame ranges. Separate frames with commas, and denote ranges of frames with dashes. A valid list may look something like: “0, 10, 20, 35-50, 100” (without quotations).
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.
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.