《加州大地震》的後半段,大海嘯打進城市後,有許許多多的殘骸碎片漂在水面上,而且,隨著巨石強森夫婦開船尋找他們女兒的同時,這些漂流碎片會與水面、船身、及建築物之間產生許多互動。(一) 如何讓這些漂流碎片自然的漂在水面上,以及 (二) 要如何加快碎片碰撞模擬的速度,成了我當時要解決的技術問題。
(一) 如何讓這些漂流碎片自然的漂在水面上
首先,我結合了我們以 Thinking Particles (簡稱TP) 為基礎而開發的 RBD (Rigid Body Dynamics) 系統,以及我們公司 ScanlineVFX 自主研發的著名流體特效軟體 Flowline。兩者結合後,RBD 系統所產生的碎片就能夠讀取 Flowline 模擬結果的資訊 - 如位置、速度...等等。如此一來,讀取了流體資訊的漂流物,不僅可以自然的浮在水上,還可以隨著在一些流體有較劇烈變化,如船的加速行駛時,產生像是被水面拋出的自然效果。換句話說,就是可以讓那些漂流物和流體的互動看起來很自然。
(二) 要如何加快碎片碰撞模擬的速度
再來是,如何同時模擬大量的碎片呢?我在我們的 RBD 系統中實作了另一個功能: 讓每個碎片的模型在模擬時,可以自動轉成面數較少的多面體,並且能夠維持一定的模擬精準度。如此一來,就大大的降低了模擬的計算量,也就可以同時模擬大量的物件了。此一方法被大量的用在每一個需要模擬大量漂流物的場景中。
最後,還是要感謝製作這部特效的藝術家同事們,讓我有機會以技術的角度跟他們一起製作出這麼酷的效果。
{youtube}hnJPHYAlid8{/youtube}