PDA

View Full Version : Uniting particle geometry


Glacierise
12-29-2006, 10:39 PM
Hi,

Imagine you have a flow with, let's say, tetra shaped particles. The particles intersect, and when they are a lot, they create very heavy geometry. It would be great if the geometry could be unified, as if all the particles are passed to a boolean union operation. Is there a way to do this in max?

Thanks!

Bobo
12-29-2006, 11:20 PM
Hi,

Imagine you have a flow with, let's say, tetra shaped particles. The particles intersect, and when they are a lot, they create very heavy geometry. It would be great if the geometry could be unified, as if all the particles are passed to a boolean union operation. Is there a way to do this in max?

Thanks!

Theoretically, yes. I don't think there is a practical solution available publicly yet, but then again, who knows what Box #2 will contain...

The main problem is that pure booleans are generally slow to compute and might produce geometry as heavy or even heavier than the original objects.
So if the idea is to avoid rendering those internal faces, it might not be very useful.

Another approach would be unifying using something like level sets - an isosurface like the Metaball modifier creates, but closer to the original shape of the particles. Incidently, FLOOD does this and I am using it to unify some rather complex objects into a single merged surface for a current project. But the resulting mesh is highly complex and if the idea is to accelerate rendering, this is not the way to go. I just need to liquify the discrete objects into a single surface.

Yet another approach was developed by Frantic for the rendering of the crystals in Superman Returns - we called it "Virtual Boolean". It was performed by the crystal shader at rendertime (we had a version that worked in both Gelato and Brazil r/s).

It might be possible to generate a boolean union out of the particles as an external mesh using MAXScript, but who knows how good the result would be...

Glacierise
12-29-2006, 11:31 PM
Thanks for the reply, Bobo!

Aaaaah, box #2! Patience is a virtue :D

So it seems that there is no easily accessible method now... It's a pity. This could make particle systems a great modelling tool :)

Bobo
12-30-2006, 02:55 AM
Thanks for the reply, Bobo!

Aaaaah, box #2! Patience is a virtue :D

So it seems that there is no easily accessible method now... It's a pity. This could make particle systems a great modelling tool :)

Just to clarify, I don't know what Oleg is cooking and I am not even speculating he would implement such a feature. I am just saying that PFlow is being expanded, so anything is potentially possible.

Bobo
12-30-2006, 03:09 AM
Thanks for the reply, Bobo!

Aaaaah, box #2! Patience is a virtue :D

So it seems that there is no easily accessible method now... It's a pity. This could make particle systems a great modelling tool :)

Ok, so I created a particle system with 200 intersecting box particles, captured the TriMesh and transformation of each one into a separate EMesh, then booleaned them all together. The resulting mesh had 11K faces (instead of 2400) but the internal faces were gone.

So it sort of works, but the result has 5 times more faces, so it might not be a good idea.

Glacierise
12-30-2006, 08:03 AM
And I tried it with ProBooleans. It particle system with a few hundred tetras. Amazingly, ProBooleans didn't crash :D But it took minutes, and dodn't get rid of the internal geometry, so the face count increased, like in your case. Defenitely not a useful technique :)

CGTalk Moderation
12-30-2006, 08:03 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.