徐 莉 戴冬妮
?
三維動畫中的大尺度流體仿真模擬表現
徐 莉 戴冬妮
近年來計算機三維動畫特效領域發展迅猛,在眾多模擬對象中,流體以其特有的高自由度和另類審美價值占據了重要位置。大尺度流體模擬、流體混合與相變、流固耦合等復雜運動形式一直都是三維中的挑戰性課題。
大尺度流體模擬中不僅要展現大尺度流體正確的體量關系,更要實現如泡沫、水霧、飛濺等細節的構建。運用流體動力學模擬軟件Realflow下的Hybrido混合式大尺度液體求解系統,使用網格流體與粒子流體相結合的新解算方法來快速模擬真實的大尺度流體運動,實現電影級別的大規模流體效果。
Next Limit公司出品的流體動力學模擬軟件是一款獨立特效軟件,建立在流體動態計算技術上的物理粒子系統。在RealFlow5中引入網格流體解算器的新系統。
網格流體解算器Hybrido作為一個全新的復雜大型水體解算的方法,它結合了grid-based與 particle-based的手法,既能實現復雜大尺度核心流體運動效果,還能自動創建和控制飛濺浪花、泡沫、煙霧等細節效果,運用上百萬個粒子實現流體大場景特效驚人的畫面,如海洋與翻滾的波浪、大型洪水、洶涌海浪沖擊峭壁巖石等。
(一) 建立核心流體
進行海浪沖刷巖石場景模擬時,核心流體體現在兩方面,有深度的海面和海浪。核心流體模擬的前提就是不需要精確到細節的大量粒子,使用Hybrido系統,它將整個場景限定在一個空間范圍內,給大尺度流體的模擬設定Domain,網格流體可以快速的模擬大尺度范圍下的液體流動的狀態,grid domain的分辨率區別于傳統的分辨率,只會間接地影響粒子數目,越高的分辨率,仿真就會越細致精確。
液體中水是具有代表性的,液體的基本特性是易流動性、不易壓縮等向的連續介質,液體的慣性、重力特性和粘滯性對液體運動有重要的影響。Grid Fluid Emitter發射器是大量流體粒子的流體源,Domain是控制流源體發射出來的粒子屬性的核心元素,主導粒子整體效果。源源不斷的粒子沖擊海岸,粒子的連續發射及發射速度的隨機性,都集中控制在這三個屬性上。Stream控制場景中發射源的持續發射,Initial speed對發射器發射的初始速度進行設置,該參數可配合調整發射器的發射方向。另外,真實海水粒子的分布是不規則的,而發射粒子是根據grid的位置,會得到很規則的粒子發射,所以模擬時可以增大Jittering參數上隨機移動粒子,消除過度明顯規則粒子,如圖1。

圖一: 動畫片《世界的味道》2分55秒 核心流體模擬效果

圖二: 次級細節模擬效果 副本

圖三: 動畫片《世界的味道》2分46秒 網格添加模擬效果
(二) 次級細節模擬
海浪沖刷海岸巖石中次級細節模擬來自于海浪相互作用、海水沖擊巖石所生成的飛濺水花、泡沫、水霧等,如圖2。
Hybrido系統下的Splash,即場景中單獨設置的飛濺粒子控制場,飛濺水花的范圍是伴隨核心流體運動而生的,所以需調整場的大小以配核心流體碰撞運動的范圍,選擇其Inverse反向屬性為Yes,模擬場景設置其大小匹配Domain即可。在添加飛濺粒子后,會發現浪頭與沙灘巖石旁,細節上就會出現一些飛濺的粒子,模擬后會發現飛濺粒子似乎不受Domain影響,依舊有許多逃逸的粒子漏出來,添加K-Volume殺場就能清除多余的粒子。
為了場景中流體仿真形態細節的豐富多元,可依照Splash的添加方式依次為場景添加Hybrido系統下的霧、泡沫等。真實狀態下的飛濺水花、霧和泡沫基本是浮在海面上的,所以模擬中可刪除全局鏈接里的重力Gravity,解除重力對這三者的影響。泡沫不會保持恒定的數量大小存在,它會隨著海浪運動會出現大小變化、產生消亡等,因此模擬時需要考慮泡沫的大小隨生命值的變化、泡沫與核心流體貼服距離。泡沫屬性中的Radius threshold 能控制泡沫產生的飛濺粒子的最小半徑,用來控制泡沫的數量;Detail threshold,決定了泡沫粒子與液體表面之間的高度與距離。
(三) 網格添加Grid mesh
網格添加是把握流體質感和細節的重要步驟。海浪沖刷海岸場景,核心流體與次級細節流體是各自不同的粒子場,所以網格mesh需要在核心流體與次級流體splash和foam之間無縫地產生網格,解決不同粒子的網格添加問題。Grid網格就是完全針對其設計,它并不是仰賴粒子所計算的,盡管如此grid fluid particles可以跟標準的網格一起使用產生立體的流體,可以添加particle-based fluids到grid mesh中,所以結合了grid-based fluid 與 particle-based fluids這兩者,唯一的限制是:一個grid domain只能有一個grid mesh。
為了讓網格看起來更像自然狀態的水, 可在三個方面進行調試:1)基于domain對粒子的控制,grid domain的grid細節越多,就能產生越平滑的網格,細密的網格使得流體相對會變得柔和光滑自然;2)放松值,這個功能會拉伸網格形狀。放松值可以用較低分辨率的發射產生高質量的網格。3)張力值,要產生寫實的流體就必須要小心地使用放松這個參數,過度使用會導致尖銳不自然的邊和細節的越少。運用上述模擬方法,其效果如圖三。
動畫中表現不同尺度和屬性的流體制作方法會越來越豐富,在展現其獨特的技術表現特性優勢的同時也帶來更深層次的藝術展現空間。
* 本文系2013教育部人文社科項目《觸變性流體模擬應用研究》(項目編號:13YJC760099)階段性成果
徐 莉:中國地質大學副教授
戴冬妮:武漢理工大學國際教育學院助教