Joined: 08 Aug 2011
|Posted: Wed Nov 09, 2011 6:45 pm Post subject: Tip: using particles as object explosives.
|So, it seems I post a lot of whiny questions on here; I figured I would share some successful techniques and tips for a change.
I've been working on a scene which has some animated characters breaking through a floor-to-ceiling window. The window is made of glass panes set in wooden frames, so I have used one slab for the glass, several sweeps for the wood, and a hand-drawn texture to create the cracking pattern.
My initial approach was to use the characters as object explosives, with 'use verts' checked. However, what I found was that the results 'out of the box' weren't quite what I was looking for. Parts of the characters with more modeling density (like ears) would have a greater effect on the blast surface than smoother, less dense areas like the trunk of the body. This wasn't what I wanted.
I also found that trying to spread the explosion out more from the objects was difficult. If I increased the 'Size' attribute on the explosive node (so each vert would have a wider effect), this tended to exacerbate the problem of dense areas having too much influence. It also produced wild, exaggerated distortions of the target surfaces--not the smoother bulge I had been hoping to achieve.
My next step was to emit a bunch of particles with a one-frame lifespan on the surface of the characters passing through the window, and use those particles as the explosion source. This worked much better, since the particles were more evenly distributed than the object's verts. However, I still found that the deformations being induced in the blast surface target layers were not working the way I wanted them to.
The main problem was that the parts of the characters that had already passed through the blast surface were still exerting an influence on the targets. Sometimes this canceled out the influence of the parts that were yet to pass through; sometimes it created strange waves and ripples; sometimes it pushed the blast surface backwards, against the direction of motion.
My solution to this was to use particle expressions to kill off the particles as soon as they had passed the blast surface. This meant that the only particles exerting an explosive influence were the ones approaching the window from behind (as I wanted). This made the behaviour of the target surfaces much more predictable and controllable.
Expanding on this idea, I made further use of particle expressions to make a few random particles shoot out farther parallel to the window. These particles were associated wtih a Cracks explosive, and so the effect was for cracks to go racing away in random directions from the point of impact along the surface. By adjusting the speed and lifespan of the particles, I can control this behaviour.
I recommend this strategy to anyone who needs to have a bit more control over the way an object affects a blast surface as it collides / passes through it. Remember that you can make your target surfaces visible, and you can also use different explosives with different properties on each target surface. I have further fine-tuned the behaviour of my sim by having one 'deform' explosive and one 'pressure / cracks' explosive. Each is associated with a different particle object (with different settings / behaviours) being emitted by the characters crashing through the window. I find that I have a lot of control over the resulting behaviour, which is good.