Help creating a 'time-bar'?

(Oops. Accidentally posted this in the wrong place the first time around, I think. Though it’s not showing up, so who the hell knows.)

I’m currently trying to use Blender as a free alternative to After Effects or something like that. I don’t actually know entirely what After Effects does, but I know I want something free.

Ultimately, I’d like to emulate (with my own touch) a lot of the (I’m sure very simple) effects seen in the first sixteen seconds of this video. I have footage similar to what’s running in the background there, but I haven’t even gotten as far as cutting that down and working on it OR working on any of those effects.

I’m still stuck/stumped with Blender and a simple visual effect I’d like to add to my very first video.

My very first video has a significant amount of time (20+ minutes) that I’d like to cut out, but I’d like it to be really obvious how much time I’m cutting out. (I’d also like to add a ‘corrupt video file’ effect to each time cut, but that’ll come last I think.)

So, I thought I’d add a vertical line along the top with marks along it similar to a ruler, with a pointer running along that line from left to right over the course of the whole video. The idea being that for the chunks I cut out, the pointer ‘jumps forward’ along the line, indicating about how much time has been skipped over.

My assumption is that I’d want to render out 300 frames or so (at 30fps) of PNGs of the time-bar, and then later overlay that on top of the video, stretch out the entire animation over that video, then cut out chunks that need to be cut out, thus (I’m assuming) creating the effect of a time-bar showing the progression (and loss) of time.

So far I’ve managed to create two planes, one for the bar, one for the pointer.

I’ve managed to figure out how to do the (very simple, I’m sure) animation of the smaller plane sliding along the larger one.

I’ve figured out how to make the planes Shadeless and apply textures to them (which I struggled to make in Inkscape, eventually resorting to a script to generate the ‘Scale’, as 70+ individual lines drawn and positioned by hand was not something I wanted to do, though the simple triangle was easy).

The problem is that the textures are blurry as hell. The things I’ve managed to find about possible reasons for this suggest that either I’m creating the file in the wrong dimensions and stretching it weirdly over the plane (I doubt this, as I intentionally created both at the same aspect ratios) OR that the lines in Inkscape aren’t lined up with the grid, so parts of the strokes of the lines don’t line up perfectly with pixels, hence I’m getting dithering (or whatever the phrase is).

I can’t honestly tell which is the actual problem or if it’s something else.

So instead I tried importing the SVG file directly into Blender, which resulted in something that looked mostly right, except the lines themselves are so thin that I’m not sure they’d even render. Plus I can’t think of how to color them without making a 1-pixel texture to apply to them, not that I’m sure that’d work since they’re not planes, they’re ‘curves’, whatever that means.

So I’m looking for any suggestions, ideas, etc. Am I going about this all wrong? Is there a better/easier way to do what I’m trying to do? I’ve tried sitting through about an hour or so of tutorials, but they’re all focused on 3D modelling which isn’t what I’m trying to do, or video editing itself, which I haven’t gotten to yet.

Here’s a shot of what I’ve accomplished, sort’ve. The grey/red background is just a screenshot I’m using as a reference guide, the bit I’m working on is the white/black lines at the top left.

They’re probably overlapping each other and Blender doesn’t know which surface it should render, resulting to artifacts in a small scale. It’s called Z-fighting.

Could offset them along Z and use orthographic camera to render them.

I’m not actually having a z-fighting issue (yet), but more of a blurry texture issue.

That said, your video (if I slow it waaaay down and try to follow along with what you’re doing) is probably the superior method compared to anything I’ve tried so far.

Thank you.

I just wish I Blender explained what each keystroke did as you hit it, since I’ll essentially be following along rote and learning less because of it.

Is what I’m trying to do the right thing to do for overlaying a timeline on a video? Render out 300 images, make an animation/gif/video from it, then composite(?) it on top of my actual video clip?

The video is not meant to be followed exactly. Shows one way of making it by using curves, use of modifiers, offset along Z, rendering with a transparent background. Could as well do those as mesh, or in inkscape and import to Blender. Or could even start from a raster program by making masks, easily trace those in inkscape and then import to Blender.

Blurriness could be caused by having too few pixels for small detail and anti-aliasing (AA) result getting saved on those. Or if you have the image as an actual material assigned texture on geometry, it might be caused by mipmapping and interpolation in texture settings.

Yes, composite over the video, but it’s easier if you render out to image frames (image sequence) and each having transparent background. A .png sequence would be suitable. That way you don’t lose quality by encoding to lossy format first, and it’s easy to have alpha transparent background so that the video shows through (alpha over blending mode). The image sequence is handled as one strip, just like one image or a movie clip is handled.

Blender doesn’t support .gif format.

Could also render the elements separately. Using render layers is a way to make that separation but could also just render one frame which contains the timeline, then an image sequence that contains the moving part, and composite both on top of the video.

Blender can handle rendering and post-processing steps sequentially. The order is scene render -> compositor -> video sequence editor, if you have them all enabled. Could also just render the scene to image files and separate rendering from post-processing, which is a recommended way of doing it. Any change would require rendering again otherwise.

Whenever you render the scene, never render directly to a video file. The file could corrupt because of encoding error, or the render could crash and would have to start all over again. Rendering to image frames saves all frames rendered as far it gets without crashing or you stopping the render and can start the render on the frame it stopped.

You managed to create exactly what I was looking for in a design that avoids every problem I have had or can foresee. I’ll be following the video as closely as I can (minus the red box), honestly, because it’s perfect. I’ll learn some along the way, I just wish there was a way to see what keys did what ahead of time.

And just so I know I’m understanding you, you’re saying render out the 300 images and it’s ‘easy’ to put all 300 of them in a timeline above my 60+ minute video, and it’s entirely possible to have it act exactly like they were a video, all without rendering them as a video?

As far as the final video result… Render it as images and the altered sound track? I’m assuming at that point I’d need to use another program (virtualdub, maybe?) to combine the images and audio back together again?

Yes. Although only 300 frame timeline animation stretched across 60 minute video might not look good. If the video is 24fps, it has 60min60sec24fps = 86400 frames, so 300 frame timeline animation would have movement once in every 86400frames/300frames/24fps = 12 seconds.

If the effect is visually simple, the most efficient way of rendering that is to render the timeline background, then the slider on top as separate image, and keyframe the slider movement in video editing. That would be two separate images, another set to move on the other in a video editor. Could of course create those two images in an image editor instead of Blender.

For example:

I’m using some hotkeys in video sequencer:

  • H to hide, alt+H to unhide

  • Home key to fit strips to frame, numpad_decimal to view selected

  • Shift+S to snap end handles

  • shift+left/right arrow to go to first/last frame
    Which are equivalent keys available in the 3D view.

  • E on the timeline to set end keyframe

But yes, I’m saying it’s easy to handle the set of frames (image sequence).



Image sequence on top of video in Blender video sequence editor. The whole sequence is one strip and is currently showing frame 12, which corresponds to file 0012.png. When the frame changes to next one, it will pick 0013.png and so on.


Image sequence on top of video in Kdenlive.

The final will be rendered in a video file.