This is the completed Petunia video made to announce the 2007 Blender Conference Suzanne awards.
Find out more about the conference and awards, and download the HD version of the video here
If you want to download the little robot model and play with him yourself, go visit: www.projectpetunia.org
On a personal note
I want to say thank you to everyone who contributed.
The Petunia model was downloaded by over 800 people and I received 24 animations from the community.
I used all of them and I hope everyone is somewhat happy with the result.
Though of course it’s not possible to make everyone completely happy with a project like this.
I want to especially thank Jun Yamadera, CEO of Eyes, JAPAN, for getting me a special bundle of motion capture data.
I won’t thank everyone individually here, but if you helped… thank you a lot!
Chris Cherret (ccherrett)
Antong, Djarielm, Fabrixxm, Fweeb, Mabb, Mfoxdogg, Migius, Nathan Dunlap, Pierre Bizotto, Pildanovak, Pixelsage, Samf, Shul, Sketchy, Wizard, Wuming, Yunow
Dolf J. Veenvliet (macouno)
About the process
For those interested in how it was done, these are basicly the steps taken to make it work.
1. Getting the video
Chris was kind enough to go out twice to record some high definition video with his camera. The first shot he recorded was done at the Badlands in Canada. I sent him there cause I found it on a map of his area and it sounds too cool to pass up “badlands”, but I made him reshoot, cause we needed something different. At least he got an interesting camping trip out of it. So he put his wife on a cart and pushed her along a path in the nearby woods.
The original video was 6 minutes long and a bit slow, so we made the rather drastic desicion to convert the video to a sequence of png’s and ditch all the odd frames (doubling the speed). I wrote a little python script to delete those images and rename the remaining ones.
2. Tracking the video
Calvin was kind enough to volunteer his tracking service. He used Icarus for the tracking job, which worked rather well. Pretty soon we found out that really no one is crazy enough to try to track something as long as we were. Most movie shots are only a couple of seconds and here we were trying to track a piece that was over 2 minutes.
Calvin’s computer got slower and slower the further down the track it got, and we decided to basicly just use the largest ammount his system could handle…. 2800 frames in our case. Luckily that was pretty close to the end result we were looking for.
I have to say he did an amazing job! Most professional companies wouldn’t even consider it.
3. Adapting the track for use in blender
Here you can see the blend file that was the result of importing the tracking data. There are lots and lots of points generated by icarus and the camera follows the motion of the real camera in the video.
One of the interesting bugs we found was that in the real path at a certain point it dips down somewhat. But Icarus didn’t really understand that, so in stead of dipping the track it made the path smaller. So if you look closely at the end result, you can see that the robots at the end of the video are bigger than those at the start!!!
To make the track usable I had to make a floor plane for the robots to stand on, and I could just use the dots to create that.
We didn’t need a lot of masking except for the insides of the corners. So I could use the points at the sides to make a mesh there as well. Campbell Barton was kind enough to give me a copy of an old skinning script he had for that.
So the final scene looked something like this.
You can see I made a blue mesh (shadow only material) for the actual path and the grey greenish meshes are there to make sure you can’t see around a corner before the camera should be allowed to see down the path that far.
4. Putting Petunia in the scene
I got some great tips from the community for this. I basicly did the following. I took the file with the track in it and linked in my original petunia robot. Then made an empty with a dupligroup using all the robot data. When I then also linked the action that people submitted I could use the NLA to target the dupligrouped bot with the action. So in the final file I could just move that empty anywhere to place the bot.
You can also see I only used a small patch of ground. This because I wanted to use raytracing. And if I would have used the entire path it would have messed up the octree and made the render slow as heck.
5. Rendering and compositing
You can see the basic composit in Vegas Video above. I rendered each petunia model out to a sequence of png images with an alpha channel which I then imported and overlayed on the background video. I tried using blender for this, but adding this many alpha over effects would have been a bit nasty.
After this composit I used the Deshaker plugin in Virtualdub to make the video a bit less wobbly.
6. The final result
After I had the final composit I played with heaps of filters and ended up with something that gave me the idea for the oval mask. Some people told me they thought the idea was that you as a viewer are a bot as well. But really I just added it cause I thought it looked rather funky.
The original video was a standard 16 * 9 widescreen but I changed it to a 2.35 widescreen movie format because I liked the look of it better. And it only seemed natural since we were already using a 24fps movie frame rate.
I also used a color gradient overlay that Ian Hubert gave me (Now known as the Hubert Gradient)… thanks for that Ian!
7. Lessons learned
Here is a list of things we learned on this project.
1. Don’t try to motion track too long a video
2. Get a steadycam
3. See if you can find a location with a lot of hard/flat sufaces… masking out bushes is harder than walls!
4. If you’re using mocap find some clean data…. cleaning it by hand is currently pretty tough.
5. Pay a lot of attention to whether your scene is optimised for the octree (don’t have raytracing objects in the distance when you don’t have to)
6. Always be sure to fix the roll of your bones in edit mode, not in pose mode!
7. Don’t add constraints/limits to a rig unless you really really have to.
9. Working with a “community” is great fun, and really rewarding!!!