天气预报数据自动生成节目包装

2021-10-19 13:28王毅夫
现代信息科技 2021年6期
关键词:表达式

摘  要:文章将每天天气预报的CSV表格里关于预报点、时间、温度、图标的数据,在After Effects中运用表达式进行数据链接和条件判定,随每天预报数据不同,进行自动更新。同时,运用After Effects新增的主属性功能,只需要调整一个模板版面里的元素,其余预报点的文本、天气图标位置、风格自动保持一致。最后,与Premiere动态链接并进行输出,完成天气预报节目的自动生成。

关键词:CSV表格;After Effects;表达式;主属性;嵌套合成;Premiere

中图分类号:TP311     文献标识码:A 文章编号:2096-4706(2021)06-0106-03

Automatic Generation of Program Packaging from Weather Forecast Data

WANG Yifu

(Sichuan Meteorological Service Center,Chengdu  610072,China)

Abstract:In this paper,data about the forecast locations,time,temperature,icon in the CSV table of daily weather forecast are linked and judged by using the expression in After Effects,and automatically updated with different forecast data of everyday. At the same time,using the new main attribute function of After Effects,you only need to adjust the element in a template layout,and the text,weather icon position and style of the remain forecast locations can be automatically keep consistent. Finally,it links dynamically with Premiere and carries out the output to complete the automatic generation of weather forecast programs.

Keywords:CSV table;After Effects;expression;main attribute;nested composition;Premiere

0  引  言

笔者长期从事天气预报节目后期制作,部分天气预报节目信息录入、字幕切屏为人工操作,切屏会有预报信息与画面不同步现象,人工录入信息也容易出错。同时影视中心为地市州制作的节目占用大量人工及制作时间,需要快速便捷的制作流程,预期能达到以下目的:

(1)數据直接生成预报版面,从数据到节目视频自动更新输出,提高节目制作效率。

(2)预报信息与画面完全一致,避免人工输入信息出错,提升节目制作水准。

该工作流程的关键就是自动更新:借助后期合成软件,运用Java script编程语言将每天的预报节目预报点、时间、温度、图标、修改广告进行关联,自动更新,进行数据自动化视觉呈现。

1  技术要点

天气预报数据自动生成节目包装关键技术有两点:

(1)数据提取:After Effects 2020版本可以识别CSV电子表格,用表达式将每天的预报节目预报点、时间、温度、图标、修改广告自动更新;CSV电子表格的列数和栏数形成数组,导入AE后文字层可以提取数组[列数,栏数],比如:

thisComp.layer("新闻频道.csv")("Data")("Outline")("城市")("城市 0")对应字符是“成都”

thisComp.layer("新闻频道.csv")("Data")("Outline")("天气")("天气 0")对应字符是“多云转晴”

thisComp.layer("新闻频道.csv")("Data")("Outline")("温度")("温度 0")对应字符是“21~29℃”

(2)主属性功能:After Effects 2020将提取的一个预报模板制作成不同的预报数据的版面。

天气预报版式如图1所示。

2  具体制作流程

2.1  表格和模板准备

在After Effects打开初步制作好的天气预报的版式,如图1所示,导入天气预报表格“新闻频道.csv”,新建合成“预报数据提取”,拖入表格到合成时间线。

2.2  地名切换

打开“单个城市天气预报版式”合成时间线,新建“地名序号”文本层,设置为参考线图层,将该层的“Source Text”层级右键设置为“单个城市天气预报版式”合成的基本图形,修改基本图形中名称为“地名序号”与图层一致,为“地名”层Source Text设置表达式:

id=thisComp.layer("地名序号").text.sourceText;

comp("预报数据提取").layer("新闻频道.csv")("Data")("Outline")("城市")(id)

2.3  天气图标自动切换

由于四川的区域天气特性,常见的天气状态如表1所示。

天气图标自动切换的步骤为:

首先在After Effects中新建“天气图标切换原始”合成时间线,然后新建“切换依据”文本层,设置为参考线图层用作文本索引,将该层下的“Source Text”层级右键设置为本合成的基本图形,修改基本图形中名称为“切换依据”与图层一致。同时将上述多个天气图标,依次排列在时间线图层上,每个天气图标的不透明度与“切换依据”文本层对应的文本描述形成表达式关联,比如当天气预报的csv文件里描述为“多云”,那么“多云”的图标的不透明度就是100%,否则就是0%。表达式设置为:

tiaojian=thisComp.layer("切换依据").text.sourceText;if (tiaojian=="多云") {100} else {0}

当页面回到“单个城市天气预报版式”合成时间线,新建“今天天气图标序号”文本层,设置为参考线图层用作文本索引,将该层下的“Source Text”层级右键设置为本合成的基本图形,修改基本图形中名称与图层一致。再将“天气图标切换原始”合成拖入“单个城市天气预报版式”作为一个嵌套图层,按回车修改为“今天图标”,展开“Master Properties”主属性下的“Source Text”源文本层级,设置表达式:

id=thisComp.layer("今天温度图标序号").text.sourceText; comp("预报数据提取").layer("新闻频道.csv")("Data")("Outline") ("天气")(id)

完成以上步骤后复制“今天天气图标序号”文本层,修改为“明天温度图标序号”文本层,将该层下的“Source Text”层级右键设置为本合成的基本图形,修改基本图形中名称与图层一致,接着复制“今天图标”副本,修改为“明天图标”,展开“Master Properties”主属性下的“Source Text”源文本层级,设置表达式:

id=thisComp.layer("明天天温度图标序号").text.sourceText;

comp("预报数据提取").layer("新闻频道.csv")("Data")("Outline")("天气")(id)

完成提取后复制“明天天气图标序号”文本层,修改为“后天温度图标序号”文本层,将该层下的“Source Text”层级右键设置为本合成的基本图形,修改基本图形中名称与图层一致,再复制“明天图标”副本,修改为“后天图标”,展开“Master Properties”主属性下的“Source Text”源文本层级,设置表达式:

id=thisComp.layer("后天天温度图标序号").text.sourceText;

comp("预报数据提取").layer("新闻频道.csv")("Data")("Outline")("天气")(id)

2.4  温度切换

温度切换的原理也是一样的,具体步骤为:

在“单个城市天气预报版式”合成时间线,新建“今天气温序号”文本层,设置为参考线图层用作文本索引,将该层下的“Source Text”层级右键设置为本合成的基本图形,修改基本图形中名称与图层一致。为“今天气温”层Source Text设置表达式:id=thisComp.layer("今天气温序号").text.sourceText;comp("预报数据提取").layer("新闻频道.csv")("Data")("Outline")("温度")(id)

用同样方法在该合成时间线新建“明天气温序号”文本层、设置为参考线图层用作文本索引,将该层下的“Source Text”层级右键设置为基本图形,修改基本图形中名称与图层一致。为“明天气温”层Source Text设置表达式:id= thisComp.layer("明天气温序号").text.sourceText;

comp("预报数据提取").layer("新闻频道.csv")("Data")("Outline")("温度")(id)

相同方法在该合成时间线新建“后天气温序号”文本层、设置为参考线图层用作文本索引,将该层下的“Source Text”层级右键设置为本合成的基本图形,修改基本图形中名称与图层一致。为“后天气温”层Source Text设置表达式:id=thisComp.layer("后天气温序号").text.sourceText;comp("预报数据提取").layer("新闻频道.csv")("Data")("Outline")("温度")(id)

2.5  制作天气预报总合成

天气预报元素链接完成后,需要进行总的处理,新建“新闻频道城市预报”合成,设置总时长为10个城市,每个城市预报为5秒,总长为50秒

将“单个城市天气预报版式”合成拖入“单个城市天气预报版式”作为一个嵌套图层,设置层长度为0:00:05:00

展开“Master Properties”主属性下的各个属性依次为设置表达式,如图2所示。

按照预报城市数量复制“单个城市天气预报版式”多个图层,首尾依次排列,如图3所示。

现在,每个图层作为一个城市嵌套合成,会依据CSV表格的数据变化自动更新天气预报信息。

2.6  Premiere Pro 2020进行整体输出

打开Premiere Pro 2020,新建“自动天气预报”工程,新建1080P,名称为“自动天气预报”的序列,与After Effects合成时间线进行链接,同时加入片头、每个城市广告、片尾、配音、背景音乐后整体输出。

3  结  论

通过以上操作步骤,经过在After Effects、Premiere测试,基本达到预期目标:

从CSV数据到After Effects包装版面可以自动更新,再到动态链接的Premiere工程也可以同步更新,监看并输出整体节目,是由于避免人工输入信息,从而加快效率,提高了预报信息制作的效率和精准度。

今后需要精简合成图层的数量,进一步提高渲染的速度,为批量制作赢取更多宝贵时间,同时由于自动化包装制作的动画元素(文本、图标等元素)支持矢量格式,支持在After Effects里进行无损缩放,可考虑以后研究方向将目前的全高清升级至4K/8K视频批量输出,将此方案进一步优化,形成面向未来需求的前瞻制作解决方案。

参考文献:

[1] 布劳恩.数据可视化(40位数据设计师访谈录) [M].贺艳飞,译.广西:广西师范大学出版社,2017.

[2] 亚当.大型JavaScript應用最佳实践指南 [M].奇舞团,译.北京:电子工业出版社,2017.

[3] 马特.JavaScript高级程序设计:第4版 [M].李松峰,译.北京:人民邮电出版社,2020.

[4] 唯美世界,曹茂鹏.After Effects 2020 完全案例教程 [M].北京:中国水利水电出版社,2020.

[5] 朱晓明,朱琦.Premier Pro 2020视频编辑标准教程 [M].北京:清华大学出版社,2020.

作者简介:王毅夫(1977—),男,汉族,四川三台人,助理工程师,本科,研究方向:影视包装。

猜你喜欢
表达式
回归基础,探求一次函数表达式
用待定系数法确定二次函数表达式
灵活选用二次函数表达式
“数形结合”巧定二次函数表达式
万有引力公式中r的含义辨析
函数解析式的求法探究
After Effects“模块化”学习策略之表达式的应用
寻找勾股数组的历程
参考答案
议C语言中循环语句