I have a scene where I have a lot of particles (4 mill) that scale up and down over time and are instanced geometry. It’s deathly slow so to try to speed things up a bit, I thought I’d use krakatoa to save the particles to prt including the scale channel. This is so when I bring the particles back in with a prt loader/Krakatoa prt birth/ Prt update, all Pflow has to do is add the instanced geo rather than look back in history to see what scale the particle should be etc. The problem I’m having is the particles need to die after a certain duration. This doesn’t seem to happen automatically even thought the original Pflow that I save as PRT does have particles dying correctly. So I’ve tried adding a delete by age on the flow that loads the prt files. No matter which way I’ve tried, this crashes max.
Is there a way to use delete (by age) in conjunction with prt birth/update that doesn’t crash max?
channels I’m exporting (and making sure are checked on the PRT update operator) are Position , ID,Scale ,Orientation , Lifespan and Age
The RIGHT way to delete particles according to the data in the PRT files is by adding a Krakatoa File ID Test after the Krakatoa PRT Update, and sending out any particles with negative ID to a new Event containing a regular Delete operator (delete all). The File ID is a channel that the Krakatoa PRT Birth and Update operators manage and that keeps track of which particles have not been born yet, and which particles must die based on the content of the PRT files. When a particle that exists in PFlow must die, the File ID gets set to -1, and the Krakatoa File ID Test will send it out for deletion…
We were not aware of the crashing when a Delete By Age exists in a PFlow with Krakatoa operators, so we will do some testing and see if the problem is in our code, or Autodesk’s…
I tested a scene where particles were being deleted on collision with an object. I cached the particles to PRT, and recreated the scene with another PFlow using PRT Birth, Update and FileID Test, and it behaved the same.
I then moved the Delete operator into the main Event and set it to delete by Age, and it did not crash. However, I used 3ds Max 2015, because I don’t have 2014 installed on my laptop anymore (had to replace the HDD two weeks ago). I was running Krakatoa MX 2.6.1.
I will see if someone in support can try to reproduce the same in 2014.
If you would like to donate your PRT sequence for testing purposes, it would be very useful as it would mean we are using the same data to reproduce the issue…