徐 莉 戴冬妮
?
三維動(dòng)畫中的大尺度流體仿真模擬表現(xiàn)
徐 莉 戴冬妮
近年來(lái)計(jì)算機(jī)三維動(dòng)畫特效領(lǐng)域發(fā)展迅猛,在眾多模擬對(duì)象中,流體以其特有的高自由度和另類審美價(jià)值占據(jù)了重要位置。大尺度流體模擬、流體混合與相變、流固耦合等復(fù)雜運(yùn)動(dòng)形式一直都是三維中的挑戰(zhàn)性課題。
大尺度流體模擬中不僅要展現(xiàn)大尺度流體正確的體量關(guān)系,更要實(shí)現(xiàn)如泡沫、水霧、飛濺等細(xì)節(jié)的構(gòu)建。運(yùn)用流體動(dòng)力學(xué)模擬軟件Realflow下的Hybrido混合式大尺度液體求解系統(tǒng),使用網(wǎng)格流體與粒子流體相結(jié)合的新解算方法來(lái)快速模擬真實(shí)的大尺度流體運(yùn)動(dòng),實(shí)現(xiàn)電影級(jí)別的大規(guī)模流體效果。
Next Limit公司出品的流體動(dòng)力學(xué)模擬軟件是一款獨(dú)立特效軟件,建立在流體動(dòng)態(tài)計(jì)算技術(shù)上的物理粒子系統(tǒng)。在RealFlow5中引入網(wǎng)格流體解算器的新系統(tǒng)。
網(wǎng)格流體解算器Hybrido作為一個(gè)全新的復(fù)雜大型水體解算的方法,它結(jié)合了grid-based與 particle-based的手法,既能實(shí)現(xiàn)復(fù)雜大尺度核心流體運(yùn)動(dòng)效果,還能自動(dòng)創(chuàng)建和控制飛濺浪花、泡沫、煙霧等細(xì)節(jié)效果,運(yùn)用上百萬(wàn)個(gè)粒子實(shí)現(xiàn)流體大場(chǎng)景特效驚人的畫面,如海洋與翻滾的波浪、大型洪水、洶涌海浪沖擊峭壁巖石等。
(一) 建立核心流體
進(jìn)行海浪沖刷巖石場(chǎng)景模擬時(shí),核心流體體現(xiàn)在兩方面,有深度的海面和海浪。核心流體模擬的前提就是不需要精確到細(xì)節(jié)的大量粒子,使用Hybrido系統(tǒng),它將整個(gè)場(chǎng)景限定在一個(gè)空間范圍內(nèi),給大尺度流體的模擬設(shè)定Domain,網(wǎng)格流體可以快速的模擬大尺度范圍下的液體流動(dòng)的狀態(tài),grid domain的分辨率區(qū)別于傳統(tǒng)的分辨率,只會(huì)間接地影響粒子數(shù)目,越高的分辨率,仿真就會(huì)越細(xì)致精確。
液體中水是具有代表性的,液體的基本特性是易流動(dòng)性、不易壓縮等向的連續(xù)介質(zhì),液體的慣性、重力特性和粘滯性對(duì)液體運(yùn)動(dòng)有重要的影響。Grid Fluid Emitter發(fā)射器是大量流體粒子的流體源,Domain是控制流源體發(fā)射出來(lái)的粒子屬性的核心元素,主導(dǎo)粒子整體效果。源源不斷的粒子沖擊海岸,粒子的連續(xù)發(fā)射及發(fā)射速度的隨機(jī)性,都集中控制在這三個(gè)屬性上。Stream控制場(chǎng)景中發(fā)射源的持續(xù)發(fā)射,Initial speed對(duì)發(fā)射器發(fā)射的初始速度進(jìn)行設(shè)置,該參數(shù)可配合調(diào)整發(fā)射器的發(fā)射方向。另外,真實(shí)海水粒子的分布是不規(guī)則的,而發(fā)射粒子是根據(jù)grid的位置,會(huì)得到很規(guī)則的粒子發(fā)射,所以模擬時(shí)可以增大Jittering參數(shù)上隨機(jī)移動(dòng)粒子,消除過度明顯規(guī)則粒子,如圖1。
圖一: 動(dòng)畫片《世界的味道》2分55秒 核心流體模擬效果
圖二: 次級(jí)細(xì)節(jié)模擬效果 副本
圖三: 動(dòng)畫片《世界的味道》2分46秒 網(wǎng)格添加模擬效果
(二) 次級(jí)細(xì)節(jié)模擬
海浪沖刷海岸巖石中次級(jí)細(xì)節(jié)模擬來(lái)自于海浪相互作用、海水沖擊巖石所生成的飛濺水花、泡沫、水霧等,如圖2。
Hybrido系統(tǒng)下的Splash,即場(chǎng)景中單獨(dú)設(shè)置的飛濺粒子控制場(chǎng),飛濺水花的范圍是伴隨核心流體運(yùn)動(dòng)而生的,所以需調(diào)整場(chǎng)的大小以配核心流體碰撞運(yùn)動(dòng)的范圍,選擇其Inverse反向?qū)傩詾閅es,模擬場(chǎng)景設(shè)置其大小匹配Domain即可。在添加飛濺粒子后,會(huì)發(fā)現(xiàn)浪頭與沙灘巖石旁,細(xì)節(jié)上就會(huì)出現(xiàn)一些飛濺的粒子,模擬后會(huì)發(fā)現(xiàn)飛濺粒子似乎不受Domain影響,依舊有許多逃逸的粒子漏出來(lái),添加K-Volume殺場(chǎng)就能清除多余的粒子。
為了場(chǎng)景中流體仿真形態(tài)細(xì)節(jié)的豐富多元,可依照Splash的添加方式依次為場(chǎng)景添加Hybrido系統(tǒng)下的霧、泡沫等。真實(shí)狀態(tài)下的飛濺水花、霧和泡沫基本是浮在海面上的,所以模擬中可刪除全局鏈接里的重力Gravity,解除重力對(duì)這三者的影響。泡沫不會(huì)保持恒定的數(shù)量大小存在,它會(huì)隨著海浪運(yùn)動(dòng)會(huì)出現(xiàn)大小變化、產(chǎn)生消亡等,因此模擬時(shí)需要考慮泡沫的大小隨生命值的變化、泡沫與核心流體貼服距離。泡沫屬性中的Radius threshold 能控制泡沫產(chǎn)生的飛濺粒子的最小半徑,用來(lái)控制泡沫的數(shù)量;Detail threshold,決定了泡沫粒子與液體表面之間的高度與距離。
(三) 網(wǎng)格添加Grid mesh
網(wǎng)格添加是把握流體質(zhì)感和細(xì)節(jié)的重要步驟。海浪沖刷海岸場(chǎng)景,核心流體與次級(jí)細(xì)節(jié)流體是各自不同的粒子場(chǎng),所以網(wǎng)格mesh需要在核心流體與次級(jí)流體splash和foam之間無(wú)縫地產(chǎn)生網(wǎng)格,解決不同粒子的網(wǎng)格添加問題。Grid網(wǎng)格就是完全針對(duì)其設(shè)計(jì),它并不是仰賴粒子所計(jì)算的,盡管如此grid fluid particles可以跟標(biāo)準(zhǔn)的網(wǎng)格一起使用產(chǎn)生立體的流體,可以添加particle-based fluids到grid mesh中,所以結(jié)合了grid-based fluid 與 particle-based fluids這兩者,唯一的限制是:一個(gè)grid domain只能有一個(gè)grid mesh。
為了讓網(wǎng)格看起來(lái)更像自然狀態(tài)的水, 可在三個(gè)方面進(jìn)行調(diào)試:1)基于domain對(duì)粒子的控制,grid domain的grid細(xì)節(jié)越多,就能產(chǎn)生越平滑的網(wǎng)格,細(xì)密的網(wǎng)格使得流體相對(duì)會(huì)變得柔和光滑自然;2)放松值,這個(gè)功能會(huì)拉伸網(wǎng)格形狀。放松值可以用較低分辨率的發(fā)射產(chǎn)生高質(zhì)量的網(wǎng)格。3)張力值,要產(chǎn)生寫實(shí)的流體就必須要小心地使用放松這個(gè)參數(shù),過度使用會(huì)導(dǎo)致尖銳不自然的邊和細(xì)節(jié)的越少。運(yùn)用上述模擬方法,其效果如圖三。
動(dòng)畫中表現(xiàn)不同尺度和屬性的流體制作方法會(huì)越來(lái)越豐富,在展現(xiàn)其獨(dú)特的技術(shù)表現(xiàn)特性優(yōu)勢(shì)的同時(shí)也帶來(lái)更深層次的藝術(shù)展現(xiàn)空間。
* 本文系2013教育部人文社科項(xiàng)目《觸變性流體模擬應(yīng)用研究》(項(xiàng)目編號(hào):13YJC760099)階段性成果
徐 莉:中國(guó)地質(zhì)大學(xué)副教授
戴冬妮:武漢理工大學(xué)國(guó)際教育學(xué)院助教