Monday, 20 September 2010

Messing With The Lack Of IPO Curve

Having recently followed and played around with the Blenderguru shattered glass tutorial I got over ambitious and wanted to have one object exploding and another imploding (not using the build modifier). This currently presents a bit of a problem in that the particle motion isn't output to a data curve so can't simply be flipped over inside blender. Having had a look around the web and found that a couple of people seem to be having a similar problem, I'm sure at some point this will all be worked into the code as a proper solution but for now I've found a fairly simple 'Bodgit and Scarper' solution.

Start by building your object which needs to be imploded and set up your particle system then explode modifier etc. Save the project into a new folder and navigate to the particle menu.
Open up Cache type in a File Name, set Cache step to 1, click disk cache and use lib path.
Now bake your object then save and exit Blender.

Now navigate to the folder where you saved your project and open blendcache_(ProjectName) where you'll find all the cache files with names like "Green_000000_00.bphys" Now what we need is a quick easy way to reverse the order of the filenames, you could do this manually but it's much quicker if you use Bulk Rename Utility and change the order of the filenames hence "Green_000000_00.bphys" becomes "Green_000050_00.bphys" and "Green_000050_00.bphys" becomes "Green_000000_00.bphys" and so on (For a 50 Anim).

Now re-open the blender project and hit alt-a you'll see that the animation now plays backwards, the first frame is unfortunately wrong which can be fixed by chopping off the first frame of the animation, if you want the animation to hold once rebuilt you should either be able to delay the start of the explosion for however many frames you require before you do the reverse hack or simply switch out the particle object for a solid version when the particle animation has finished.

Here's a quick example I put together whilst playing, I'll add any further updates as I find them.