摘 ?要:文章將每天天氣預(yù)報的CSV表格里關(guān)于預(yù)報點(diǎn)、時間、溫度、圖標(biāo)的數(shù)據(jù),在After Effects中運(yùn)用表達(dá)式進(jìn)行數(shù)據(jù)鏈接和條件判定,隨每天預(yù)報數(shù)據(jù)不同,進(jìn)行自動更新。同時,運(yùn)用After Effects新增的主屬性功能,只需要調(diào)整一個模板版面里的元素,其余預(yù)報點(diǎn)的文本、天氣圖標(biāo)位置、風(fēng)格自動保持一致。最后,與Premiere動態(tài)鏈接并進(jìn)行輸出,完成天氣預(yù)報節(jié)目的自動生成。
關(guān)鍵詞:CSV表格;After Effects;表達(dá)式;主屬性;嵌套合成;Premiere
中圖分類號:TP311 ? ? 文獻(xiàn)標(biāo)識碼: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 ?引 ?言
筆者長期從事天氣預(yù)報節(jié)目后期制作,部分天氣預(yù)報節(jié)目信息錄入、字幕切屏為人工操作,切屏?xí)蓄A(yù)報信息與畫面不同步現(xiàn)象,人工錄入信息也容易出錯。同時影視中心為地市州制作的節(jié)目占用大量人工及制作時間,需要快速便捷的制作流程,預(yù)期能達(dá)到以下目的:
(1)數(shù)據(jù)直接生成預(yù)報版面,從數(shù)據(jù)到節(jié)目視頻自動更新輸出,提高節(jié)目制作效率。
(2)預(yù)報信息與畫面完全一致,避免人工輸入信息出錯,提升節(jié)目制作水準(zhǔn)。
該工作流程的關(guān)鍵就是自動更新:借助后期合成軟件,運(yùn)用Java script編程語言將每天的預(yù)報節(jié)目預(yù)報點(diǎn)、時間、溫度、圖標(biāo)、修改廣告進(jìn)行關(guān)聯(lián),自動更新,進(jìn)行數(shù)據(jù)自動化視覺呈現(xiàn)。
1 ?技術(shù)要點(diǎn)
天氣預(yù)報數(shù)據(jù)自動生成節(jié)目包裝關(guān)鍵技術(shù)有兩點(diǎn):
(1)數(shù)據(jù)提取:After Effects 2020版本可以識別CSV電子表格,用表達(dá)式將每天的預(yù)報節(jié)目預(yù)報點(diǎn)、時間、溫度、圖標(biāo)、修改廣告自動更新;CSV電子表格的列數(shù)和欄數(shù)形成數(shù)組,導(dǎo)入AE后文字層可以提取數(shù)組[列數(shù),欄數(shù)],比如:
thisComp.layer("新聞頻道.csv")("Data")("Outline")("城市")("城市 0")對應(yīng)字符是“成都”
thisComp.layer("新聞頻道.csv")("Data")("Outline")("天氣")("天氣 0")對應(yīng)字符是“多云轉(zhuǎn)晴”
thisComp.layer("新聞頻道.csv")("Data")("Outline")("溫度")("溫度 0")對應(yīng)字符是“21~29℃”
(2)主屬性功能:After Effects 2020將提取的一個預(yù)報模板制作成不同的預(yù)報數(shù)據(jù)的版面。
天氣預(yù)報版式如圖1所示。
2 ?具體制作流程
2.1 ?表格和模板準(zhǔn)備
在After Effects打開初步制作好的天氣預(yù)報的版式,如圖1所示,導(dǎo)入天氣預(yù)報表格“新聞頻道.csv”,新建合成“預(yù)報數(shù)據(jù)提取”,拖入表格到合成時間線。
2.2 ?地名切換
打開“單個城市天氣預(yù)報版式”合成時間線,新建“地名序號”文本層,設(shè)置為參考線圖層,將該層的“Source Text”層級右鍵設(shè)置為“單個城市天氣預(yù)報版式”合成的基本圖形,修改基本圖形中名稱為“地名序號”與圖層一致,為“地名”層Source Text設(shè)置表達(dá)式:
id=thisComp.layer("地名序號").text.sourceText;
comp("預(yù)報數(shù)據(jù)提取").layer("新聞頻道.csv")("Data")("Outline")("城市")(id)
2.3 ?天氣圖標(biāo)自動切換
由于四川的區(qū)域天氣特性,常見的天氣狀態(tài)如表1所示。
天氣圖標(biāo)自動切換的步驟為:
首先在After Effects中新建“天氣圖標(biāo)切換原始”合成時間線,然后新建“切換依據(jù)”文本層,設(shè)置為參考線圖層用作文本索引,將該層下的“Source Text”層級右鍵設(shè)置為本合成的基本圖形,修改基本圖形中名稱為“切換依據(jù)”與圖層一致。同時將上述多個天氣圖標(biāo),依次排列在時間線圖層上,每個天氣圖標(biāo)的不透明度與“切換依據(jù)”文本層對應(yīng)的文本描述形成表達(dá)式關(guān)聯(lián),比如當(dāng)天氣預(yù)報的csv文件里描述為“多云”,那么“多云”的圖標(biāo)的不透明度就是100%,否則就是0%。表達(dá)式設(shè)置為:
tiaojian=thisComp.layer("切換依據(jù)").text.sourceText;if (tiaojian=="多云") {100} else {0}
當(dāng)頁面回到“單個城市天氣預(yù)報版式”合成時間線,新建“今天天氣圖標(biāo)序號”文本層,設(shè)置為參考線圖層用作文本索引,將該層下的“Source Text”層級右鍵設(shè)置為本合成的基本圖形,修改基本圖形中名稱與圖層一致。再將“天氣圖標(biāo)切換原始”合成拖入“單個城市天氣預(yù)報版式”作為一個嵌套圖層,按回車修改為“今天圖標(biāo)”,展開“Master Properties”主屬性下的“Source Text”源文本層級,設(shè)置表達(dá)式:
id=thisComp.layer("今天溫度圖標(biāo)序號").text.sourceText; comp("預(yù)報數(shù)據(jù)提取").layer("新聞頻道.csv")("Data")("Outline") ("天氣")(id)
完成以上步驟后復(fù)制“今天天氣圖標(biāo)序號”文本層,修改為“明天溫度圖標(biāo)序號”文本層,將該層下的“Source Text”層級右鍵設(shè)置為本合成的基本圖形,修改基本圖形中名稱與圖層一致,接著復(fù)制“今天圖標(biāo)”副本,修改為“明天圖標(biāo)”,展開“Master Properties”主屬性下的“Source Text”源文本層級,設(shè)置表達(dá)式:
id=thisComp.layer("明天天溫度圖標(biāo)序號").text.sourceText;
comp("預(yù)報數(shù)據(jù)提取").layer("新聞頻道.csv")("Data")("Outline")("天氣")(id)
完成提取后復(fù)制“明天天氣圖標(biāo)序號”文本層,修改為“后天溫度圖標(biāo)序號”文本層,將該層下的“Source Text”層級右鍵設(shè)置為本合成的基本圖形,修改基本圖形中名稱與圖層一致,再復(fù)制“明天圖標(biāo)”副本,修改為“后天圖標(biāo)”,展開“Master Properties”主屬性下的“Source Text”源文本層級,設(shè)置表達(dá)式:
id=thisComp.layer("后天天溫度圖標(biāo)序號").text.sourceText;
comp("預(yù)報數(shù)據(jù)提取").layer("新聞頻道.csv")("Data")("Outline")("天氣")(id)
2.4 ?溫度切換
溫度切換的原理也是一樣的,具體步驟為:
在“單個城市天氣預(yù)報版式”合成時間線,新建“今天氣溫序號”文本層,設(shè)置為參考線圖層用作文本索引,將該層下的“Source Text”層級右鍵設(shè)置為本合成的基本圖形,修改基本圖形中名稱與圖層一致。為“今天氣溫”層Source Text設(shè)置表達(dá)式:id=thisComp.layer("今天氣溫序號").text.sourceText;comp("預(yù)報數(shù)據(jù)提取").layer("新聞頻道.csv")("Data")("Outline")("溫度")(id)
用同樣方法在該合成時間線新建“明天氣溫序號”文本層、設(shè)置為參考線圖層用作文本索引,將該層下的“Source Text”層級右鍵設(shè)置為基本圖形,修改基本圖形中名稱與圖層一致。為“明天氣溫”層Source Text設(shè)置表達(dá)式:id= thisComp.layer("明天氣溫序號").text.sourceText;
comp("預(yù)報數(shù)據(jù)提取").layer("新聞頻道.csv")("Data")("Outline")("溫度")(id)
相同方法在該合成時間線新建“后天氣溫序號”文本層、設(shè)置為參考線圖層用作文本索引,將該層下的“Source Text”層級右鍵設(shè)置為本合成的基本圖形,修改基本圖形中名稱與圖層一致。為“后天氣溫”層Source Text設(shè)置表達(dá)式:id=thisComp.layer("后天氣溫序號").text.sourceText;comp("預(yù)報數(shù)據(jù)提取").layer("新聞頻道.csv")("Data")("Outline")("溫度")(id)
2.5 ?制作天氣預(yù)報總合成
天氣預(yù)報元素鏈接完成后,需要進(jìn)行總的處理,新建“新聞頻道城市預(yù)報”合成,設(shè)置總時長為10個城市,每個城市預(yù)報為5秒,總長為50秒
將“單個城市天氣預(yù)報版式”合成拖入“單個城市天氣預(yù)報版式”作為一個嵌套圖層,設(shè)置層長度為0:00:05:00
展開“Master Properties”主屬性下的各個屬性依次為設(shè)置表達(dá)式,如圖2所示。
按照預(yù)報城市數(shù)量復(fù)制“單個城市天氣預(yù)報版式”多個圖層,首尾依次排列,如圖3所示。
現(xiàn)在,每個圖層作為一個城市嵌套合成,會依據(jù)CSV表格的數(shù)據(jù)變化自動更新天氣預(yù)報信息。
2.6 ?Premiere Pro 2020進(jìn)行整體輸出
打開Premiere Pro 2020,新建“自動天氣預(yù)報”工程,新建1080P,名稱為“自動天氣預(yù)報”的序列,與After Effects合成時間線進(jìn)行鏈接,同時加入片頭、每個城市廣告、片尾、配音、背景音樂后整體輸出。
3 ?結(jié) ?論
通過以上操作步驟,經(jīng)過在After Effects、Premiere測試,基本達(dá)到預(yù)期目標(biāo):
從CSV數(shù)據(jù)到After Effects包裝版面可以自動更新,再到動態(tài)鏈接的Premiere工程也可以同步更新,監(jiān)看并輸出整體節(jié)目,是由于避免人工輸入信息,從而加快效率,提高了預(yù)報信息制作的效率和精準(zhǔn)度。
今后需要精簡合成圖層的數(shù)量,進(jìn)一步提高渲染的速度,為批量制作贏取更多寶貴時間,同時由于自動化包裝制作的動畫元素(文本、圖標(biāo)等元素)支持矢量格式,支持在After Effects里進(jìn)行無損縮放,可考慮以后研究方向?qū)⒛壳暗娜咔迳壷?K/8K視頻批量輸出,將此方案進(jìn)一步優(yōu)化,形成面向未來需求的前瞻制作解決方案。
參考文獻(xiàn):
[1] 布勞恩.數(shù)據(jù)可視化(40位數(shù)據(jù)設(shè)計(jì)師訪談錄) [M].賀艷飛,譯.廣西:廣西師范大學(xué)出版社,2017.
[2] 亞當(dāng).大型JavaScript應(yīng)用最佳實(shí)踐指南 [M].奇舞團(tuán),譯.北京:電子工業(yè)出版社,2017.
[3] 馬特.JavaScript高級程序設(shè)計(jì):第4版 [M].李松峰,譯.北京:人民郵電出版社,2020.
[4] 唯美世界,曹茂鵬.After Effects 2020 完全案例教程 [M].北京:中國水利水電出版社,2020.
[5] 朱曉明,朱琦.Premier Pro 2020視頻編輯標(biāo)準(zhǔn)教程 [M].北京:清華大學(xué)出版社,2020.
作者簡介:王毅夫(1977—),男,漢族,四川三臺人,助理工程師,本科,研究方向:影視包裝。