- +1
一塊CPU就能運行超逼真水流特效,胡淵鳴的算法被這樣實現(xiàn),本人看了都說好
原創(chuàng) 關(guān)注前沿科技 量子位
郭一璞 魚羊 發(fā)自 凹非寺
量子位 報道 | 公眾號 QbitAI
還沉醉在《黑神話:悟空》精細(xì)的3D計算機特效里呢?
做3D特效這件事兒,一浪更比一浪強。
最近,一位名叫John Lin的網(wǎng)友,就分享了自己做的3D流體特效。
注意,用GPU渲染之后,運行下面分享的所有特效效果,都只要一塊CPU。
而且是實時的,你可以用鼠標(biāo)操縱改變水流和環(huán)境。
比如,彩虹色的流水注入不規(guī)則的泳池,整個水流的形狀、波瀾,完全符合現(xiàn)實世界的物理特征。




比如,我們把地形改成蘇州園林里的獅子林這種不規(guī)則假山組成的風(fēng)格?




甚至,水流還可以適應(yīng)動態(tài)的地形。
不信你看下面的例子。



如果不過癮,你可以可以看看視頻完整版:
其實,上面的特效用到的工具是MLS-MPM算法,它的一作正是姚班畢業(yè)生、MIT在讀博士胡淵鳴大神,在賓夕法尼亞大學(xué)蔣陳凡夫老師的指導(dǎo)下完成。

而且,不少同行開發(fā)者看到之后也都贊嘆不已,impressive、awesome,各種好詞輪流夸:




胡淵鳴團隊發(fā)表在SIGGRAPH 2018上的一篇論文,介紹了MLS-MPM算法。
MLS-MPM,全稱是Moving Least Squares Material Point Method,移動最小二乘材料點方法。
用移動最小二乘法,將APIC(The Affine Particle-In-Cell Method)和動量方程弱形式一致的力計算統(tǒng)一起來,實現(xiàn)了新的應(yīng)力散度離散化,使MPM的運行速度快了兩倍,還成功模擬了MPM此前并不支持的各種新現(xiàn)象,包括材料切割、動態(tài)開放邊界和剛性體的雙向耦合。
它的基本步驟是這樣的:
(1)從粒子到網(wǎng)格。使用APIC將質(zhì)量和動量從粒子轉(zhuǎn)移到網(wǎng)格上。
(2)更新網(wǎng)格動量。用半隱式歐拉法或隱式歐拉法更新網(wǎng)格動量。
(3)從網(wǎng)格到粒子。使用APIC將網(wǎng)格中的速度和仿射/多項式系數(shù)傳遞給粒子。
(4)粒子變形梯度。利用速度梯度的MLS近似更新粒子變形梯度。
(5)更新粒子塑性。預(yù)測粒子變形梯度的塑性(如果有的話)。
(6)粒子平移。用新速度更新粒子位置
與傳統(tǒng)MPM唯一的區(qū)別是步驟(2)中力的表達和步驟(4)中粒子變形梯度的更新。
MLS-MPM在這兩個步驟中均比MPM更容易實現(xiàn),可以輕松實現(xiàn)性能的提升。

這樣就可以把MPM和剛性體雙向耦合在一起,實現(xiàn)切割的模擬。




如果你想具體了解MLS-MPM算法,可以看這篇論文:
A Moving Least Squares Material Point Method with Displacement Discontinuity and Two-Way Rigid Body Coupling
http://taichi.graphics/wp-content/uploads/2019/03/mls-mpm-cpic.pdf
GitHub地址在此:
https://github.com/yuanming-hu/taichi_mpm
不過,由于這個項目比較早期,胡淵鳴本人更推薦使用「太極」:
https://github.com/taichi-dev/taichi
試一試,說不定能做出更驚艷的作品?
— 完 —
本文系網(wǎng)易新聞?網(wǎng)易號特色內(nèi)容激勵計劃簽約賬號【量子位】原創(chuàng)內(nèi)容,未經(jīng)賬號授權(quán),禁止隨意轉(zhuǎn)載。
原標(biāo)題:《一塊CPU就能運行超逼真水流特效!胡淵鳴的算法被這樣實現(xiàn),本人看了都說好》
本文為澎湃號作者或機構(gòu)在澎湃新聞上傳并發(fā)布,僅代表該作者或機構(gòu)觀點,不代表澎湃新聞的觀點或立場,澎湃新聞僅提供信息發(fā)布平臺。申請澎湃號請用電腦訪問http://renzheng.thepaper.cn。





- 報料熱線: 021-962866
- 報料郵箱: news@thepaper.cn
互聯(lián)網(wǎng)新聞信息服務(wù)許可證:31120170006
增值電信業(yè)務(wù)經(jīng)營許可證:滬B2-2017116
? 2014-2025 上海東方報業(yè)有限公司




