I recently came back from Open Source Days 2012 where I had a lightning talk about a current project of mine.
In short: LaTeX Beamer is a great presentation framework. The only real shortcoming of Beamer is that custom animation is not really something LaTeX was built for as a publication tool. But custom animation is something I often wish I could do when I need to explain something that’s a bit convoluted.
Applications like PowerPoint and Keynote are both out for me, for reasons of platform dependence and closedness. I also have a nagging suspicion that neither really offers the kind of animation freedom I sometimes want.
But as an amateur Blender user, I know that Blender has a very powerful animation system. So I set to work writing scripts that would let Blender take over where Beamer starts tripping over its own feet.
Oh, and before people start taking out the torches and pitchforks, I should point out that when I want to do animation, I’m talking about custom animations intended to explain stuff or make a point. I concur that Obnoxious off-the-shelf transition animations and pointless sliding text are just evil distractions.
Of course, that doesn’t mean that I’m not going to implement standardised transition animations if I feel a bit bored, or have nothing better to do.
Having said that, here’s the OSD slide presentation which features a copious amount of evil, pointless animations to make the point of total animation freedom. Runs in Chrome or Firefox (and theoretically any other browser supporting WebM). Press space or page down to advance. On a few slides you may have to wait a second or two for the animation to show itself. Also, advancing in the middle of an animation is slightly buggy, so try to let the animations finish before you advance:
What follows below is an explanation of what I am actually demonstrating. The first code release of Bleamer will happen when I have fixed outstanding issues in the current code and added a Blender GUI code for interaction with the scripts.
Title slide: Projection. One of the interesting features is the ability to project any element of your slide onto an object (usually a plane) in Blender, thus making it possible to capture anything on your Beamer slide and move it around.
The slide also demonstrates that should you really need it, you have a physics engine at your disposal (in fact, Blender offers several physics engines).
Slide 2: Simple movement.
Adding and moving stuff around is probably the easiest thing you can do. This particular slide took very little time to create.
Slide 3: 3D objects.
Blender is a 3D modelling suite, which means you have access to 3D modelling… Should you find a need for it.
But remember that the addition of 3D objects to your slide also means you should start taking into account effects such as lighting and shadows. You must also consider the use of orthographic vs. perspective camera view. I may add features to make this more manageable in the context of a slide presentation, but this is not a very high priority.
Slide 4: Projection again.
Again, projecting stuff onto objects and moving them around is one of the easier things you can do. In this case, the task was complicated somewhat by the fact that I am using the physics engine for moving the bullet points around.
Slide 5: 3D without lighting.
3D effects can be useful even without lighting, as is demonstrated here.
Slide 6: Animated transparency and adding text in Blender.
Sometimes you will want to add text to a slide within Blender, which is also quite easy. It affords more direct control of the text while working with it in Blender. I may make an effort to dig up the most common Beamer fonts and explicitly include them with Bleamer.
Another thing you may notice here is the use of fading effects. This is simply achieved by animating the transparency of the text.
Slide 7: Objects following paths.
Another potentially useful feature, is the use of modifiers to let objects (text and other stuff) follow and deform along a path.
Slide 8: More objects (now arrows) following paths.
Which gave me the idea for this slide. There are a number of interesting applications for this kind of animation. So again, I may try to simplify the use of this in the context of Bleamer.
Slide 8: Mathtex
Mathtex integration. This is one of the biggies. I have craved the ability to animate mathtex formulae. One of the Bleamer scripts allow the compilation of mathtex formulae directly into Blender, with transparent backgrounds and everything. It’s still not perfect, as every moveable element of a formula still has to be compiled separately. I have an idea of how to fix this, though. And that would truly make the animation of mathtex formulae a breeze.
Slide 9: Garishly overblown usage of the rigid body physics engine.
Need I say more?