Pflow discrepancy


Hi

I’m using Krakatoa mainly for caching Realflow stuff, great so far. The prt files are much smaller than Bin files, and the loader works much better than the Nextlimit one.
Only issue I can see is a weird miss match of particle numbers!
As you can see from the attached file.
Original count is 3552, and the Pflow count is 3282, and gradually drifts off over time getting worse.
It’s important that they stay the same, as motion blur might be effected if particles are turning on and off during the animation.
Any help would be greatly appreciated!

Tim Woods

FX@Nexus Productions

*edit
If i load one frame of the prt…eg frame 100. its in perfect sync.

Ok, in update. This only seems to be happening when loading more than one sequence into the prt loader. Could the ID’s be getting over written or confused? Any way to reset the ID’s? :confused:

Finally fixed this.
So if anyone else is caching, or trying to merge multiple emitters from realflow, i.e seperate BIN file streams, and converting them to one PRT. You need to have a single loader per source/emitter/stream, and seperate PRT Birth’s in Pflow, before saving them back out as a PRT file. It seems like combining them all in one loader mixes ID’s up and creates missing particles as the sequence progresses.
May be of use to someone else!
:wink:

Thanks for pointing it out. I could not find a warning in the documentation regarding that, so I consider it our problem :wink: Will try to fix the docs.
But you are absolutely right, an ID channel is supposed to provide a UNIQUE identification for each particle, and the moment you mix two PRT streams with colliding IDs you are asking for trouble.

The only way to work around this if you absolutely must mix two or more sequences is:
*Load the second PRT sequence in a PRT Loader, disable “Use Node Transform”
*Add a KCM which reads the ID channel, adds an Integer that is larger than the max. count in the previous PRT sequence and then outputs the resulting ID to the ID channel.
*Resave to a new PRT sequence, make sure you save all incoming channels.
*Repeat for any other PRT sequences with increasing integer input to shift IDs above the previous sequences.
*Load all resulting sequences in one PRT Loader.

Similarly, saving two PFlows to a single PRT sequence could lead to duplicated IDs and make it impossible to read back using the Krakatoa PFlow operators. They were meant for a single sequence from a single source that has consistent IDs. We know this is quite limiting, but it is better than nothing.

Alternatively, using Frost to mesh the PRT sequences can be easier and faster (but is not free, obviously).

hi tim,

what do you need pflow for?

you can load the seperate bin files with prt loader and save the prt loaders back as one .prt sequence
would be much faster than going through pflow

unless im missing something that u need pflow to do?

It was for a TVC that used lots of fluids brought in from Realflow. They then needed to be culled, and also coloured in interesting ways using the bin data. So some had to go though PFlow before being cached back out. A bit long winded, but worked pretty well in the end. Combining them all in one loader also jumbles the material ID’s, unless like Bobo mentioned you use Magma flow to sort it out.

Thanks for all the help.