after partitioning: less particles than expected


#1

Hi there,
sometimes - not always, when I use partitions, I get the strange feeling that I get far too few visible particles by each partiton, like the random seed is ignored, mostly.

What I did:
Used a converted MoText object for some x-particles emission (emitter shape: object, emit from: volume),
the emission stops after 50 frames, after 5K particles with zero speed were born.
Then I used wind and turbulence to blow them away.
Now comes the Krakatoa part:
I saved 20 partitions with the Increment Emission Random Seeds checkbox enabled, so I expected totally random seeds and therefore random positions.
But after loading the additional partitions, I still get the feeling that almost 90% of the particles occupy the exact same space.
When increasing the number for the partitions to load step by step, it looks like I only get 5 new particles each time, instead of 5000.
(of course, the checkobox for Enable Display Particle Limit is disabled)

Here an animated gif, switching between 1 and 20 loaded partitions. Why does it look like the count only doubled, at best?
I was expecting way more particles in between the gaps.


(for the render, force additive mode is enabled)

I use
Cinema4D R15
Krakatoa 2.3.2, from december 2014

Any help is appreciated.
Thanks in advance,
C.-


#2

First of all, the actual count shows that the Partitioning correctly creates 20x more particles, so at least that’s good.
As to why the X-Particles simulation does not produce enough randomization when the random seed is changed, this might be a question for the X-Particles gurus.

Since I am not one of them, I would suggest testing this:
*Switch your emitter from the mesh to a planar or spherical emitter (completely procedural) and repeat the experiment.
*If you get 5000 new positions on each step, then the obvious culprit would be the Mesh emitter.
*At that point, create a simple Plane primitive, convert to mesh just in case and use it as the Emitter.
*Compare the results - does it behave like the text mesh, or like the procedural emitter?
*Seeding random points on polygons should be rather trivial and I would expect X-Particles to create completely unique positions, but the fact that you get some (about 5) but not all (5000) in each iteration shows that there might be some constraints we are unaware of.

Another test a TD like me would suggest:
*Instead of using Partitioning, try changing the random seed manually and save multiple PRT sequences one by one manually (say, 2 or 3 should be enough).
*Load them and compare the results - if you cannot produce more randomness by hand, then the issue is in the way the random seed works with Mesh Emitters. If it works, we will have to compare the scenes saved by Krakatoa for partitioning and try to find the difference to what you changed manually. There could be something we are missing…

I hope that one of the more proficient CINEMA 4D / XP users on this forum will have a better answer for you…

Obviously, if you used any form of caching within X-Particles itself, you should not, as we need the particles free to resimulate on each iteration.


#3

Again, thanks for the super fast reply, Bobo. I appreciate your help.
Of course the x-particles are not cached-

I tried the following.

  1. as you suggested, I used a fully procedural spherical emitter instead. The random seed works perfecly with this one.

  2. Back to emitting from the mesh, with the particles born within the volume:
    Changed the random seed manually, saved a single partition with a new token, repeated this procedure 4 times.
    Then used 4 PRT Loaders to get the 4 partitions back in. The count has increased 4 times, but the particle positions are all the same. They match perfectly, like there is no random seed at all.
    This is weird and seems to be a bug (XP or Krakatoa).

  3. Disabled the “Threading” checkbox for the Random Seed. The x-particles help says that this could help in some cases.
    Saved a few partitions. The overall count is correct, but there is only a slight variation in the seed.
    Again, most (but not all) particles seem to occupy the same position, or are super close to each other.

  4. As I need the mesh to fill up with particles, I used “emit from Object Volume” all the time. Changed that to “emit from Voxel Grid” and adjusted the Birthrate, so I get close to my original count of 5000 particles after 50 frames.
    Again, saved my 20 partitions. This made the difference, now it works like a charm!

I just learned that you should never use “emit from Object Volume”, when partitioning. Instead, an emission from the Voxel Grid within the mesh will look similar and has a nicely distributed random seed when partitioned.

Bobo, one last question regarding the very basics of partitioning:
In your NAB Days tutorials you switch Krakatoa from “Viewer” to “Save Particles to File Sequence” before partitioning - and afterwards back to the “Viewer”. I don’t do this and keep the Viewer active all the time while submitting the partitions to the Render Queue - and it still works.
Does it make any difference?

Thanks again,
C.-


#4

Great job figuring out the problem - as I expected, it was the X-Particles deeper knowledge that I was missing :wink:

Regarding the partitioning - it sounds like you don’t have to switch it, but in Krakatoa MX, it is the only way to go, so I am used to doing it.
Since I did not implement the partitioning feature in KC4D myself (as opposed to KMX), I assumed it was necessary.
I guess I learned something else new today :slight_smile:

Thanks!