對於一個動畫製作團隊(Animation Studio)來說,製作流程(pipeline)的重要性,很難簡單言喻,或傳達出來。只能說,大家都在說 pipeline 很重要,不管是非常有經驗的主管級人物(supervisor, manager, …),或是在下頭苦幹實幹的作業人員(artist, TD, RD, production assistant, …),都會一致同意 pipeline 真的很重要這個說法。但究竟它有多重要,加上又聽說它是跟行政管理、軟體工作使用方式與規則、電腦圖學相關背景知識、程式技術…等,你問每個參與製作的人,大家都有自己的一套說法。在這邊,我想分享一下,從一位從事程式設計與問題排除的 TD(Technical Director)來看,pipeline 可以怎麼解釋。
Pipeline to a 3D/CG production is like glues everywhere between different softwares, departments and people.
對一個 3D/CG 專案來說,在不同的軟體之間、部門之間,甚或人之間,隨處可見到製作流程(pipeline)的影子,它就像膠水一樣,把這些不同的東西緊緊黏在一塊兒。
(上圖摘錄自 accad( the Advanced Computing Center for the Arts and Design)的 Animation Production 這門課。)
做 3d 模型的部門叫建模( modeling),畫材質(texture)與拉 UV 的部門叫材質(texturing)。當一個 3d 模型要從 modeling 進 texturing 時,需要一些程式或工具,用來檢驗這個模型的好與壞。檢驗的內容可以是:
- 它是不是 2-manifold。
- 模型裏頭的每個面的面數是否都少於或等於 4,或是沒有凹多邊型的存在。
- 法向量是否有反了的情況發生。
- 模型的佈線是否均勻,而且有做上應有的倒角(bevel)。
- 是否有 T-junction 的點存在。
- …
做好這樣的檢查,才可以保證日後的部門在使用這個模型時,不會發生問題,導致退貨,尤其在專案進行到後頭時,退貨的代價就會愈來愈高,像是可能導致有很多卡都要拿出來修正,或是要投入大量的技術人員…等。其中,模型的「好壞」,大大地決定了日後打燈算圖的品質。
做動畫,安排角色表演的是動畫部門(animation),接手開始打燈光,營造氣氛的是燈光部門(lighting)。當一卡,從 animation 進入 lighting 部門時,可能會發生如下的一些問題:
- 燈光師拿到的卡,一開起來,有些東西走位掉了,或是燈光師自己不小心動到,於是和動畫師調好的樣子不一樣。
- 動畫師工作時,用的是面數比較少的角色模型,而燈光師需要的是高精細度的模型。
- 動畫師不小心設定了鏡頭的一些參數,導致打燈時,一些依靠鏡頭的效果(像是動態模糊 motion blur、景深 depth of field、立體效果 sterescopic effect、…)有問題。
- …
這裏比較有趣的是,動畫師在拉動作時,最最關切的因素之一「穿幫」,與燈光師看到的「穿幫」,有時是不一樣的,結果就是,動畫師也很傷腦筋,因為他們看不出燈光師看得到的「穿幫」;而燈光師也很傷腦筋,因為處理這個問題,可能會佔去他們非常多的調燈光與算圖時間。這時,程式技術人員(或說是打雜人員也行)就介入,他們使出神的右手(有人是左手?),飛快地在鍵盤上敲敲打打,找出問題,解決,然後想想要開發點什麼工具,或是想個怎通的法子,避免這個問題重覆出現,並把結論傳承下去,供後人勉懷…
負責把燈光師打的燈光且算好的圖,拿來重整、微調與補救的部門叫合成(comp),接手的部門是把這些片段合起來,加入聲音與一些修正的是剪輯(editing)部門。他們之間的差別,在於一個是處理個別的動畫段落(卡、scene?),一個是處理一整串的動畫,所以在資料上來看,兩邊的差別是資料量的大小。剪輯需要的是合成把段落放好,方便供他快速取用,且隨時會被通知有更新的一卡出來,而且可能還得知會是否要做一些,像是 gamma correction/encoding、film grain 調整、影片品質與影片檔格式變更…等。
這時,我們可愛的技術指導又出現了,他們可能會寫一些小 script 來加快流程,或是做一些研究,報告說,在什麼階段,我們需要什麼影片檔格式比較優(ex, mpeg4 with mpeg 1 layer 3 audio on .avi, h.264 on quicktime movie, …)。
這些技術指導跑出來協助的工作,寫的小程式(有的慢慢就變大程式),就是我說的「膠水」了。