好萊塢 VFX 色彩 pipeline 全面指南 — BCON26(第 1/3 段)


🏦 台灣Pay 銀行轉帳 💙 PayPal
ILM color scientist 講解 VFX 長片 tech spec 的問題,以及 OpenColorIO config 的基本結構
- 00:00 講者在 ILM 擔任 color scientist 約八年。之前在 Double Negative(現稱 DNEG)做類似工作,更早在 Animal Logic 擔任 comp TD
- 06:36 我們想用的 color space,多半不是客戶交檔時所用的那一個
- 13:09 省略實作細節的 color space 就是 reference space。範例中是 ACEScg,其他 color space 都以與它的關係來定義
💡 你可以怎麼用:打開 Blender 的 Color Management 面板,看看 Display、View Transform 這些選單:它們都是 OCIO 設定檔提供的,先認得它們就是踏進色彩流程的第一步。之後接到有規格文件的案子,先找出交件規格和 color space 相關段落,再動手調色。
看全部 47 條重點
🧑🏫 這段是 ILM(知名好萊塢特效公司)色彩專家的講座開頭。他說明特效長片開工時,客戶會交來哪些技術規格、會遇到哪些色彩問題,再介紹 Blender 內建的色彩管理工具 OpenColorIO,以及它的設定檔大致長什麼樣。想知道 Blender 色彩選單背後怎麼運作,或好奇大片怎麼統一顏色,這段是很好的入門。
- 00:00 講者在 ILM 擔任 color scientist 約八年。之前在 Double Negative(現稱 DNEG)做類似工作,更早在 Animal Logic 擔任 comp TD↳ 講者在 ILM 當 color scientist 約八年,專管影片色彩的技術面。之前在 DNEG 做類似工作,更早在 Animal Logic 當 comp TD,負責合成環節的技術。
- 00:32 講者參與 Academy Software Foundation。這是 Linux Foundation 贊助的開源計畫,負責協調電影業夥伴之間的工程資源;講者主要開發 OpenColorIO↳ 他參與 Academy Software Foundation,這是 Linux Foundation 支持的開源組織,幫電影業各家公司協調工程人力。他主要開發 OpenColorIO,一套色彩管理工具。
- 00:32 講者建過多套 studio color pipeline,每次著重的功能不同。他發現業界一直缺少資訊或範例,說明別人是怎麼管理色彩的↳ 他幫好幾家工作室建過 color pipeline,也就是一部片從進素材到交片的整套色彩管理流程,每次重點都不同。他發現業界很少公開自己怎麼管色彩,可參考的範例很缺。
- 01:06 本場目標:公開為 VFX 長片建立 color pipeline 的實際流程,並介紹工具,在 Blender 及其他 OpenColorIO-aware 應用程式中完成 VFX 任務↳ 這場想把實際做法攤開,示範怎麼替特效長片建色彩流程。也會示範在 Blender,和其他能讀 OpenColorIO 設定的軟體(OpenColorIO-aware)裡完成特效工作。
- 01:06 本場會用到 Nathan 前一天講座(Not Color: What Every Digital Artist Should Know About Color Science)的部分概念,沒聽過也不影響理解↳ 會借用前一天 Nathan 那場色彩科學講座的一些觀念,但沒聽過也跟得上。
- 01:36 底層數學與科學都會抽象掉,不講數學,也不是科學或物理課,只講如何實作。內容會大量看 config files 與 terminal 視窗↳ 不講數學和物理原理,只講怎麼做。畫面會一直出現設定檔和 terminal(輸入指令的文字視窗),先有心理準備。
- 02:08 大綱一:專案如何開始、會從客戶收到什麼,以及大致要解決哪些問題↳ 第一部分:案子怎麼開始、客戶會交來哪些東西、要解決哪幾類問題。
- 02:08 大綱二:介紹 OpenColorIO 的運作。客製化 OpenColorIO,彈性遠高於現成的 config 或解決方案↳ 第二部分:講 OpenColorIO 怎麼運作。自己客製設定,比直接套別人做好的現成設定更能配合案子需求。
- 02:41 大綱三:結合客戶規格與 OpenColorIO,在 Blender 中完成其餘 VFX 任務↳ 第三部分:把客戶規格和 OpenColorIO 設定結合,在 Blender 裡完成剩下的特效工作。
- 02:41 每個 VFX 專案的核心是 tech spec:由客戶提供的文件,列出所有可能影響整部片的重要細節↳ 每個特效案的核心是 tech spec(技術規格書)。它是客戶給的文件,列出所有會影響整部片的關鍵技術細節,大家都照它做。
- 03:12 tech spec 讓後製流程中各公司或部門順利交接,並說明客戶期望的技術部分。它不是 creative brief,所以可以放心交給工程師與 pipe TD↳ 後製會經過很多公司和部門,tech spec 讓交接不出錯。它只講技術,不談創意方向(那是 creative brief 的事),所以能直接交給工程師和管流程的 pipe TD。
- 03:12 這類工作高度保密,文件很難公開,因此講者虛構了一部熱門電影的續集,並編了一套擬真文件來示範↳ 這行保密很嚴,真文件不能外流。所以講者虛構了一部熱門片的續集,自己編了一套像真的文件來示範。
- 03:45 收到客戶的資料夾後,第一步先找內含 delivery specifications 的 PDF↳ 拿到客戶資料夾,第一件事是找寫著 delivery specifications 的 PDF,也就是最後要交什麼、交成什麼格式。
- 04:18 資料夾裡還有 .cube、CDL、EXR、.tif,甚至一份 Nuke script,檔名很混亂,所以先開 PDF 釐清其他檔案的用途↳ 資料夾裡還有 .cube(常見的調色查表檔)、CDL 調色數值、EXR 和 .tif 影像,甚至有 Nuke(合成軟體)專案檔。檔名很亂,先讀 PDF 才知道各檔用途。
- 04:18 tech spec 通常寫得簡短、不好讀↳ 別期待它好讀。tech spec 通常寫得很精簡、幾乎沒解釋,得自己慢慢啃。
- 05:00 tech spec 內容涵蓋攝影機、color spaces、命名規則、file handles、不同攝影機間轉換用的 framing charts 與範例圖↳ 內容有攝影機、color space(規定顏色怎麼用數字記錄的標準)、命名規則、file handles(鏡頭頭尾多留的影格),以及不同攝影機畫面怎麼對應的 framing chart。
- 05:00 每份 tech spec 的編排都不同,要自己讀完並挑出與設定相關的資訊↳ 每家客戶的編排都不一樣,沒有固定位置可找。只能整份讀完,自己挑出跟色彩設定有關的部分。
- 05:31 問題一:客戶會送來 EXR 檔(稱為 plate),色彩處於某個 color space。鏡頭很多,有些鏡頭要加入相同的 3D 物件↳ 問題一:客戶送來的 EXR(能保留大量亮度資訊的影像格式)實拍素材叫 plate,各自處在某個 color space。鏡頭很多,有些要放進同一個 3D 物件。
- 05:31 plate 常是不按順序、在一天中不同時段拍的,也可能用了不同攝影機與不同設定↳ plate 常不照劇情順序拍,可能這顆早上拍、那顆傍晚拍,也可能換了攝影機或設定,所以色調各不相同。
- 06:03 成片裡這些鏡頭要看起來像按時間順序發生。因此先把各 plate 平衡一致,放 3D 物件時只需匹配一次↳ 但成片要看起來像連續發生。先把所有 plate 調成一致,3D 物件就只要對一次色,不用每顆鏡頭各調一遍。
- 06:03 問題二:公司同時做多部片,希望所有 artist 都在一致的 color space 工作,也方便在不同製作間共用素材↳ 問題二:公司同時做好幾部片,希望所有 artist 都在同一個 color space 工作,素材才能在不同案子間直接共用。
- 06:36 我們想用的 color space,多半不是客戶交檔時所用的那一個↳ 公司想統一使用的 color space,通常跟客戶交檔用的不一樣,所以中間一定要轉換。
- 06:36 問題三:客戶拍攝當天發現光線有細微變化,於是用 CDL grade 做了大方向調整,並希望交回的媒體都看得到這些調整↳ 問題三:拍攝當天光線有點變,客戶用 CDL grade(用幾組簡單數值做的粗略調色)先做大方向修正,並要求交回的畫面都要帶著這個調整。
- 07:08 CDL grade 基本上是可丟棄的,不太會用在成片,常被推翻。例如當天覺得偏藍好看,放進整部片後改成偏紅更好↳ 但 CDL grade 是臨時性質,很少留到成片,常被推翻。例如當天覺得偏藍好看,剪進整部片後又改成偏紅。
- 07:08 客戶在片場選的 look,有時會讓 VFX artist 很難看清底層 plate 的實際狀況↳ 片場選的 look(畫面風格)有時太重,會讓特效 artist 看不清原始 plate 真正長什麼樣。
- 07:39 問題四:客戶通常只在意一兩種 mastering 環境,例如電影院、Rec. 709 電視,甚至 HDR 顯示器。但工作室內部要應付更多種觀看條件↳ 問題四:客戶多半只在乎一兩種最終播放環境,例如電影院、Rec. 709(一般高畫質電視標準)或 HDR 螢幕。但工作室內部要顧的觀看情況多得多。
- 07:39 OpenColorIO 是色彩管理框架,最初由 Sony Pictures Imageworks 開發,目的是簡化 VFX 色彩管理↳ OpenColorIO 是一套色彩管理框架,最早由 Sony Pictures Imageworks 開發,目的是讓特效公司的色彩管理單純一點。
- 08:13 它要解決的問題:上述每個問題,各家 3D 軟體都有自己的做法、檔案格式和限制↳ 它要解決的痛點是:上面每個問題,各家 3D 軟體的處理方式、檔案格式和限制都不一樣,很難統一。
- 08:13 把設定集中到單一 config 檔後,VFX 工作室在各應用程式間能得到一致結果,也能減少難以診斷的問題↳ 把所有色彩設定集中在一個 config 檔(設定檔)裡,各軟體讀同一份,結果就一致,也少掉很多查不出原因的色差。
- 08:13 用過 Blender 就已經在用 OpenColorIO(簡稱 OCIO)了↳ 只要用過 Blender,你其實就已經在用 OpenColorIO(簡稱 OCIO),只是它在背後運作。
- 08:44 OCIO 在 2.64 版(約 2012 年)導入 Blender,此後一直負責 Blender 的色彩管理↳ Blender 從 2.64 版(約 2012 年)開始內建 OCIO,之後一直由它負責色彩管理。
- 08:44 因為 Blender 內建 OCIO,連很舊的版本也能加入現代 pipeline。講者示範在 Blender 2.64 加入 ACES 2 output rendering transforms,新 color spaces 出現在舊選單中↳ 因為內建 OCIO,很舊的 Blender 也接得上現代流程。講者在 2.64 加進 ACES 2(電影業常用色彩系統)的輸出轉換,新選項就出現在舊選單裡。
- 08:44 OCIO 通常透過 config file 實作,Blender 也附帶一份(字幕提到有存放位置,但未唸出路徑)↳ OCIO 通常靠一份 config file 運作,Blender 安裝時也附了一份預設的。
- 10:00 操作 OCIO 最強大的方式是 OCIO 環境變數:把它指向自己的 config,就能接管 Blender 或任何支援 OCIO 的應用程式的色彩管理↳ 最強的用法是設定 OCIO 環境變數(系統層級的設定值),指向你自己的 config。這樣 Blender 或任何支援 OCIO 的軟體,都會改用你的色彩設定。
- 10:00 接管後可用自己的邏輯決定有哪些 color spaces、displays、transforms 或 views↳ 接管後,要提供哪些 color space、displays、transforms、views(顯示時可選的觀看方式),全由你的規則決定,不必照軟體預設。
- 10:33 OCIO config 是 YAML 文件,乍看有點嚇人。講者不逐項解釋,只說明主要組成部分↳ OCIO config 用 YAML 寫成,這是一種靠縮排排版的純文字設定格式,第一眼很嚇人。講者不逐行講,只帶你認識主要區塊。
- 10:33 組成一:Transforms,是 config 其他部分的積木。通常是數學運算(如指數、矩陣乘法),也可以是插值 3D LUT 或 camera log transforms↳ 第一塊 Transforms(轉換)是其他部分的積木,通常是數學運算,也可以是 3D LUT(顏色對照表)或攝影機 log 曲線的轉換。
- 11:05 組成二:Color spaces,例如 sRGB、ACEScg。每個 color space 由它與一個隱含的 reference space 的關係來定義↳ 第二塊 Color spaces,例如 sRGB、ACEScg。每個 color space 都用「它和某個基準空間(reference space)怎麼對應」來定義。
- 11:05 config 中要用一系列 transforms 描述如何進出各 color space。color space 也能包含其他 color space,串成可能很複雜的鏈↳ 設定檔要寫清楚,用哪一串 transforms 進出每個 color space。color space 也能包進別的 color space,一層層串起來可能很複雜。
- 11:35 組成三:Displays,是要呈現給應用程式的最終輸出清單。只要建立一條代表影像路徑的 color space 鏈,其餘由 OCIO 處理↳ 第三塊 Displays,是軟體最後輸出畫面的選項清單。你只要把影像經過的 color space 路徑串好,中間的換算交給 OCIO。
- 11:35 displays 通常對應某種螢幕或投影機標準,也可以對應特定交付物,例如 cinema DCP↳ 每個 display 通常對應一種螢幕或投影機標準,也能對應某個交付成品,例如電影院放映用的 DCP 檔。
- 12:05 單一 color space 定義範例:含 name 與 family,family 只是用來整理分類↳ 看一個 color space 的實際寫法:有 name(名字)和 family。family 只是分類用,方便整理。
- 12:05 equality group:兩個 color space 若屬同一 equality group 就視為相等,彼此之間不需做任何轉換↳ equality group:放在同一組的 color space 會被當成一樣,彼此切換時完全不轉換。
- 12:05 color space 定義還可附 description 與其他資訊,例如是否包含 data、要出現在 UI 的哪些分類↳ 定義裡還能加 description 說明,以及其他資訊。例如它存的是不是非顏色的數據,或要出現在介面的哪些分類下。
- 12:39 範例刻意沒寫實作細節,也就是這個 color space 由什麼組成、如何進出↳ 講者的範例故意沒寫這個 color space 由什麼組成,也沒寫怎麼轉進轉出。
- 13:09 省略實作細節的 color space 就是 reference space。範例中是 ACEScg,其他 color space 都以與它的關係來定義↳ 沒寫轉換細節的那個 color space,就是 reference space,也就是大家共用的基準。範例裡是 ACEScg,其他 color space 都用和它的關係來定義。
- 13:09 ACEScg 同時也是 ILM 的 studio working color space↳ ACEScg 也是 ILM 全公司統一的 working color space,所有 artist 都在這個色彩空間裡工作。
📘 術語
color scientist(色彩科學家):講者在 ILM 的職稱,字幕未進一步解釋
comp TD(合成技術指導):講者在 Animal Logic 的職位,字幕未解釋
pipe TD(pipeline 技術指導):字幕只說 tech spec 可放心交給工程師與 pipe TD
Academy Software Foundation(學院軟體基金會):Linux Foundation 贊助的開源計畫,協調電影業夥伴間的工程資源
OpenColorIO (OCIO)(開源色彩管理框架):最初由 Sony Pictures Imageworks 開發,用單一 config 檔統一各軟體的色彩管理
OpenColorIO-aware application(支援 OCIO 的應用程式):能讀取 OpenColorIO 設定的軟體,例如 Blender
color pipeline(色彩流程):為影片建立的整套色彩管理流程,本場主題
tech spec(技術規格書):客戶提供的文件,列出影響整部片的重要細節與技術要求
creative brief(創意簡報):字幕說 tech spec 不是 creative brief,所以能交給工程師
delivery specifications(交付規格):資料夾中要先找的 PDF 內容
plate(實拍素材):客戶送來要處理的 EXR 檔,色彩處於某個 color space
EXR(EXR 影像檔):客戶送來的 plate 檔案格式,字幕未解釋格式本身
CDL grade(CDL 調色):客戶拍攝當天做的大方向調色,多半不會用在成片
Nuke script(Nuke 腳本):客戶資料夾中的檔案之一,字幕未解釋
framing chart(構圖對照表):tech spec 中說明不同攝影機之間如何轉換的圖表
file handles(file handles):tech spec 中出現的項目之一,字幕未解釋
mastering environment(母版製作環境):成片最終呈現的環境,如電影院、Rec. 709 電視、HDR 顯示器
Rec. 709(Rec. 709):字幕以 Rec. 709 television 舉例說明一種 mastering 環境
HDR display(HDR 顯示器):字幕舉例的 mastering 環境之一
config file(設定檔):OCIO 集中所有色彩設定的單一檔案
environment variable (OCIO)(環境變數):設定 OCIO 環境變數指向自己的 config,即可接管應用程式的色彩管理
YAML(YAML):OCIO config 的文件格式
transform(轉換):config 的積木,如指數、矩陣乘法、插值 3D LUT、camera log transforms
3D LUT(3D 查找表):字幕列為 transform 的一種(插值 3D LUT),未進一步解釋
camera log transform(攝影機 log 轉換):字幕列為 transform 的一種,未進一步解釋
color space(色彩空間):如 sRGB、ACEScg,由與 reference space 的關係定義,可相互串接
reference space(參考空間):所有 color space 都以它為基準定義;沒寫實作細節的 color space 即是它
display(顯示輸出):呈現給應用程式的最終輸出清單,對應螢幕、投影機標準或交付物
view(view):字幕只列為可用 config 決定的項目之一
DCP(數位電影封包):字幕以 cinema DCP 作為特定交付物的例子
family(分類):color space 定義中的欄位,只用來整理分類
equality group(等價群組):同一 equality group 的 color space 視為相等,不需轉換
ACEScg(ACEScg):範例中的 reference space,也是 ILM 的 studio working color space
ACES 2 output rendering transforms(ACES 2 輸出渲染轉換):講者示範加進 Blender 2.64 的現代轉換
working color space(工作色彩空間):artist 統一工作用的 color space,ILM 用 ACEScg
comp TD(合成技術指導):講者在 Animal Logic 的職位,字幕未解釋
pipe TD(pipeline 技術指導):字幕只說 tech spec 可放心交給工程師與 pipe TD
Academy Software Foundation(學院軟體基金會):Linux Foundation 贊助的開源計畫,協調電影業夥伴間的工程資源
OpenColorIO (OCIO)(開源色彩管理框架):最初由 Sony Pictures Imageworks 開發,用單一 config 檔統一各軟體的色彩管理
OpenColorIO-aware application(支援 OCIO 的應用程式):能讀取 OpenColorIO 設定的軟體,例如 Blender
color pipeline(色彩流程):為影片建立的整套色彩管理流程,本場主題
tech spec(技術規格書):客戶提供的文件,列出影響整部片的重要細節與技術要求
creative brief(創意簡報):字幕說 tech spec 不是 creative brief,所以能交給工程師
delivery specifications(交付規格):資料夾中要先找的 PDF 內容
plate(實拍素材):客戶送來要處理的 EXR 檔,色彩處於某個 color space
EXR(EXR 影像檔):客戶送來的 plate 檔案格式,字幕未解釋格式本身
CDL grade(CDL 調色):客戶拍攝當天做的大方向調色,多半不會用在成片
Nuke script(Nuke 腳本):客戶資料夾中的檔案之一,字幕未解釋
framing chart(構圖對照表):tech spec 中說明不同攝影機之間如何轉換的圖表
file handles(file handles):tech spec 中出現的項目之一,字幕未解釋
mastering environment(母版製作環境):成片最終呈現的環境,如電影院、Rec. 709 電視、HDR 顯示器
Rec. 709(Rec. 709):字幕以 Rec. 709 television 舉例說明一種 mastering 環境
HDR display(HDR 顯示器):字幕舉例的 mastering 環境之一
config file(設定檔):OCIO 集中所有色彩設定的單一檔案
environment variable (OCIO)(環境變數):設定 OCIO 環境變數指向自己的 config,即可接管應用程式的色彩管理
YAML(YAML):OCIO config 的文件格式
transform(轉換):config 的積木,如指數、矩陣乘法、插值 3D LUT、camera log transforms
3D LUT(3D 查找表):字幕列為 transform 的一種(插值 3D LUT),未進一步解釋
camera log transform(攝影機 log 轉換):字幕列為 transform 的一種,未進一步解釋
color space(色彩空間):如 sRGB、ACEScg,由與 reference space 的關係定義,可相互串接
reference space(參考空間):所有 color space 都以它為基準定義;沒寫實作細節的 color space 即是它
display(顯示輸出):呈現給應用程式的最終輸出清單,對應螢幕、投影機標準或交付物
view(view):字幕只列為可用 config 決定的項目之一
DCP(數位電影封包):字幕以 cinema DCP 作為特定交付物的例子
family(分類):color space 定義中的欄位,只用來整理分類
equality group(等價群組):同一 equality group 的 color space 視為相等,不需轉換
ACEScg(ACEScg):範例中的 reference space,也是 ILM 的 studio working color space
ACES 2 output rendering transforms(ACES 2 輸出渲染轉換):講者示範加進 Blender 2.64 的現代轉換
working color space(工作色彩空間):artist 統一工作用的 color space,ILM 用 ACEScg
✏️ 小考一題
根據講者說法,OpenColorIO 最初是由哪個單位開發的?
A. Double Negative(DNEG)B. Sony Pictures ImageworksC. Animal LogicD. ILM看答案
答案:B。[07:39] 講者說 OpenColorIO 最初由 Sony Pictures Imageworks 開發,目的是簡化 VFX 色彩管理。其他三家是講者待過的公司
💛 覺得有幫助?支持一下


課本免費、沒有廣告,支持與否都能照常讀 🐰