Updated on 十月 9, 2021
使用AE制作出DV风格的时间戳
目标:做出DV风格的时间戳,且时分秒随着时间而变化。
最开始打算用Pr做,但是在网上搜索了一番,似乎没有好的解决办法,遂打算使用AE做。然鹅从没使用过AE,所以在B站上快速学习了一下。
https://www.bilibili.com/video/BV1ZA411g7Sb
字体
首先需要时间戳的字体。
https://www.dafont.com/vcr-osd-mono.font
看起来还不错,下载下来安装到电脑中。
字体加粗,黑色描边。
时间戳色散效果
虽然字体很像,但是看起来太清晰了,没有DV那种模拟信号的感觉。所以下一步是做一下图像处理,使得看起来更真实一些。
首先建立Timecode的合成,将要显示的时间日期展示出来。
再建立一个Chromatic的合成,将Timecode合成引入进来,三份。三份分别只显示R、G、B三个颜色,混合模式为相加。这样三个合成分别只显示红绿蓝三种颜色,他们叠加起来是正常的颜色,如果想要色散的效果,可以微微移动三个合成的位置,效果如下。
可以看出来,文字边界有了色散的效果,更有内味儿了。
时间戳随着时间变动
录的DV是一段一段的,时间是不同的,在切换段后,时间也要变化到新的时间,并依然一秒一秒变动。
能想象到的比较优雅的实现方式是在主合成中,在关键帧上给时间戳赋新值。
如何跨合成获取到一个值呢?可以使用slider。通过类似下面的方法获取到slider的值:
comp("Final output").layer("Chromatic").effect("month")("ADBE Slider Control-0001")
在Final output合成中,Chromatic图层创建年月日时分秒的slider,分别代表年月日时分秒的数字,这样,在Timecode合成中,只需要格式化显示这些数字即可。
在Final output中,需要将second的slider随着时间增加而增加秒数。代码如下:
effect("second")(1).value += time;
time是个浮点型,单位是秒。这样在Timecode这边需要在代码中对second取整,代码比较简单不再赘述。
在Final output中,每当录像切换到另一段时,对几个变化的slider增加关键帧,并修改其数值。需要注意的是,每当增加关键帧,其数值会在连个关键帧间线性变化,这不是我们想要的,我们想要的是直接变化,要修改补间动画的图表,变成这样的:
最终效果
看起来还不戳。