Particles are created by operators, and reside in events. Each event acts like a filter – particles in an event can be affected by all operators in the event. Particles will not be affected by operators outside of their event. Most importantly: a particle can only be in one event at a time.
Operators themselves can act like filters too. For example, the “Timing” rollout of many operators can be used to filter which particles in the event will be affected by the operator, based on their lifespan or the current frame of the simulation.
Particles can also be sent from event-to-event, based on test conditions that they may satisfy. Some test conditions may send particles from one event to another immediately, while others may only send them after a certain amount of time has passed, or after a particular particle property matches some defined value.
You can use Display operators to display all particles within a particular event, or a Display Data operator to display specific properties of each particle.
Following in Particle Flow’s footsteps, I have limited the number of birth operators in an event to one. Keeping birth operators in separate events can help to keep flows more organized. Allowing for birth operator stacking can make it more difficult to determine which operator birthed which particle, when analyzing a flow. This limitation is purely artificial and may be subject to change in the future.
tyFlow does not have an equivalent data operator. I have personally found that manipulating scalar/vector/matrix data with nodes is an unnecessarily complex way to do things, compared to simpler script-based methods. Therefore I have opted to focus on developing a robust script operator, rather than a node-based data manipulation operator.
tyFlow’s C# Script operator is extremely fast, simple to use, and includes a comprehensive API that gives users direct access to a large number of tyFlow’s internal functions. The caveat to using a Script operator is that the user must have some knowledge of writing code, but tyFlow’s C# API has a shallow learning curve, which users should be able to pick up relatively quickly.