講座精華 ❘ 夢想特效師用花博專案解析 Houdini
2018 年 11 月,夢想動畫為台中花博製作了一個絕美的牆面投影作品;影片中大量的粒子聚合的效果就是用 Houdini 作的。1/12 週六下午,負責此作品的兩位夢想動畫特效師郭子維和林于傑,以其各自製作的段落為例,分享製作過程。
為什麼花博的專案適合用 Houdini 製作?
為什麼花博的專案適合用 Houdini 製作?又或者說,這個專案中有些部分除了 Houdini 以外,其他軟體可能很難執行。主要原因有兩個:
- 點的特性
整支影像中幾乎所有的物件都是由點構成的。以 3D 呈現,還包含運鏡跟轉場,上述這些事若在其他軟體處理會很花力氣。2D 軟體(例如 AE),也可以呈現點的效果,不過大概只能做到單張。相較之下,Houdini 在處理點就非常容易:只要給它一個模型、撒上點,最後上貼圖,就可以算圖,其他的都是動態處理上的事。 - 自由度
Houdini 在製作上的自由度可以體現在很多地方。譬如程序性的建立好規則以後,可以輕易的複製或改動效果。在花博專案中很大程度展現了 Houdini 的優勢跟方便。這點兩位老師後續會舉例說明。
影像概念
整支影像是以微觀到宏觀的角度,展現台中的自然環境。所以從開頭的 DNA 生長開始,持續將視角拉遠, 直到片尾的宇宙樣貌。過程中會看見像是濕地、梯田、翠池、星空等,從低海拔到高海拔度的各種景觀跟動植物。
課程的第一部分,由林于傑老師用影片開頭的 DNA ,說明 Houdini 的屬性、節點等基本觀念
在進入製作前,要先認識幾個 Houdini 的基本名詞:
節點:是 Houdini 的基本工具。節點的類型很多,也各自具有不同功能。你可以透過節點設定參數,控制物件的長短、位置等。
屬性:屬性則是 Houdini 中各種類型的資料,包含像是點線面的顏色、大小、位置等。
在 Houdini 中,你可以自定義原本 Houdini 中沒有的屬性;例如你可以自定義出一個 Normal (指法線向量,也就是垂直於物件面的向量)的屬性,決定它的長度、方向等。
用程序性的思維,建置 DNA
程序性思維意味著在製作的過程中,有脈絡的規劃,並且每個步驟都是標準化、規範化的。程序性的建置 DNA 的過程:
- 首先用 Resample 這個節點,將線上的點細分出來。接著勾選 Curveu 這個屬性, 把線段上第一個點到最後一個點,按照 0~1 重新平均分布。
2. 增加 Color 這個節點,並且利用 Ramp from Attribute 的功能, 依據 Curveu 上屬性的值,製作顏色漸層。
3. 接著新增 Copy to Point 這個節點。Copy to Point 的作用是將點上的屬性資訊(位置、顏色、大小等等)複製到物件上。
4. 將直線合併,再增加 Mirror 這個節點,鏡像複製出 DNA 的另外一半。
5. 用 Bend 這個節點,扭出 DNA 的形狀,就完成了。
6. 最後把所有東西打包做成工具,整理所需參數(長度、寬度、密度、粗細、扭曲程度),在外面寫好要控制的欄位。未來當客戶或是導演希望 DNA長一點、寬一點、窄一點、密度低一點的時候,只要個別控制那些參數就可以。而這正是 Houdini 這個軟體的優勢之一。
接著郭子維老師分享蝴蝶變成河流的段落,說明轉場的方式、如何整合不同的場景與攝影機
好轉場的定義有很多,其中一項是在不同 Cut 轉換之間,攝影機或物件移動的軌跡是否流暢。用花博專案為例的話,就是在蝴蝶飛舞、轉變為河流的過程中,能否無礙的銜接兩者。
第一步,整合場景與攝影機
這個段落困難之處在於,蝴蝶與河流各自的 3D 場景跟攝影機都在不同位置,要如何整合場景與攝影機,做出流暢的轉場?因此第一步是整合場景與攝影機,順成同一個鏡頭。
第二步,讓蝴蝶轉變為河流
- 首先要做的事是製作蝴蝶。如同前面提到的,在 Houdini 製作點是相當容易的,只要撒點並且上貼圖,基本上蝴蝶就製作完成了。
2. 然後製作河流。大致上河流的製作過程可以拆分為:撒點、將點連線、細分線斷、扭動幾個步驟。
2. 接著設定蝴蝶消散的時間點。在影片中蝴蝶首先消散,再轉變為河流,因此先做出蝴蝶的消散。這步設定每隻蝴蝶消散的時間點:
然後進到粒子系統製作消散的效果:
3. 接著讓消散後的蝴蝶,吸附到前面製作的河流的線上。這裡的邏輯是,消散後的蝴蝶的點,要找出河流的線段上最近的位置。
4. 接著利用 Age 這個屬性,控制點出現(Age 可以理解為點的「年紀」。這邊 Age 設定為 0.5–1.5,也就是每個點出生的時間不同,在經過一段時間後,各自擁有 0.5 秒到 1.5 秒不等的 Age)。點在出生後,會開始慢慢附著到河流的線段上。
5. 不過這時會遇到的問題是,點會隨著時間經過,不停的判斷最近的點,造成跳動。因此需要用 Timeshift 這個節點讓時間暫停,讓點和線都定格在某時間,找出最近的點,給予會動點的位置。
第三步,去除空間感
在最後的成果中,蝴蝶飛行轉換到河流的過程中,場景是不動的。在場景不動、攝影機持續前進、蝴蝶也持續移動的情況下,畫面會出現空間感,而這不是希望達到的效果。因此在這步需要消去空間感。
- 讓河流跟隨攝影機。
2. 利用視覺原理,讓物件大小在鏡頭中看起來不動。
當物體靠近攝影機同時縮小、或物體遠離攝影機同時放大,在攝影機中看起來是不會變的。
利用這個視覺原理,把蝴蝶投影到平面上,並在那個平面上做所有要做的事。如此一來不管攝影機拉遠或拉近,蝴蝶看起來都是不會變的。
最後只要算圖、合成就完成了整段轉場。
從花博專案學 Houdini
拆解花博專案的過程中,可以知道要使用 Houdini 做特效,數學、邏輯、美感、程式語言、邏輯與規劃能力每項都很重要。理性的邏輯能力跟感性的美感能力兩種都必須具備。而兩位夢想特效師的背景正巧是端點的兩邊。因此若想成為好的特效師、想用 Houdini 做特效,任一邊的能力都不能偏廢。
這是夢想發光吧首次舉行的課程,未來如果你有興趣參與、想聽其他主題,歡迎 follow 夢想發光吧粉專或者私訊我們