10-03-2024, 01:57 AM
It's a pretty niche setting that means the operator will treat any particles generated after the operator integration as new in the next frame.
One particular use case is for torn cloth. Normal frame computation goes something like this:
In the above example, new cloth particles generated during cloth tearing will never (by default) be seen as "new" by any operator, because they're born after all operators have evaluated on a time step but also aged prior to the next step evaluation. However, if you enable "treat post-step particles as new", then those particles will be marked as "post-step new" so that when the next time step evaluates, even though their age will be greater than 0 (because they're born prior to all particles being aged 1 step), it will be seen as 0. This makes it possible to test for "new" cloth-tear particles, even though they were born at the end of the prior time step (not the current time step).
One particular use case is for torn cloth. Normal frame computation goes something like this:
Code:
-operators are evaluated
-particle bind solver calculates cloth forces and cloth tearing - if cloth is torn, new particles may be generated along cloth edges
-all particles are aged 1 timestep
-repeat
In the above example, new cloth particles generated during cloth tearing will never (by default) be seen as "new" by any operator, because they're born after all operators have evaluated on a time step but also aged prior to the next step evaluation. However, if you enable "treat post-step particles as new", then those particles will be marked as "post-step new" so that when the next time step evaluates, even though their age will be greater than 0 (because they're born prior to all particles being aged 1 step), it will be seen as 0. This makes it possible to test for "new" cloth-tear particles, even though they were born at the end of the prior time step (not the current time step).