Creating an old tv intro

Hello everyone,

here is a new tutorial from Blender Education on creating an old tv intro.

This is what we will create:

And this is part 1 of the tutorial where I explain how to create the middle part of the trailer.

Part two will be there shortly.

As always: all comments, remarks and tips are welcome. If anyone would do it differently, please share as well.

I like it so far :slight_smile:

Following this.

So, here it is: part 2 of the tutorial:

00:00 Introduction
Creating the intro:
01:56 Horizontal deformation using blend texture
07:55 Vertical scrolling
Creating the outro:
16:12 Scaling down
20:00 Glaring cross at the end
27:02 Timing using the dopesheet

If you like this, then you should also check out the blog:

Or follow us on facebook, twitter, google plus, youtube, tumblror pinterest
And don’t forget to check out our website:


Great tutorial. Very inspirational and a great introduction to the compositor. I am having a little problem that I cannot get over; I created an HD text for the tutorial with Photoshop and I exported it as JPG. At the moment of mixing up the lines texture and the image I get a most weird result: the first line of the text appears on top of the lines textures (as expected), whereas the second line appears behind; if I invert the noodles reaching the add mix node, I get the other line behind. This is really weird since the image is a flat JPEG. Can you imagine why this could be happening?

Can anybody help?

Post the .blend file.

Most likely you just have the order wrong which should be easy to fix.

Remember to pack the files before uploading.

Dear septruiz,

The only thing that strikes me as weird is that the result would change if you change the order in the add node (because the factor is 1).

The point is that you should not interprete the add node as putting two layers over each other. Instead, you have to see it as adding two numbers. Each pixel in your image has a RGB value. The add color node creates a new pixel by just summing up the values of the same pixels in the two inputs.

This means, for your first line of text, which is white and thus has an rgb value of 255,255,255 (the maximum), adding something up doesn’t matter. Because you already have pure white. The order of adding up shouldn’t matter: 2+3 = 3+2, right?

The second line is blue (0,0,255). Adding the gray lines (100,100,100) would result in (100,100,355). Now 355 is to high and blender can’t show that, so he shows 255 instead (if you select the clamp option, he will actually change the value instead of just showing it differently), so here the lines do have an effect.

In my case, I have the same effect, however, I changed the factor to 0.1. This will change the second input (so now the order does matter) and (100,100,100) becomes (10,10,10), adding it up with the blue: (10,10,265). The difference with (0,0,255) is so subtle you hardly see it and that is why I left it the way it was.

Something you can do if this effect keeps bothering you is creating a mask: add a less than node and set the value of the second input very low (almost 0). The first input should be the raw text image. The result of this will be a black and white image with only your text black and the rest white. Feed this into the factor amount of the add node (with the lines as second input). The lines will now be multiplied with the values of the mask (black = zero where the text is and white everywhere else). Adding a multiply node between the less than node and the add node will allow you to controle the factor of the lines again.

Does this help?

Regards Nick

PSI: Only read this once you understand the above: I used 255 for white in my explenation, but usually Blender will rescale that between 0 and 1, which is easier to calculate with. In this case, blue would be (0,0,1). It is the same, just using a different scale, but it is perhaps better to think of colors between 0 and 1.

PSII: If you ever do want to combine two images as if with layers like in photoshop, there is the alpha over node. Just make sure that the top image has an alpha layer or you won’t see the bottom one.

Hi Nick,

Thank you for your incredible answer. I never saw it that way: the addition of two numbers; put like that it seems so simple! In fact, when it comes to compositing, I found very little information on this level: what is going on behind the scenes?. I will think about it and play with it to see the different possibilities of changing the factor and get back to you.

Also, as DCBloodHound requested, please find attached the blend file, before I start playing with it (one never knows what one can break :yes: ). I have packed the external file, as suggested.OldTVIntro_part01.blend (606 KB). Note: this is the first time I upload an attachment; I hope it works fine.

Thank you very much to both for your help; you guys are amazing.


Hey Nick,

I thought I’d let you know that i have tried your instructions with complete success. I have added the less than node controlled by the multiply.

I achieved the result, but- as you can see- I had to have two noodles out of the Image Node; this is the only way I could figure out how to follow your instructions; is that OK? it seems a bit weird to me but it appears to be working in this case. Other than that, the mask works perfectly, and thanks to your in-detail explanation, I understand exactly what is going on. It was amazing to learn that the add node does not behave like Photoshop layers (you guessed my error) but just adding the colors numbers! (the 0 to 1 range makes perfect sense now).

As a side note, just commenting that I completed the rest of the tutorial without an issue.

I would like to close by saying that with such a high-octane tutorial and excelsior follow up, this is true Blender Education.


Dear Septruiz,

Thank you for the kind words.

About the double output: this is indeed what you should do and it is not rare at all. The rules for the node editor are simple: only one can come in, but more can come out. it is all about avoiding ambiguity.

If you would be able to put 2 things into the same input socket of one node, then Blender wouldn’t know what to do. That is why there is the color mix node, to tell Blender exactly how to combine two images.
But when going out, Blender will just make a copy of that same output and feed the two copies into the different nodes. No ambiguity at all. I think I actually do this a couple of times in the tutorials as well. e.g. when I add the vignet effect. Or when I use the blur nodes to soften the letters.

Anyway, very nice result you have there. I haven’t done many tutorials yet, but I am very proud to see that someone followed them as you did and learned from them. Thank you for the inspiration.


Hey Nick,

One last question to close this thread (I hope I am not abusing your kindness).

I have completed the second tutorial, getting a great intro & outro (I really love the result, and how configurable the whole thing is); everything works great … with the static image. I am at the stage of compositing the two exercises together and I thought a good solution would be making a node-group of the complete node configuration in exercise 1 and then link it from intro-outro animation file.

What do you think of this solution? That will make the full composite so much more readable and less error prone (rather than recreate the node configuration in the second file); I can see the advantages of working in modules for really complex node configurations. Please let me know your thoughts on this topic if you get a minute.

Thank you very much for this excellent tutorial and all your help. I will certainly keep Blender Education in the radar from now on.



(Shrug …) My folks had a black-and-white TV … my grandpa had (tahh, dahhh!!!) “color.” There were three channels available on a good day. And I didn’t spend much time watching the thing, even then. (I don’t even own a TV, today.)


I think your solution will work excellently! in helps indeed to keep the node tree under controle. Originally I did it all in one go, so that is why for me, everything was just put together in one large node tree. But when you did the two tutorials in two seperat files, then including or appending such a node group makes absolutely sense.

by the way, you can also use frames in the node editor and give the colors and names in the pannel on the right hand side (called with the n-key). You can even use the grease pencil (hold d while you draw) to write text next to parts of the node tree (as I did in the tutorial). In this way, you can write comments, just as you would do for code.

I’m glad you will keep an eye on Blender Education. We still need motivated students, so feel free to send us an email and you can still join the site. Soon we might even open it up all together, so that you can register all by yourself. I also think you will be enthousiast about our next phase which we will start developing soon. Stay tuned.

And sorry for the late response, I am currently on holidays. Enyoing the mountains of Austria.

Oh, and this thread doesn’t need to be closed, if anyone else has troubles, feel free to post something here.

Don’t worry, your not missing that much. In Belgium, the number of channels tripled in the last 5 years, but in the end I’m watching even less of them. It is not like there is anything usefull on them. Furthermore, I notice that tv makes you lazy and you wast time that you could be spending on Blender :slight_smile: .

one more thing: when importing the node group, you might have to redefine the textures in the properties panel. Be sure to use the same name.

Hey Nick,

Thank you very much for answering at all (being on holidays!). The mountains of Austria! wow!

I did it all into a single node circuit and worked without an issue.

However, when I appended the group from file1 into that of file2, everything imported fine, except for the animation. The funny thing is that when I go to the Outliner, I can find the action in question actually imported under Datablocks>Actions, as expected; it seems that they are not associated with with the right user. I tested this further by creating a simple file with an even simpler animation and I appended it to another file with the same result: the action is imported, but not associated to the right user. I am not sure if this is a blender problem or rather I am missing some configuration. I put the issue into Blender XChange, and one the the nice dudes is working on it (; he suggested to import the whole scene; and that actually works, but it is not an optimal solution. He is looking for another solution. If this is in fact a blender issue, it is a big problem; but I am not sure.

Have you encountered this problem before? ​Please give me your thoughts … after you return from holidays :-).

Thank you for your invitation to Blender Education; I will send you guys an email over the weekend.

Thank you

Have fun.


Dear Sept,

I did a quick try where I grouped my entire node tree of the first part into one big node group. I opend a brand new Blender file and appended the group node from the first part. But everything works fine for me. The animation (the vertical roling of the stripes) works just fine.

Furthermore, the graph editor looks fine, the node editor looks fine. For me it works.

Did I understand wrong?
I have never encoutered this problem before, but I haven’t appended much yet.

If the problem persist, could you post your Blend file? Is it also not possible to reconnect the action to the correct user?

Regards Nick

Hi Nick,

Thank you for your prompt response. Sorry about my slight delay (I was waiting for an answer from Blender Stack Exchange, to add more to the discussion, but none came yet).

I re-did everything while I waited (I guess I could do the exercise now blindfolded :yes:), and now once I appended the animation, it works (I was amazed at that), but the “native” animation has disappeared; I am in the process of re-doing the second animation manually and I hope everything will work (I already have a single file version that works, but I have to confess that I am quite interested in the problem). It surprised me that you could not reproduce the problem, but I cannot reproduce it now either.

I have a theory, maybe the problem lies with the order in which the operations are performed; originally, I created the whole second file first (using the placeholder photo) and then I appended the lines animation; result: external animation imported, but not attached to any user. Whereas this time around I appended first the lines animation, I connected it to the circuit and then worked along the in-out animation; and the result of this is the file that I attach (below, the external animation works but the native one has disappeared; see if you can find anything anomalous in the file or any trace of its action). Do you think that the order of appending might cause this issues?

You mention something that caught my attention: re-link an action to a user; that sounds really intriguing; I know how to do that with materials, but not with Actions; could you give me a couple of pointers as to how to do that? If I had been able to do that, I could have tried to resolve the original problem, where the animation in fact was there but was not linked to the required user.

Thank you for all your help so far.

Let me know if you need any further information.

Have fun.


PS: The blend appears to be too large to upload in Blender artists, so I have placed it here: CLICK

Dear sept,

I checked out your blend file and indeed there is only the animation in the node group. But I don’t see any trace of any other animations. the datablocks you are refering to in an earlier post show only the animation that is also in the node group.

At first I guessed that the problem might occure from somewhere a naming convention that gives a conflict. (something like: animation.001 for both files and this would clash if you combine them) but this would be something that someone probably noticed already. It would be an important bug, so I think the origin is elsewhere, but I have no clue.

About actions: Your pushing the limits of my knowledge here, since I haven’t used actions before, but if I remember correctly: there is something like the NLA editor (non linear animation). This editor is used to control actions. For example: you animate a character taking two steps and then you can use the NLA editor to define this as an action, and repeat it indefintely, creating a walk cycle.
If you put a keyframe on a node, it will show up in this NLA editor (similarly as it shows up in the graph editor). Then you can add an action to it. I don’t know if this will work and I don’t think this is what Blender should do. I find it strange that he doesn’t seem to import the animation correctly.

I think that if you want to know more about this, you should ask a developer (if their not to busy) or someone who knows more about it. You should try to create a simple blend file that shows the problem and start a new thread in the support part of the forum (perhaps the animation and rigging section? or the technical support?). I think that will draw more attention than continuing here and then you might be able to find someone who can figure out what we are doing wrong or if it really is just a bug.

Sorry that I am unable to help you further.

kind regards

Hey Nick,

Don’t worry; I realize that with the file submitted it is hard to draw any conclusion (accidentaly I overwrote the original problem-file with the one you reviewed).

I did one last experiment, however; I created a blank file, and I imported both node circuits into it; everything worked first time. I checked the names of the imported actions and it was, as expected “Compositing NodeTreeAction” and “Compositing NodeTreeAction.001”. I currently have three versions of the file: all in a single file, appending FILE1 into FILE2 (after adding manually the animation it worked and it stayed) and appending FILE1 and FILE 2 into FILE3; and they all work perfectly.

To sum up: the problem has only occurred when I set first the local node config and then I import the second node config, so the conclusion could be something like: appending order matters; when I imported first and then created the node config, it worked, but the local node animation disappeared without a trace; I think at this stage, I will ignore (though not forget) the problem as a quaint occurrence; I am still curious about the problem, but I rather move forward with Blender. One of the things I have learnt in this tutorial is- apart from a lot about nodes- is to use appending for nodes; for, even though I did not notice any performance improvements, the node circuits are so much more easier to read ( I do not think it affects the performance at all).

Yesterday I sent an email to Blender Education, waiting for their response.

I guess that is all for now. Thanks for all your help.

Enjoy the mountains.

Kind Regards,