Hello everyone,
Here are two tests i did understanding partitions and Particle culling in krakatoa.
I used Pflow to locked down the 1 Million particles on character surface then using Partition utility, i made 100 partitions to disk. and each partition has 1 million particles with random positions. You can see in the image how it was rendered with increment of partitions. Though i tried to render 50 million particles with 50 partitions but it went out ot RAM.
Link to image : http://www.jhjariwala.com/partition_test.jpg
Here is the second test: Volumetric Dino
Link : http://www.jhjariwala.com/dinosand_med.mov
for this, i thought it could be easy with pflow position operator with volume mode.but it was very slow. After checking bobo’s krakatoa cheeze, i realized it should be done with particle culling in PRT loader.
For that, i made the box covering “dino” mesh and using pflow > position operator to fill the volume of the box with 10 Million particles. Using krakatoa, i saved those particles to disk. Then using PRT loader, i loaded 10 million particles to the scene and chosed “dino” mesh as “volume node” in particle culling. Once again, using partition utility generated6 partition to disk. then again in max, loaded all those partitions to generate “volumetric particle dino” and i saved again 10 million particles to single file.
Now back to particle flow, using “Krakatoa file birth” operator, i loaded all particles to the scene and made the disintegration of dino.
Dino character is modeled by sriram.
This is getting better and better :o)
Nice tests! As you can see, the difference between 10 million and 20 million is not very obvious - in fact, the moire patterns are getting worse as you add more particles than necessary. Here are some ideas for the first (surface) test:
*Make sure you use some surface offset so the particles are not exactly on the same surface but have a bit of a randomness in and out of the normals - just a few millimeters, like a skin layer. While the mesh might appear a tiny bit thicker, the particle cover would also have a bit of a thickness and shade better.
*Try lowering the Density of the particles in the 25 million test - it might give you a slight sub-surface scattering look, esp. if you have the offset I mentioned above.
Your volume demo makes the “leaks” in the raytracing code obvious, although I am positively surprised that the streaks are so few. We will have to make sure this is fixed before shipping.
Could you please post some render times on CGTalk - I know the PFlow processing takes a while, but I think people would love to know how long it took to generate the 100 partitions and how long it takes to load 1, 10, 20 and 25 and shade them…
Keep on rocking!
“Once again, using partition utility generated 6 partition to disk.”
This step does not sound necessary - when you load PRT files using the PRT Loader and save to disk, there will be no randomization as the PRT Loader does not have a random seed. So your 6 partitions would contain the same particles and you would be wasting time.
This is getting better and
better :o)
Nice tests! As you can see,
the difference between 10
million and 20 million is not
very obvious - in fact, the
moire patterns are getting
worse as you add more
particles than necessary. Here
are some ideas for the first
(surface) test:
*Make sure you use some
surface offset so the
particles are not exactly on
the same surface but have a
bit of a randomness in and out
of the normals - just a few
millimeters, like a skin
layer. While the mesh might
appear a tiny bit thicker, the
particle cover would also have
a bit of a thickness and shade
better.
*Try lowering the Density of
the particles in the 25
million test - it might give
you a slight sub-surface
scattering look, esp. if you
have the offset I mentioned
above.
Your volume demo makes the
“leaks” in the raytracing code
obvious, although I am
positively surprised that the
streaks are so few. We will
have to make sure this is
fixed before shipping.
Could you please post some
render times on CGTalk - I
know the PFlow processing
takes a while, but I think
people would love to know how
long it took to generate the
100 partitions and how long it
takes to load 1, 10, 20 and 25
and shade them…
Keep on rocking!
Thank you Bobo!
Here are some settings i forgot to mention for the “Partition test”. As you said, pflow position operator > offset is set to min : -1.0 and max : 1.0.
Here are the density settings i used for 1,10,20 and 25 million particles accordingly :
—> For 1 million particles :
Density per particle = 5.0
and exponent = -1.0
—> For 10 million particles :
Density per particle = 1.0
exponent = -2.0
----> For both 20 and 25 million particles :
Density per particle = 1.0
Exponent = -3.0 (below this was giving me more transperancy and dimmer lighting.)
Also “Use final density for lighting” was turned on.
some lighting parameters : two spotlights ;
Each has shadow size 2048.
Also take a look at these two images(for second test) :
First image shows viewport preview of final Pflow particles(which are loaded with “krakatoa file birth” operator.) you can see some particles are leaking.
Second image shows viewport preview of PRT loader but it looks fine and rendering was also fine.no particles leaking.
ImageShack - Best place for all of your image hosting and image sharing needs
ImageShack - Best place for all of your image hosting and image sharing needs
Hey there,
Very nice look!
How much time does it take to simulate the animation?
How much time to render it?
Thanks
Marc-André Carbonneau
Senior VFX artist
Ubisoft Digital Arts
Montréal
514.490.2000 x:3443
Thanks Marc andre. For rendering animation, it took 2.5 mins per frame and around 4 to 5 hours in between for 101 frames of animation. there were total 6 motion blur passes.
@ Bobo : oops! i should have posted screenshot of PRT with 100% particles display. yes, you are right. it looks exactly as same as in pflow.
Cool. thanks for the render infos.
How about the simulation time for all the partitions together?
thanks.
I don’t remember exactly. but it supposed to be around 15 mins. coz i kept it on simulation and went for lunch and came back after 15 mins! :-) I would need to redo it to check the time.
Well, the leaking is caused by the PRT Loader for sure. If you are not showing all particles in the viewport, chances are you are just not hitting the particles that have been leaked. Setting the PRT Loader Viewport % to 100% should theoretically reveal the same look as in PFlow. The Krakatoa Position operator cannot leak the particles, it just loads what is already in the files, so the leaking should be caused by the custom mesh culling in the PRT Loader…
Thanks for the additional info!