


摘 ?要:文章將每天天氣預報的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)數據提?。篈fter 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—),男,漢族,四川三臺人,助理工程師,本科,研究方向:影視包裝。