Update: this was indeed an issue with ffplay
. Use VLC, or better yet if you are making stingers to use in OBS, test them there!
I will leave the rest of the post below for reference, it may help others looking to do what I did.
tl;dr: can I trick Eevee into rendering partially-transparent objects against a transparent background?
I am attempting to create another stinger transition video. For these, the basic requirement is i) transparent background and ii) >= one frame completely ‘covering’ transparent background.
I am doing something in space, so I have created a lo-fidelity ‘starry backdrop’ using a noise texture and a colour ramp. I would like to ‘fade-in’ this backdrop. To that end I have put that backdrop on a large sphere, feeding a mix node which is has a transparent BSDF as its other input, and fac
keyframed: (start transparent) 0 → 1 (fade in and hold) → 0 (fade back out).
The sphere’s material settings has
Blend mode: Alpha Hashed
(I have also tried Alpha Blend
).
The render preview shows transparency, as does opening up the resulting images in imagemagick display / GIMP.
(white is actually transparent - green suzanne is outside the sphere)
And the backdrop does fade in:
(~1 frame away from full fade-in so suzanne is still visible here- she disappears in the next frame as expected)
The frames are saved as PNG with alpha (RGBA) which has worked for such videos in the past:
However, when I compose the frames into a video using ffmpeg – eg ffmpeg -framerate 30 -f image2 -i frame%04d.png -c:v libvpx-vp9 -lossless 1 -pix_fmt yuva420p -an transparentspheretest2.webm
– the backdrop shows up in all frames.
What gives?
I am not sure if the problem is Eeevee, my nodes, the output format, ffmpeg, or something else entirely. I have successfully made stingers with fully transparent backgrounds before using ffmpeg and Eevee, but they did the ‘one frame fully covering’ by having an object/objects take up the entire frame; this time is the first I have tried to fade in a backdrop.
How can I achieve this ‘fade-in’ background effect in Eevee? Thanks in advance!
Example blend file: transparencytest.blend (753.9 KB)