PDA

View Full Version : pflow with blobmesh jitters, what are the requirements for a stable fluid?


Piotrek255
06-13-2010, 11:02 AM
I've done a lot of testing and every time the mesh jitters and you can see a quick random movement on the surface of the mesh, it does not look realistic at all.

when i add more particles, the part where i melt the particles on the floor looks more lika a pyramid or stairs (i can see the blocky layers), i added relax modifier on top of blobmesh but it still does not fix the jittering of the blobmesh.


EDIT-----------------------

changing the size of the blobmesh with the size of the particles helped, guess it's just a matter of tedious trial and error with tweaking these 2 parameters and checking everything on viewport previews.

PS: does anyone know what is responsible for fast previewing large amounts of particles and blobmesh or any other large mesh/particle/texture viewport animation thing?

is it hard drive's read/write speed, ram, proccesor?

Bobo
06-13-2010, 05:07 PM
PS: does anyone know what is responsible for fast previewing large amounts of particles and blobmesh or any other large mesh/particle/texture viewport animation thing?

is it hard drive's read/write speed, ram, proccesor?

Better code.
PWrapper is many times faster. We have an inhouse solution that is a couple of times faster than PWrapper, and with MILLIONS of particles it is several thousand times faster than BlobMesh. So it is a matter of efficient code, not CPU, RAM or disk.

selimcobanoglu
06-13-2010, 10:52 PM
Ignorance is bliss. :)
So you have the fast blobmesh inhouse solution.
It hurts to know that it is several thousand times faster. :cry:

Bobo
06-13-2010, 11:57 PM
Ignorance is bliss. :)
So you have the fast blobmesh inhouse solution.
It hurts to know that it is several thousand times faster. :cry:

I am pushing (unsuccessfully so far) for it to be included in the Krakatoa package.
That being said, PWrapper (which is part of a 3rd party package called Glu3D from 3DAliens: http://3daliens.com/) is commercially available and is only a couple of times slower than our inhouse solution (when using reasonable particle counts, with millions ours is a lot faster). So you are not completely without a solution, it just costs some money.

selimcobanoglu
06-14-2010, 07:13 AM
At least you point to a problem: Inefficient coding.
Blobmesh is ridiculiusly slow and should be optimized in some way.
It would be great if your inhouse blobmesh is included in the krakatoa package.
Pwrapper is the way to go then. :)

PiotrAdamczyk
06-14-2010, 08:32 AM
i dont have the resources to buy glu3D or realflow, sadly i have to stick with blobmesh, that's why i asked what could boost it's performance in max, thanks for the quick reply.

selimcobanoglu
06-14-2010, 08:52 AM
If you have to use the blobmesh:
1) "Large data optimization" sometimes helps a lot.
2) If you are doing something complex you will need to use the "off in viewport" option.
3) On top of the blobmesh you can use "push" and "relax modifiers for further controlling the final shape of the fluid. Of course youcan use other modifiers including meshsmooth.
4) You can include non-particle (ie poly geometry) objects in the blobmesh object list to further fine tune the shape of the liquid.

Maybe you already know these things. I use these tricks with blobmesh.
When you create a highpoly blobmesh object it is impossible to preview it in the viewport.
You will need to see it only in render.

I know this is not the best way.
Hope this helps. :)

JonathanFreisler
06-14-2010, 12:16 PM
Blob mesh is slow. But completely workable if it is your only option.

You can remove the 'stepping' on the mesh by a number of ways. Just keep playing around with settings on a small amount of particles, setting it up then turning the view port display down on your mesh.

I think it was Bobo who told me, that blob mesh out performs PW wrapper when you reach a certain amount of particles (some thousand or something).

Its a certainly out dated asset, and some newer alternatives exist - so by all means if you really need one look into PW wrapper, but some times Ive had no other option and Blob mesh has served me well.

JohnnyRandom
06-14-2010, 06:57 PM
I think it was Bobo who told me, that blob mesh out performs PW wrapper when you reach a certain amount of particles (some thousand or something).


Yes according to Bobos benchmark test there is actually a point were Blobmesh outperforms pWrapper (around the 20k mark)

The benchmarks Bobo did are here:

http://software.primefocusworld.com/software/support/krakatoa/prtmesher_benchmark.php

If that chart isn't enough to make you drool for a better alternative I don't know what will :)

Bobo
06-14-2010, 08:41 PM
Yes according to Bobos benchmark test there is actually a point were Blobmesh outperforms pWrapper (around the 20k mark)

The benchmarks Bobo did are here:

http://software.primefocusworld.com/software/support/krakatoa/prtmesher_benchmark.php

If that chart isn't enough to make you drool for a better alternative I don't know what will :)

To play devil's advocate, these were 3 synthetic benchmarks and only the 4th was a real-world example from an SPH solver (RealFlow). Since PWrapper was developed to mesh mainly SPH particles where the distance between the particles is relatively constant, the first 3 tests could be seen as "unfair" as they increase the particle density within a volume of particles where the volume has barely any relevance to the surface appearance. PWrapper and BlobMesh have huge problems with these cases.

I used these tests because of what we were meshing at the time - see this page for an example: http://software.primefocusworld.com/software/support/krakatoa/krakatoa_skinwrap_particle_and_mesh_deformations.php#Growing_Gooey_Blobs
The Fu-Lum character in Dragonball:Evolution contained up to 300K particles distributed throughout the body via PFlow particles spawning trails as they moved inside the mesh, bouncing off the body inner walls using Collisions. The density of the particles was non-uniform so I felt we could assume that case as a real-world example. Of course, I did not have the patience to measure the actual time to mesh those characters with the other two solutions, so I had to fall back to simple PFlows that behaved in a similar fashion (lots of particles inside a solid volume), thus the first 3 benchmarks.

With 7K particles and an SPH simulation, the difference between PWrapper and the PRT Mesher is mainly due to the multi-threading (at least at that time, the PWrapper was single-threaded - haven't checked lately).

When the particles detach from each other into single droplets, all 3 solutions become very slow (some more so, but the PRT Mesher has its issues in those cases too).

3DMadness
06-16-2010, 07:22 PM
Any chance you have vray as renderer? If so, you could use BerconMetaball, the best for me since its generated at render time only. ;)

If you still have to stick with blobmesh, take a look at some of Pete Draper's tutorial using blobmesh like this one: http://www.3d-palace.com/xenomorphic/education/doc_paintsplats.html
He get some nice results using meshsmooth and a relax modifier.

jigu
06-17-2010, 04:43 AM
I recently had to use blobmesh to make the snow using particles. There were lots of tiny particles and it was hard to control detail of blobmesh with pflow (very slow)

Here you can use Bobo's Pflow baker script. I used script to bake the all particles and used blobmesh on baked meshes. surprisingly blobmesh radius setting worked with mesh objects (never noticed its effect with particles before) and you can also control the shape size of baked mesh using Push modifier. Well this might be little faster then working directly with pflow and blobmesh.

CGTalk Moderation
06-17-2010, 04:43 AM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.