Bullet time in Blender

I’ve been doing a course on visual effects, covering explosions and jet fighters flying over water. The essential part of making explosions is breaking up an object and then animating the collapse. This is what I did in my wall break-up video. Build a wall, break it into pieces and then throw something at it to break it up.

Building collapse with loads of dust. No sound on this, that’s why you can’t hear anything.

For the building collapse there were a few layers of simulation that needed to be done – the building itself, the windows and the dust. To save computer time the collapse of the building was done first and then the other simulations added. The walls of the building are made up of over 800 pieces, each of which is simulated to fall when a ball (which isn’t shown in the final animation) hits the bottom of the structure. That’s quite a lot of computing power. Then add the hundreds of bits of the windows and the dust, and that’s likely enough to crash most computers. So the simulation is done in parts.

First the building collapse is simulated using rigid body physics. Once you’re happy with how the collapse looks, you can use the function ‘bake to keyframes’. The physics is removed and the motion of each part is animated.

This means that there is less demand on the computer. You can then add a separate physics simulation – for the building collapse the windows were done separately and also baked to keyframes.

Baking to keyframes also means that animation itself can be adjusted. One simple thing is to drag the keyframes for the explosion and create the illusion that the explosion has been frozen in time.

All this sparked a memory from many years ago when The Matrix introduced live action ‘bullet time’, the illusion where time seemed to slow or stop while the camera turned around the subject. The way they did this was to use an array of 120 (or more) 35 mm cameras around the actor and trigger the cameras in quick sequence at the required time.

This is one of the setups they used in The Matrix. As the actor jumped or fell backwards the cameras were triggered to capture the motion and then the images cut together to make the bullet time effect.

Then the images were spliced together to make a few seconds of film. This harks back to the very earliest motion photography experiments of Eadweard Muybridge1, but with an extra twist.

Could I do this sort of thing in Blender? Well, yes, otherwise I wouldn’t be posting this blog. I’d already figured out how to do a dolly zoom in Blender, so bullet time would be another interesting camera effect to work out.

First I made a simple wall break animation. I say ‘simple’, I would have struggled with this a year ago. You make a wall by resizing the default cube. Then add loop cuts to increase the number of faces and vertices for the next step, which is the cell fracture. Add rigid body physics to the pieces and you can simulate a ball smashing into the wall. Once that’s done the bake to keyframes is done.

Stretching out the keyframes was simple enough. I spread a few keyframes over two seconds of animation time so that the bits of the wall and the ball didn’t stop flying, but rather slowed right down.

Then I added an ’empty’ to the scene half way up the wall. I parented the camera to this, so that I could animate the empty and the camera would follow the empty’s motion. I’d done this in the wizard’s workshop as an alternative to the follow path. Follow path gave a better result for the workshop; for this it was easier to use a rotating empty.

The camera would stay in one place until just after the ball smashes through the wall. Then, during the slow motion the camera pans around and then stops as the action starts up again.

Once all that was sorted, I added some background details – wallpaper and a skirting board to look like a home. And some sound effects, too. I couldn’t find exactly what they used when Carrie-Anne Moss jumped up and kicked the policeman, so I got something weird from Pixabay, the site I usually use.

Final bullet time video. This one does have sound.

I’m sure Keanu would be pleased.

  1. Or Edward Muggeridge as his mum called him. ↩︎

Comments

Leave a comment