Sep 9th, 2009 by admin
I’ve been coming across (and answering) some interesting questions on the forums lately, and I thought it would be a nice idea to reprint certain ones here to give them a larger audience.
Today’s came from Stefan Andersson at the cgsociety.com Blender forum:
“I have a sequence which I have in my background. I would like to ‘playblast’ with my animation. Right now the image background isn’t included in the viewport capture. I’ve also tried adding the sequence as a image on a plane, but the sequence doesn’t update in the 3d viewport.”
What he’s referring to as “playblast” is the Maya term for the kind of OpenGL “rendering” we do all the time for animation testing. In other words, Ctrl-LMB clicking on the Render icon on the 3D view header, which quickly generates an animation from the current view settings that can be watched in real time.
It seemed like this should a no-brainer — either add a View-mapped image in the world or a backbuffer and you’re done. Not so, as I found when I tried it. The OpenGL “renderer” doesn’t recognize either technique. There is a way to do it, however:
- Create a plane, size it to exactly fill the camera space, and make it the child of the camera.
- Bring up the UV Editor. TAB into Edit Mode on the plane. Unwrap (or Project from View->Bounds if you’re straight on) it so it fills the UV space.
- In the UV Editor, use choose Image->Open from the header menu. Select your video file or the first image of your sequence.
- Press the N-key to bring up Image Properties. Enable “Auto Refresh.” If you’ve brought in an image sequence, adjust the settings so that as you move Blender’s master frame counter the image in the UV Editor changes too.
- Back in the 3D view, TAB out of Edit Mode.
- Change the viewport draw mode to “Textured”
The image should now show on the plane in the 3D view. Changing the frame will NOT update the image on the plane in the 3D, but don’t worry. Go into your camera view and Ctrl-LMB the OpenGL “render” button. The image will successfully update in the OpenGL render.
And…. we’re done.