Unity 特效-流體效果學(xué)習(xí)筆記(二)
在前一章完成了基本的平流以及粘性模擬,但是此時(shí)所形成的流場(chǎng)與想象中的形態(tài)還相差深遠(yuǎn),在方程中由于流體不可壓縮所以流場(chǎng)也就是速度場(chǎng)的散度應(yīng)該處處為0,所以要通過(guò)壓力計(jì)算對(duì)流場(chǎng)進(jìn)行修正,來(lái)獲得散度為0的流場(chǎng)。
????但到這里整體的計(jì)算有大量的經(jīng)驗(yàn)和妥協(xié),所以在最后所計(jì)算出的流場(chǎng)與真實(shí)流場(chǎng)已然相聚深遠(yuǎn),但作為特效使用仍在一定程度上符合直覺(jué)。
????
由于C#腳本大體相同。
散度場(chǎng)為標(biāo)量場(chǎng),值為流入速度與流出速度之差,當(dāng)遇到邊界時(shí)則將當(dāng)前單元的速度反轉(zhuǎn)后寫(xiě)入。
通過(guò)對(duì)當(dāng)前散度場(chǎng)和壓力場(chǎng)進(jìn)行插值來(lái)模擬壓力的擴(kuò)散,散度為正時(shí)物質(zhì)流出故產(chǎn)生低壓區(qū),散度為負(fù)物質(zhì)流入造成高壓區(qū)。
利用這個(gè)方法對(duì)壓力場(chǎng)多次迭代來(lái)模擬壓力的擴(kuò)散。
在得到擴(kuò)散后的壓力場(chǎng)后通過(guò)壓力場(chǎng)對(duì)速度場(chǎng)進(jìn)行修正,為壓力方向添加速度。
最后復(fù)用平流方法是用修正后的速度場(chǎng)對(duì)原始圖像進(jìn)行處理
以下是我個(gè)人復(fù)刻內(nèi)容對(duì)我無(wú)法完全理解的參數(shù)進(jìn)行了簡(jiǎn)化。