I have a Turbulence FD simulation, which X-Particles is following. I have a Krakatoa X-Particles Source in the scene referencing the X-Particles emitter.
My question is, is it best to create multiple partitions directly from the X-Particles Source
OR
Create one PRT sequence from the X-Particles source, then load that single PRT sequence into a scene with a PRT loader and then create multiple partitions from that?
Will the second way produce any undesirable results? Ideally I’d like to use the second method.
You should create multiple partitions from the X-Particles source.
The way partitioning works in Krakatoa is it re-runs the entire simulation for each partition. Each time through, it changes the particle’s seeding parameters slightly to produce a different, but very similar simulation.
Those different simulations get saved out to separate sequences. So, you would have to partition the X-Particles source in order to take advantage of the partitioning. If you ran partitioning on the pre-cached PRT particles, you wouldn’t get any variation in the partitions.
I’m not entirely sure how it would work when using Turbulence FD simulation, which X-Particles is following. Because I believe it would be the TFD simulation that would need to have its seeding parameters changed. I have never tried it. If you partition the X-Particles source, does it give you variation in the particle positions between partitions?
Conrad, I think the X-Particles will seed its particles differently, so even if it is driven by the exact same TFD (which is cached anyway and cannot be changed by us), the final distribution will be different and the partitioning will look right.
This is how it works in Krakatoa MX with FumeFX, too.
Ok I understand now. The seed is changed for each partition, so as you say Conrad, the second method would generate the same PRT sequence every time as the seed wouldn’t change.
Bobo, yes thats right. X particles is changing the seed and turbulence is cached.
One other problem I’ve had with partitioning is with the temp files created in /Documents/ksr_partition. Is there any way to change this path? I have a remote user account with a small home directory quota, so when I go to submit my partitioning job to the render que only 7 of 20 are submitted.
We are currently using the Temp folder environment settings.
We would rather not add another customizable path to Krakatoa itself if you can tweak the location of your Temp folder at system level.
Could you do that?
It would maybe be possible. It’s probably not an issue as most projects wouldn’t be so big. I had a bloated scene size, once I fixed that it was fine.
On another note!..
I’m struggling with the channel ops. For example, how would I go about doing something like changing colour over age or colour by velocity? I have a PRT sequence with an age channel. It would be great to see some documentation on using the Channel Tags in a real world situation.
The ChannelOps are very simple right now (rudimentary even) compared to a full-fledged Magma editor.
You don’t need any ChannelOps to do Color By Age or Velocity, all you need is a PRT Loader and the Gradient it exposes. Select the channel (Age or Velocity) and scale it by your own Scale factor (disable the Normalize option which uses the Max. value on the current frame instead of a fixed value for all frames). Unfortunately, you cannot use Age/LifeSpan with this setup, but if the Life expectancy of most particles is about the same, using just the Age would be good enough.
You can see how this is done in the Webinar video here: youtube.com/watch?v=SlF1gQyHtyg#t=999
Yes, sorry I had watched through the video and completely forgot about this. Thanks for that.
Going back to the X-Particles partitions (sorry)…
I had a look at the partition temp files and I can’t see any difference in seed between the X-Particle emitters. So does this mean that I’m just creating the same PRT sequence over and over? I have 20 million + particles being emitted from a sphere, following a TFD simulation.
Whereas with Thinking Particles I get a much better result and can see that the seed has changed incrementally in each of the temporary partition c4d files. So it seems you may have to manually change the seed for X-Particles on each partition. Is it just me? This had me stumped for a while.
Just wanted to bump this thread… I am having the same problem when creating partitions based off of a TurbulenceFD simulation. Using the X-Particles Source object for the simulation I see no difference in any of the partitions when I load them back into a PRT Source object.
I just tested this here and could not reproduce the problem. Here is what I did:
*I loaded a scene that already contained a TFD simulation (the same one I was showing in demos).
*I created an X-Particles System, added Emitter, set to Object and added the same Sphere I used in the TFD sim as emitter.
*In the TFD settings, I set the Velocity Clip Below to 1cm, Particle Velocity Scale to 100%.
RESULT: Moving the time slider showed the X-Particles following the simulation
*Now I opened Krakatoa, set up 3 partitions and processed via the Batch Queue.
*I then created a Krakatoa PRT Loader, picked the first frame of the first partition, then checked “Load Additional Partitions” and changed Partitions To Load to 3.
RESULT: Changing the Partitions To Load between 1, 2 and 3 obviously added new unique particle positions to the cloud. So it worked as expected.
I wonder if the way your Emitter is set up prevents our code from varying the initial positions of the particles? I don’t know enough about all possible X-Particles settings to determine what the cause might be, but it is possible that you are setting up something differently. Can you try the simple case I described above (simple TFD sim burning from a sphere emitter, emit XP from the same sphere, advect by TFD, partition, load and compare 1 vs. 3 partitions) to see if it still fails? If it works, then there is something in your other scene’s setup that prevents it from randomizing the birth positions. In that case, please send us an example scene.
Hmm. When I do as you suggested and keep it a simple simulation everything is working perfectly. There must be a way I am breaking the partitioning by over complicating a simulation… I will have to do some testing and see exactly what I am doing that is mucking things up for me. I really appreciate the reply and I will be back with my findings.