一块CPU就能运行超逼真水流特效!胡渊鸣的算法被这样实现,本人看了都说好…

郭一璞 鱼羊 发自 凹非寺
量子位 报道 | 公众号 QbitAI还沉醉在《黑神话:悟空》精细的3D计算机特效里呢?

做3D特效这件事儿,一浪更比一浪强。

最近,一位名叫John Lin的网友,就分享了自己做的3D流体特效。

注意,用GPU渲染之后,运行下面分享的所有特效效果,都只要一块CPU。

而且是实时的,你可以用鼠标操纵改变水流和环境。

比如,彩虹色的流水注入不规则的泳池,整个水流的形状、波澜,完全符合现实世界的物理特征。

一块CPU就能运行超逼真水流特效!胡渊鸣的算法被这样实现,本人看了都说好...

水满则溢,右边的瀑布划出了漂亮的抛物线。

一块CPU就能运行超逼真水流特效!胡渊鸣的算法被这样实现,本人看了都说好...

甚至还能做出这种类似跑马灯的效果。

一块CPU就能运行超逼真水流特效!胡渊鸣的算法被这样实现,本人看了都说好...

水扬上天,瞬间激起了洁白的浪花,冲撞天花板的各个角落。

一块CPU就能运行超逼真水流特效!胡渊鸣的算法被这样实现,本人看了都说好...

如果把地形改的再复杂一点呢?

比如,我们把地形改成苏州园林里的狮子林这种不规则假山组成的风格?

一块CPU就能运行超逼真水流特效!胡渊鸣的算法被这样实现,本人看了都说好...

加上水流,顿时就有了灵动的江南感。

一块CPU就能运行超逼真水流特效!胡渊鸣的算法被这样实现,本人看了都说好...

视角穿行其中,就像走在溶洞里一样。

一块CPU就能运行超逼真水流特效!胡渊鸣的算法被这样实现,本人看了都说好...

如果水流激荡,一样能穿过每条石头缝。

一块CPU就能运行超逼真水流特效!胡渊鸣的算法被这样实现,本人看了都说好...

真想@一下《江南百景图》的策划,下一部游戏别做2D平面风格了,做出这样的特效岂不是更加状况?

甚至,水流还可以适应动态的地形。

不信你看下面的例子。

一块CPU就能运行超逼真水流特效!胡渊鸣的算法被这样实现,本人看了都说好...

水流穿过上层容器中心的洞,形成瀑布浇灌下层容器。

一块CPU就能运行超逼真水流特效!胡渊鸣的算法被这样实现,本人看了都说好...

如果我们把两层之间的隔板删掉,模拟的水流依然可以适应地形的变化,用更快的速度坠落。

一块CPU就能运行超逼真水流特效!胡渊鸣的算法被这样实现,本人看了都说好...

简直巧夺天工。在只用一块CPU的情况下,有效粒子最高值达到了200万之高。

如果不过瘾,你可以可以看看视频完整版:

其实,上面的特效用到的工具是MLS-MPM算法,它的一作正是姚班毕业生、MIT在读博士胡渊鸣大神,在宾夕法尼亚大学蒋陈凡夫老师的指导下完成。

一块CPU就能运行超逼真水流特效!胡渊鸣的算法被这样实现,本人看了都说好...

水流的效果,让胡渊鸣本人都觉得惊艳,称赞作者代码功底强。

而且,不少同行开发者看到之后也都赞叹不已,impressive、awesome,各种好词轮流夸:

一块CPU就能运行超逼真水流特效!胡渊鸣的算法被这样实现,本人看了都说好...

一块CPU就能运行超逼真水流特效!胡渊鸣的算法被这样实现,本人看了都说好...

他们觉得,能在单个的CPU核心上跑起来,简直惊人。

一块CPU就能运行超逼真水流特效!胡渊鸣的算法被这样实现,本人看了都说好...

一块CPU就能运行超逼真水流特效!胡渊鸣的算法被这样实现,本人看了都说好...

MLS-MPM是什么胡渊鸣团队发表在SIGGRAPH 2018上的一篇论文,介绍了MLS-MPM算法。

MLS-MPM,全称是Moving Least Squares Material Point Method,移动最小二乘材料点方法。

用移动最小二乘法,将APIC(The Affine Particle-In-Cell Method)和动量方程弱形式一致的力计算统一起来,实现了新的应力散度离散化,使MPM的运行速度快了两倍,还成功模拟了MPM此前并不支持的各种新现象,包括材料切割、动态开放边界和刚性体的双向耦合。

它的基本步骤是这样的:

(1)从粒子到网格。使用APIC将质量和动量从粒子转移到网格上。

(2)更新网格动量。用半隐式欧拉法或隐式欧拉法更新网格动量。

(3)从网格到粒子。使用APIC将网格中的速度和仿射/多项式系数传递给粒子。

(4)粒子变形梯度。利用速度梯度的MLS近似更新粒子变形梯度。

(5)更新粒子塑性。预测粒子变形梯度的塑性(如果有的话)。

(6)粒子平移。用新速度更新粒子位置

与传统MPM唯一的区别是步骤(2)中力的表达和步骤(4)中粒子变形梯度的更新。

MLS-MPM在这两个步骤中均比MPM更容易实现,可以轻松实现性能的提升。

一块CPU就能运行超逼真水流特效!胡渊鸣的算法被这样实现,本人看了都说好...

另外,为了解决材料不连续和刚体耦合等问题,胡渊鸣团队还开发了Compatible Particle-In-Cell(CPIC)算法,允许基于粒子和网格节点之间的相对位置的材料点不连续和无限薄的边界。

这样就可以把MPM和刚性体双向耦合在一起,实现切割的模拟。

一块CPU就能运行超逼真水流特效!胡渊鸣的算法被这样实现,本人看了都说好...

现在,借助这个算法,就可以实现各种和符合物理规则、看起来像真的一样的运动特效了。

一块CPU就能运行超逼真水流特效!胡渊鸣的算法被这样实现,本人看了都说好...

一块CPU就能运行超逼真水流特效!胡渊鸣的算法被这样实现,本人看了都说好...

一块CPU就能运行超逼真水流特效!胡渊鸣的算法被这样实现,本人看了都说好...

传送门
如果你想具体了解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

试一试,说不定能做出更惊艳的作品?

— 完 —

本文系网易新闻•网易号特色内容激励计划签约账号【量子位】原创内容,未经账号授权,禁止随意转载。

每天5分钟,抓住行业发展机遇

如何关注、学习、用好人工智能? 

每个工作日,量子位AI内参精选全球科技和研究最新动态,汇总新技术、新产品和新应用,梳理当日最热行业趋势和政策,搜索有价值的论文、教程、研究等。

同时,AI内参群为大家提供了交流和分享的平台,更好地满足大家获取AI资讯、学习AI技术的需求。扫码即可订阅:

一块CPU就能运行超逼真水流特效!胡渊鸣的算法被这样实现,本人看了都说好...

加入AI社群,与优秀的人交流

一块CPU就能运行超逼真水流特效!胡渊鸣的算法被这样实现,本人看了都说好...

一块CPU就能运行超逼真水流特效!胡渊鸣的算法被这样实现,本人看了都说好...

量子位 QbitAI · 头条号签约作者

վ'ᴗ' ի 追踪AI技术和产品新动态

喜欢就点「在看」吧 !

原创:https://www.panoramacn.com
源码网提供WordPress源码,帝国CMS源码discuz源码,微信小程序,小说源码,杰奇源码,thinkphp源码,ecshop模板源码,微擎模板源码,dede源码,织梦源码等。

专业搭建小说网站,小说程序,杰奇系列,微信小说系列,app系列小说

一块CPU就能运行超逼真水流特效!胡渊鸣的算法被这样实现,本人看了都说好...

免责声明,若由于商用引起版权纠纷,一切责任均由使用者承担。

您必须遵守我们的协议,如果您下载了该资源行为将被视为对《免责声明》全部内容的认可-> 联系客服 投诉资源
www.panoramacn.com资源全部来自互联网收集,仅供用于学习和交流,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。 敬请谅解! 侵权删帖/违法举报/投稿等事物联系邮箱:2640602276@qq.com
未经允许不得转载:书荒源码源码网每日更新网站源码模板! » 一块CPU就能运行超逼真水流特效!胡渊鸣的算法被这样实现,本人看了都说好…
关注我们小说电影免费看
关注我们,获取更多的全网素材资源,有趣有料!
120000+人已关注
分享到:
赞(0) 打赏

评论抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

您的打赏就是我分享的动力!

支付宝扫一扫打赏

微信扫一扫打赏