I'm using opacity animation to make an animated text fade out. It's working in the Video Sequence Editor, but when I render the video it doesn't work; the text doesn't fade at all.

Screenshot

I've tried rendering it out in different formats, including Quicktime, MPEG & H.264, but the Quicktime format is the only one I've actually been able to view afterwards.

I'm using Bender 2.77 and I've created the text animations in the 3D View as scenes, which I've then added to the VSE. I've also inserted keyframes to adjust the opacity at the end of each animation.

  • 1
    Try adding more info to your question. Not sure exactly how you are rendering this or what rendering engine you are using, but video file formats generally do not support alpha channels and as such do not support transparency. Have you tried rendering to a PNG sequence instead? – Duarte Farrajota Ramos May 11 '16 at 14:37
  • 1
    If possible at all attached the animated text so that we can take a look at it. It's probably a simple step you have missed. Use this link to upload the blend file blend-exchange.giantcowfilms.com – hawkenfox May 11 '16 at 15:56
  • The most useful thing would be a screen-shot of the section of the VSE where the animation isn't working. I have a pretty good idea what's wrong, but I'd like to confirm... – Matt May 11 '16 at 16:09
  • I think, @DuarteFarrajotaRamos is on the right track with the alpha problem. Try to just place a solid black Color Strip underneath to confirm this... As I think I read somewhere that only Quicktime is allowing for transparent backgrounds in a video and the fading using opacity is probably resulting in problems in other formats. – Samoth May 11 '16 at 22:20
  • Possible duplicate of Can't change opacity of scene strip in Video Sequence Editor – Samoth May 11 '16 at 22:25
up vote 1 down vote accepted

The reason your fades are not working is two-fold.

Firstly, the Quicktime format does not support an alpha channel (I don't know of a video format that does... maybe GIF?).

Secondly, your RGBA colors are not pre-multiplied, but are "straight alpha." A bit of explanation here.

Consequently, when your frame gets put into the video format, the alpha portion of that image is simply discarded, leaving you with grey text that's no longer transparent. This didn't happen when you rendered it to images because PNG does support an alpha channel. Thus, you had text that was still fully grey, but it was also transparent. I'll bet that if you rendered to JPGs, you'd lose the fading as well because JPG doesn't support alpha. The question would be whether Blender would pre-multiply your alpha or just discard the alpha channel. I suspect it'd do the same thing that it did with the video and just discard it.

There are two solutions. One is to render pre-multiplied alpha. It's not going to be easy to figure out how to do this because it changed recently in the VSE. And there are a couple of different places in the rendering pipeline that pre-multiplication might happen. If anyone else knows, feel free to edit my answer. But this is a poor solution because the background of your video is incidental, not deliberately chosen. It's only fading to black because all the pixels that aren't rendered HAPPEN to be black when the alpha is discarded. This is a reasonable assumption to make, but it's an assumption not a decision.

The most correct solution is to make the decision of what to fade TO. You really ought not think in terms of "fade out." Rather, you should always think "fade to..." Even in your video, you're not wanting to "fade out." You're wanting to "fade to black." There are a number of ways to accomplish this, depending on what's what's best for your project. The option I'd recommend is to add an Effect Strip -> Color to the bottom layer, and set the color to black. Thus, when your text becomes transparent, there's still something behind it to render.

You could, of course, set the color of the Effect Strip to whatever color you want, and it'd work just as well.

I hope that helps!

  • 1
    thank you very much, Matt! i'm happy to know there is a reason & i will try to remake it using the second, most correct, solution that you give, adding an effect strip. i will let you know how it goes :) – helen May 13 '16 at 16:22
  • it worked! :) i put a black strip under the text, & also when i was checking all the render settings i saw that i could choose PNG instead of JPG for the video codec, so i selected this. then rendered it to quicktime again & now the fades are happening. thanks so much for your help with this :) – helen May 14 '16 at 14:58
  • 1
    sorry, didn't realise i had to do that! (you're my first answer :) ) – helen May 17 '16 at 8:11

Your Answer

 
discard

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.