I can't reproduce this - a simple flow where a Surface Test deletes particles is imported properly using Birth Flow in a second flow (deleted particles are not imported).
Please post the scene where you're having the issue.
Of course I will send it, maybe this evening
This is not a bug - you're just not deleting the particles when they go missing from the flow/cache.
As noted at the bottom of the Flow Update operator, particles will test TRUE when their matching ID is missing from the source. Just set the Flow Update operator's output mode to delete (or send to a deletion event) and the particles will be deleted.
To understand what's happening, take a closer look at individual particles in your flow:
In your source flow your particle is being born at some frame (ex: frame 0), then it travels through space and at some other frame it enters your surface and is deleted (ex: frame 1).
In your reference flow your Birth Flow operator births the particle at frame 0. However, the Birth Flow operator does not do any deleting - it just births new particles it finds in your source flow. So at frame 1 when your source flow particle is deleted, the Birth Flow operator takes no action.
In your reference flow your Flow Update operator doesn't take any action on deleted particles (by default) either - at frame 0 it finds the particle in the source flow and updates its properties. However, at frame 1 the particle was deleted in your source flow, so Flow Update does nothing (by default) either - it can't find the particle with the matching ID in the source flow so it takes no action. However, as noted at the bottom of the Flow Update operator, if a particle has no matching ID in the source flow it will test TRUE in the Flow Update operator. If you use this to delete particles then the Flow Update operator will take action and delete the particle at frame 1 because it has no matching ID in the source flow.
Birth Flow and Flow Update are working as expected and are not birthing/affecting deleted particles in the source flow.
10-05-2024, 10:18 AM
(This post was last modified: 10-05-2024, 10:21 AM by Alexx31.)
Just in case you misunderstand me:
It made a difference when I sent them out into a „delete operator“ event.
I can follow all your explanations, but the delete behaviour would then have to be the same for any other delete operation.
When I changed my flows to send out into delete event - instead of using the integrated „delete“ - it was a different simulation and I did not have the mentioned issue.
(I did not try to reproduce although, because I stopped where I thought it already to be a bug. I never ever even knew that I have to delete actively in the birth flow.
Last year I did a vast destruction setup with multiple caches without any unwanted former deleted particles in the birth flow update…. So something has either changed or it is a difference between delete straight in the surface test snd delete in a separate event. And that‘s the logic I didn‘t get)
Cheers
The implementation of the send out feature of the Flow Update operator was implemented in tyFlow v0.16062 (December 24 2019). Nothing related to how deleted particles are treated has changed since then.
Alright, so I maybe just never used it before without a separate delete event in a tyCache.
I meanwhile realized, that the simulation is different deoending whether I send out into a delete event or use „action delete“.
I explaining it to myself that the action is maybe just culling them and they still influence the simulation.
But it doesn‘t matter, as I know now how to handle it in a tyCache
and knowing I should not alter the method of deleting afterwards if I want to keep the same sim.