This is part two of the “Creating Rolling Credits” series of articles. In this article, we will take the credits page we created in Inkscape, and film it in Blender to result in the scrolling effect.
In part one of the series, we used Inkscape to create a credit roll for animation. During that article, we covered the use of Inkscape, as it has a lot of features that lend themselves quite well to the creation of a structured page like a typical credits roll. In this article, we will insert that image into a Blender scene, and record the credits as the plane the credits are on is moved underneath the Blender camera.
Keep in mind, the credits page does not need to be created in Inkscape; you can use anything you feel comfortable using, so long as the final credits page is in the correct resolution, and in a normal raster format (PNG is recommended). It’s just that Inkscape is better for custom credits rolls because of its alignment and distribution features, as well as the scalability of vector-based graphics.
For the purposes of this article (and render time), we will be using Blender’s classic renderer, rather than its new renderer, Cycles. You don’t have to, but your mileage may vary, and Cycles handles image textures differently than the internal renderer, so you will need to know the differences. Considering that Cycles was introduced in version 2.61 of Blender, it seems reasonable to assume that I’m focusing on the 2.6 series of the software (I’m using 2.63).
Before we begin, let’s remove the cube that comes by default with the scene.
Importing the Credits Roll
Using an Automatic Plugin
Before we begin, let’s make sure an important Blender add-on is enabled: “Import Images as Planes.” It is possible, and not too difficult to do so manually, but we’d have to calculate the image’s aspect ratio, and then apply it to the plane as scale modifiers before we UV Unwrap the plane, and then apply the image to it as a texture… but that’s a bit of work that’s wasted time if we don’t need to do that.
So, we turn to one of Blender’s main benefits: third-party plugins.
To get this plugin turned on in Blender, you first need to go to “File” and “User Preferences…”
Once in the preferences window, click on the “Addons” tab on the top, and what you will see is a window with a pretty big collection of available plugins.
What we want to do here is go to where it says “Import-Export: Import Images as Planes” and check the box on that line. If you don’t want to look through the whole list, typing a term in the search box on the upper-left corner should winnow down the entries to just what you are looking for.
If you don’t see the add-on, make sure that the “Community” button is highlighted on the left. Note that the moment you check the box, the feature is enabled; you don’t need to apply your settings. Go ahead and close the window when you’re done.
Now that we have the appropriate add-on installed, we can simply go to “File,” “Import,” and “Images as Planes,” and once we select the credit roll image, the plane will appear in the scene, resized, mapped, textured, and nearly ready to go.
Side Note: About the Layout
For those who are looking at a single-window Blender layout, and wondering what all this is, allow me to point you to my Blender Interface article. It doesn’t explain what I have here, but it will give you details on customizing the interface to your exact liking, and has some suggestions from me.
If you just want to know what layout I have, the left three panels are Top, Front, and Right, respectively (all orthogonal), and the right two are “UV/Image Editor” and User Perspective view. The orthogonal views allow me to edit an object one dimension at a time, the perspective can give me a general idea of what an object looks like, and the image editor is the default place the render command sticks its results, so I can see what it does, and not have to reselect “3D Editor” or close a new window after every trial render.
If you don’t know how to change your view angles, you might want to check out the “View Angle Adjustment” section of the Creating a Title Sequence article; this should help you navigate the program much more easily, and also gives a basic introduction to modeling and animation in Blender, which will be essential to follow along in this article.
This is not important for this process; I just though it would be nice to explain in case someone is curious.
If you are not able to load the plugin, or if you don’t like the result the plugin provides, you can instead add the plane, resize the plane, and texture the plane. If you are using the plugin, you can skip to “Material Settings” below.
Creating the Plane
The first step is to make sure you have a plane on the scene. This can be done simply by pressing “Add,” “Mesh,” and “Plane.”
Calculating the Plane’s Aspect Ratio
Once the plane is in place, we want to resize it appropriately. Now, this is going to need a little math, because you need to figure out the aspect ratio of the entire credits image. The reason is that Blender calculates scale based on a floating point model, with 0 being infinitely small, 1 being 100%, 2 being 200%, and so on. What we want to determine is how long we need to make the plane in order for its width to remain at its current size without causing the text to look squished.
The image I created last week (with some minor spacing modifications since) was 1920×6161 pixels. As you can see in the above image, they are very squishy, since it’s essentially turned the credits into a 1920×1920 square, scaling down the vertical size of the credits to fit.
So, what we will need to do here is calculate how much taller we want the credits to be. Break out the calculators, and don’t worry, this is the only time we’ll need them. With X as the Blender width, W as the original image width, Y as the Blender height, and H as the original image height, the formula for determining our Blender plane height is as follows:
X = 1; Y = (H/W)
In other words, the plane’s width is always 1, while the plane’s height is equal to the original image’s height divided by the original image’s width. For the example I gave above, The height is roughly 3.2, meaning that the image is 3.2 times as high as it is wide.
Applying the Aspect Ratio
Now that we have the aspect ratio, we need to assign it to the plane. To do this, we need to adjust the “Scale” values in the right-handed sidebar on the main 3D display. If you don’t see the sidebars for the 3D display, you can bring it up by pressing the “+” image on the right-top side of the 3D editor section. Then, making sure we have the plane selected, we apply our calculated value to the “Y” scale. You can leave the “X” and “Z” scales set to 1.
Now, the plane is correctly sized for our credits roll.
Applying the Credits Image to the Plane
Now that the plane is correctly sized, let’s get the credits onto it.
Creating the Material
The first step is to create the material that the credits will be drawn onto. We don’t need to get too deep in here, we just need to create it. Adjustments will come later, since they will apply for both manual and automatic options.
To create the material, we want to, once the plane is selected, go to the “Materials” tab in the properties box, and click the “New” button.
Since any adjustments will come later, we’ll leave further material options for later.
UV Unwrapping the Plane
Before we can apply the texture, we will want to UV unwrap the plane.
UV Unwrapping is the process of flattening a 3D object so that a 2-D texture can be applied to it. I’m sure you’ve seen maps of the Earth, but split up like an orange, so that everything can show in proper scale using the flat surface of the map. In that case, the earth, a sphere, was UV unwrapped onto a flat surface. Another example would be the t-shaped cutouts that you can fold into a box. In that case, a cube is UV unwrapped, and its cut lines are printed on paper.
For those who are curious, UV does not stand for anything; U and V are coordinates on the surface of an object, since X, Y, and Z are coordinates in 3D space. For the purpose of this tutorial, we don’t need to know what they specifically mean (mainly because the math involved is beyond me), but I figured it should help clear up any confusion between the mapping, and my original question (“What does ultraviolet light have to do with flattening a surface?!”).
Now, I agree that UV unwrapping the plane is pretty dumb; I mean, itis a plane; it’s literally the definition of a flat surface. However, the programming for Blender doesn’t distinguish the object type, in order to maintain the internal consistency of Blender’s programming (which I consider more important, since more internal consistency = less general crashyness).
In order to UV unwrap the object, I recommend putting Blender in the UV Editing Screen Layout. At the top, where you see “Default,” go ahead and click the button to the left, and you’ll see several options by default. “UV Editing” should be one of them.
Go ahead and click it, and you’ll notice the layout changes drastically.
Now that you’re in the UV Editing layout, once we make sure the plane is selected, we need to change the 3D mode from “Object Mode” to “Edit Mode.”
Once in edit mode, the plane should get a sort of polka-dot covering, but the key items would be the appearance of the “Mesh Tools” sidebar on the left-hand side of the right section. Three quarters of the way down, you should see a “UV Mapping” group of buttons, including the first one, “Unwrap.”
Once you click “Unwrap,” a menu will appear with more options.
Most of these options are for advanced texture mapping, and not needed for our basic use, so just click on “Unwrap.” You’ll then notice that the image field on the left will gain an orange outline.
At the bottom of the section is an “Image” menu. Select that and “Open Image” and you can choose your credit roll image. Once opened, the credit roll should appear in the viewing area immediately.
On the bottom, to the right side of the left toolbar, you should see a checkered globe with the word “UVMap.” This is the name of the texture mapping. You can rename it to “Credit Roll” if you want, or you can leave it as UVMap. We’ll just leave it, but I thought you might like to know about it.
NOTE: Naming Practices
Everything in Blender can be named and recalled; textures, materials, objects, lamps, cameras, maps, and even selections. These can be recalled when a specific tool, plugin, or feature makes use of them. In simple jobs, you don’t need to worry about naming your changes as much, but in larger projects, this will greatly simplify the work, since you can then select your prior edits from menus. Starting now will help you establish good habits when you do start with larger projects in Blender.
For this tutorial, though, I will continue to use the name “UVMap” just to keep things clear for the beginner.
Applying the Texture
The UV Mapping did not apply the texture. It is there solely for creating the “placement rules” for that texture. This is to prevent the texture from being too far to the left or right, or wrapping in the wrong place. This also allows you to adjust the textures of 3D objects to that drawn seams match the object’s actual seams.
If you want to adjust the mapping, you can move the vertexes (corners) of the plane by right-clicking one of them, and then dragging it to its new location. Since we made the credits roll to scale in Inkscape, we should not need any adjustments here, so we can safely just return to the “Default” layout.
Once in the default layout, and once we’ve ensured that the plane is selected, we can then go to the “Textures” tab of the properties. This is where the credits get placed on the plane.
Once we click “New,” a new default texture will be added to the stack.
You can have multiple textures per material; the one on the top is applied first, and each one added to the list is then applied over its predecessor. However, this is not needed for this tutorial, although it can be used to great effect is applying overlays to your textures.
Under the Texture box, you’ll see a texture type; by default, it is set to “Clouds.” In this case, we want to change the texture to “Image or Movie,” as the texture we will be applying is, in fact, an image.
Once we have the appropriate texture type, all the associated options will appear under the preview. The next option we will want to add is the file containing the image we want to add, which is the credits roll image we made.
But here’s a shortcut. We don’t need to browse for the image, because we already loaded it in the program once. Blender, you see, will retain links to all the “named” elements it learned, and that includes any image files you loaded elsewhere, including the UV editor we originally opened the image in.
So, what we want to do is click the image icon next to “+ New” under the “Image” heading in order to select the filename of our credits roll. In this case, I used “Credit Roll.png”. Yeah, I know, not very original.
Now, let’s go down to the texture properties section, “Mapping.”
Now, remember why I said that UV Unwrapping and mapping was so important? Here is where we tell the texture exactly where it should place the picture on the plane’s surface.
In mapping, we need to change the coordinates from “Generated” to “UV”. Then, a new line will appear with a familiar checkered ball icon in it. We want to put our UV Map (however it’s named) in there; by clicking in the box, it will open a drop-down list for us to select our map from.
Congratulations! You have just done, by hand, everything that the “Import-Export: Import Images as Planes” add-on does automatically. Get yourself a coffee, you’ve earned it!
At this point, you’ll notice that the plane requires external lighting, and is very glossy. The traditional black film credits roll does not have these, as the credits themselves remain the same brightness, and no hint of a reflection can be seen. So, what we need to do next is turn the credits plane into a self-lighting object with no lights.
In the material properties, there are three options we need to alter: Diffuse, Specular, and Shading.
When light hits an object, part of that light is absorbed, and the rest is scattered about. This is why you can see things even if the light isn’t going directly into your eyes, and why they have color. Keep in mind that using a diffuse value with a light source can be used with good effect when you want uneven lighting in the credits that follows the view rather than the credit roll.
For this article, we’ll keep the credits evenly lit, so we’ll set the diffuse intensity to zero.
When you see the reflection of a light source in an object, it is considered “Specular.” Unlike diffuse light, specular only shows as a direct reflection of a light source, rather than the diffused light caused by an object’s body. For most rendered scenes, the specular is what causes a glossy look to things.
This is also not desired for the current credits roll, so we turn specular intensity to zero.
Shading may not seem like much, but in Blender, this section not only determines how much light gets blocked by an object, but it also determines if the object emits any light of its own.
In this case, setting the plane as an emitter ensures that the credits are evenly-lit, and picked up by the camera; the plane pretty much acts like a photographer’s light table, and all parts of the texture that has non-black colors technically let some light “through” as if they were transparent.
Because of this, we want to set the “Emit” value of the plane to 1.
In the end, our settings should look like this:
We now want to adjust the world environment; since this is a black credit scroll, we want the scene’s own background to also be black, so no seams can be seen while the credit roll’s edge is onscreen (such as when we want the Credits title to roll in from offscreen).
This is a single, painless adjustment. In the world settings, we just need to change the “Horizon Color” to black, to match the page’s backdrop color.
Initial Keyframe Placement
The plane is now ready for it’s close-up.
Setting the Initial Keyframe
The first thing we want to do with this clip is bring the animation to the starting keyframe. If this is part of a larger project, at the end of which the credits are supposed to roll, this first keyframe should be set to the first frame after the rest of the project is completed. Since we are just doing a demonstration, we’ll go ahead and set the initial keyframe to 1 and put the playback indicator to 0.
Unless you’ve changed it previously from the initial Blender setup, it should already be set this way, and we shouldn’t need to make any changes.
We will also want to change the end frame. I tend to prefer 30 frames per second, and 30 seconds should be more than enough for the credits to scroll, so we’ll set the end to 900 (30×30).
Positioning the Camera
In order to create the first frame, we need to first create and place a camera. We could move the existing camera and then rotate it to fit, but that seems like a lot of work for placing a camera, so we’ll just remove and re-create the camera.
So, we’ll just right-click on the camera to select it and then press the “x” or “Delete” keys on the keyboard.
While we’re at it, we’ll also remove any light sources in the scene. We won’t need them.
Once done, the only thing that should be on our scene is the plane with our credits on it. Now, we want to move the 3D cursor (the red and white circle with black crosshairs) to a location directly above the plane. To place the 3D cursor, you simply need to left-click on the spot in at least two angles; this will ensure it is properly located.
A good way to ensure that the 3D cursor is centered on the scene is to adjust the values manually using the right sidebar.
Now, assuming that the plane with the credits was never moved, this will put the 3D cursor directly over the center of the plane.
Next, we go to “Add,” and “Camera.” The camera will be created, by default, pointing directly down, which is good, since that’s the direction the credits are. It is even viewing them in such a way that the credits are properly positioned and right-side up. However, the credits are somewhat smaller than we want.
Still, small or not, it’s looking pretty good, wouldn’t you say?
Still, let’s bring the camera closer to the plane. If you have the viewfinder described above, you should move the mouse over it right now and press the keypad zero key; this will ensure the viewfinder is seeing a camera’s eye view of the scene.
Once you have the viewfinder set to the camera, you’ll notice that the plane is very narrow, and at the wrong position. We’ll start by lowering the camera until the edges of the planejust barely touch the left and right edges of the camera view. Since the background’s color matches the plane’s backdrop color, you won’t see any edges, but this will ensure everything in the plane will be visible to the camera during the rolling.
To move the camera down, use the “1″ or “3″ numeric keypad views on the main 3D editor window, and drag the blue arrow down toward the green or red line. Watch the viewfinder while you’re doing this to know when to stop.
Note the viewfinder on the upper-right hand corner of the entire window; the plane’s edges are just inside the camera’s orange border. This is what we want.
In case you’re wondering, the upper-right image, with the credits in it, was a test render done before the last image; it does not update in realtime. Once I completed the movement and re-rendered the image, it looks more like this:
The camera is now ready, let’s move the credits to where we want them to start.
Positioning the Credits Plane
Now that the initial keyframe is prepared, and the camera is in place, it’s time to place the credits plane for the first frame.
We want to move the credits plane to the point where its top edge is just underneath the camera border. We will select the plane, and then, using the “7″ key on the numeric keypad (top view), we will then drag the green arrow to move the plane, watching the viewfinder to make sure it’s just underneath the bottom border.
The credits plane is now ready to scroll. Before we do anything else though, we want to lock this plane’s position, so that it will be recorded as a “keyframe” in frame 1.
Press “I” (for insert keyframe), and a menu will appear.
We don’t need to set anything but the location of the plane, because that’s all that will change. So, select the Location option. If we did it correctly, a yellow bar will appear at the current frame location. In the image below, I moved the current frame, so the keyframe line will be more easily seen.
Now, the plane is locked in its initial position, ready to proceed to the end.
Final Keyframe Placement
Once the initial keyframe is ready, we only need to choose the last keyframe and move the plane to its endpoint.
Choosing the Final Animation Keyframe
Sometimes, the last keyframe is exactly that, the last keyframe. However, a lot of credit rolls will stop the credits at a specific point (usually with the producer’s information solely on the screen), and hover there for a specified period of time. In our case, we’ll set the final keyframe to 750, which means the credits will scroll for 25 seconds, and then stop at the final position and sit there for 5 more seconds.
To do this, we need to move the current frame to 750.
Now that the final animation frame is selected, we’ll select the credits plane again, and this time, drag it to the desired location. This is where having a dedicated render viewer is useful, because not even the viewfinder will show us the texture of the plane, which is what we want to align against.
So, we will drag the plane up, re-locking it (i and then “Location”) and keep test-rendering the image (which will render only the current frame) until the credits in the test render looks like what we want them to look like.
We need to keep re-locking the plane as we test the new position, because if we do not re-lock the plane to its current location, the test render will reset the plane’s location to the last place we locked it.
After a few tries, you should have it properly positioned in the last frame.
Setting Animation Curves
At this point, you should be able to set the render options and begin the process of rendering the entire animation. However, you might see that the credits will show inertia, meaning that they will start slowly, speed up, and then slow down once the end approaches.
We want the credits to scroll at a set speed, and stop immediately at the end. We don’t want inertia in this, so we need to edit the animation curve of the plane.
The Animation Layout
Blender is useful, in that it has several layouts for different tasks, which are all accessible by the drop-down at the top, just to the right of the “Help” menu. From startup, it is set to “Default,” but now, we want to go into “Animate,” so we have access to the bulk of Blender’s animation tools.
Note the middle pane on the left side. This is the F-Curve editor, and each curve controls a specific aspect of an animated object. At this point, there is only one curve, and that curve is associated with the Y axis position of the plane.
The F-Curve view shows a value of a specific aspect (location, rotation, scale) of a specific axis (X, Y, and Z) that change over time. The vertical numbers are the values of the axes, while the horizontal bar measures time in frames.
When dragging the edges of the scroll bar at the bottom so they fill the space, we end up looking at the entire curve’s timeframe in the editor.
The middle line is pretty much the X and Z values, both at 0, and not changing, while Y is starting at around -4, slowly curves upwards, and then slowly curves back at near +3. This is what causes the inertia in the motion, and so we want to remove that inertia.
Those orange bars are handles; they determine the length of the curve; the longer the handle, the wider the curve. We want to remove them altogether, so we want to drag them back to their origin point (using the right mouse button).
Once the handles have been returned to their origin points, the curves should become angles.
Now, when the credits begin rendering, they will immediately begin scrolling, immediately stop scrolling, and not speed up or slow down, making the scroll speed consistent.
Now, we just need to render this bad boy.
The render can be performed from any layout, but I prefer my default screen layout (the 5-pane layout). Regardless of where you go, you should have access, on the right, to the properties panel. In that panel, you will want to go to the render options (the camera tab).
Setting the Resolution
The first thing we want to do is set the final resolution. It is recommended that the resolution is close to, but does not exceed, the resolution of the original credit roll image we created. In my case, I’m going to set the render resolution to 1280×720 (720p). I could go all the way to 1080p, but the render time would be significant for a mere example.
We also want to set the frame rate. I’ve set the number of frames based on 30 frames per second, so we’ll stick with that plan, but you can use 25 FPS, or even go for a custom frame rate of 25 FPS and 1.001 “/” (this is the recipe for 24.98 fps).
The resolution and the frame rate are set in the “Dimensions” section of the render properties. I usually prefer to choose from the presets first, and then modify the frame rate afterwards, so in this case, we’ll choose the “HDTV 720p” preset, and then up the frame rate from 24 to 30.
Location and Name of File
The next step is to pick a location and filename for the rendered video.
To do this, we go down to the “Output” section of the render options. We can type the name of the file in the box, or you can use the folder control to browse to the desired location.
Either way, don’t give the filename an extension; Blender will do this automatically by default, unless you uncheck “File Extensions.”
Video Format and Compression
Once the video file is named, we now need to select what kind of video file we’ll be using. Under the filename field, there is a dropdown to choose the video format. This only chooses a preset, and doesn’t affect the final composition of the file. It does, however, show the Encoding section of the render properties, which we can use to decide the final filetype.
It’s pretty dumb, but at least it’s a way to get what we want. We’ll just use Xvid to begin with.
Now, we should see “Encoding” appear under the Output section.
With this, we can now choose the container and video formats of our choice. For the working format, I tend to recommend a lossless video format if high definition is intended at any point of the product’s release. A good pairing would be Matroska and HuffYUV. Then set the desired bitrate, buffer, and so on and so forth. Since we’re just rendering an animation, sound is not necessary, although if you choose to add a music track to the Blender VSE, you can choose an audio codec, such as FLAC or WAV (lossless, remember). If it’s just a quick render for YouTube, then anything is fine, perhaps you might want to use Flash video (with MP3).
For the sake of demonstration, we’ll just use Flash; this example is going to be placed on YouTube, so anything else would be overkill.
Now, all we need to to is go back up to the top of the render properties, press the big “Animation” button (under “Render”), and wait until the render is complete. This can take several time, anywhere from several minutes, to an hour or so, depending entirely on the power of your hardware.
Once the render is complete, Blender will append the first and last frames to the end of the filename, as well as the file extension; in the case of the example (which was called “Tutorial-”), it became “Tutorial-0001-0900.flv”
During this article, we covered the use of Blender to scroll a credit roll into a standard video clip to be used as part of a larger production. In future articles, we will cover the creation and application of composite credit rolls (which can be merged into another video clip using chroma key techniques), as well as visual tricks such as edge fade, edge distortion, and fog effects. We will also add an article outlining the steps necessary to assemble the same project using the Cycles renderer, rather than the Blender internal renderer.
I hope you find these articles useful in creating your own credits rolls, and keep in mind that you don’t have to limit the creation to just credit rolls; you can also apply these techniques to any situation where a flat page of information is applied to a scene.