Exploding faces


#1

hey there,

to clarify my thread title: I do NOT want to make faces explode, that would be quite inhumane and you definitel shouldn´t help anybody with that.

What I DO want to do is the following:

Make several objects break up into polygons and then fly away (or play it and reverse and make the faces assemble the objects).

I found a script that detaches all faces into single objects.

But now I am having trouble getting it to work with pflow.
I tried to use the birth group operator. On one object it worked (text collapsed to poly and tesselated), on others it didn´t.

I used the same pflow on both objects, one the text object it worked fine, on the other object it just exploded. I checked the collision shape and while the collision shapes in the text object were all flat und thus not overlapping, in the other object I got a ton of overlapping boxes, which of course causes the simulation to explode.
I tried playing around with the penetration tolerance, but that didn´t help.
I also tried switching to custom shapes, but that didn´t work either, I always got a this error in the maxscript listener:

..\..\Cooking\src\ConvexMeshBuilder.cpp (53) : $unknown error : ..\..\Cooking\src\ConvexMeshBuilder.cpp

I also tried to use the mPswitch to simply turn off the simulation until the particles are triggered into the next event, but I couldn´t figure out how to do that:

If I tried using the mPcollision to trigger the next event, it didn´t workm since the simulation was turned off by the switch, if I tried using a find target op, it didn´t trigger anything.
I even tried using a normal deflector, but that didn´t work either…

Any idea what could be going on or what I could change?


#2

Ok, I partly solved the problem:

Apparently you can´t use single faced objects with convex hull…I added a shell modifier on top and then it worked properly.

I can now trigger the particles via a mParticles collision to go to the next event and by increasing the interpenetration tolerance I can keep them from reacting before the impact.

I´d still prefer to simply have the simulation turned off and then switch it on in another event, but I can´t figure out how to do that. I want to use an object and have the particles enter the next event as soon as the object comes close, something I would usually do with a find target op set to “no Control”, but that doesn´t seem to work in my mParticles setup…


#3

Ok, I partly solved the problem:

Apparently you can´t use single faced objects with convex hull…I added a shell modifier on top and then it worked properly.

I can now trigger the particles via a mParticles collision to go to the next event and by increasing the interpenetration tolerance I can keep them from reacting before the impact.

The Find target set to “no Control” as Proximity sensor didn´t work simply because the distance wasn´t set high enough…


#4

that’s a cool distance check trick with find target and no control… Never knew that one before. I will it try next time! :slight_smile:


#5

hehe, you are welcome…

Pflow really gives you endless possibilities to learn stuff…and also endless nightmares, because it´s never working as it should…

I tried a different approach to assemble the objects back together after exploding them, which allows me to animate the whole thing forward, by using some data ops trickery to collect the end position, but it doesn´t give me enough control.
So I´m back tomy first approach: Animating the dissasembly twice and then make a reverse-camera animation to render the second version and reverse that in post to make the objects assemble exactly the way I want them to.

Sigh, so much to do and so few people to do it for me…


#6

Well, I´m still not where I want to be with this…

I just can´t figure out a way to gradually send particles I birthed with Birth group operator to another event.

If I use mParticles and a mCollision to trigger the next event, I have to deal with the collision and also the particles still tend to “explode”, no matter how high or low I set the interpenetration tolerance.

For example: I want to the particles stay perfectly still until triggered by a sphere moving through them, and once triggered I want them to go to the next event, where they are beeing blown away by some wind.
If I use the moving sphere as a mParticles collision shape, the particles move to the next event, but since they already collided with the sphere, they are not just being gently blown away by the wind…

If I try to use a Find target with no control, The particles birthed by the birth group operator are triggered like they are a single object.

Any ideas?


#7

Did a very quick test with an empty scene and setup with only 3 objects and it seems to work:

Object are beeing spawned by birth group, then triggered by find target and go to next event, there we go, proof of concept…

Now off I go to find out why it doesn´t work in my setup…:stuck_out_tongue:


#8

…aaaaand the winner is:

…forgot to reset Xforms on fragments…

:banghead:

Every. Single. Time…come on!