在国外,每次拍一部电脑制作的电影,不仅有非常优秀的美术人员参与其中,还有自己的一支技术研发队伍。为了取得视觉效果上的突破,常用的3D制作软件总是达不到导演的要求。因此总是要由工程师们与学术界紧密合作开发出各类专用软件,研究出新的解决办法。《怪物史莱克》第一集在2001年上映时,全球票房达到4亿5500万美元,并获得奥斯卡金像的第一座最佳动画长片奖。接下来的《怪物史莱克2》(Shrek 2)不仅剧情生动有趣,在3D绘制技术上更是取得多项突破。其中流体动力学系统打造的海浪、牛奶和魔法药水让人在动画片中看到了非常具有真实感的一幕。
描述流体运动的Navier-Stokes方程,在一百多年前就根据牛顿定律(F=ma)推导出来了。但是该方程在图形学中的探索应用却是在二十世纪九十年代中期。在这以前流体的绘制只是追求视觉上接近,并不根据其内在物理规律。Navier-Stokes方程在3D绘制上的广泛应用起源于1999年stam公开的一篇论文“stable fluids”。当时stam供职于ALIAS公司,从论文中的语气看,此方法好象几年前就研究出来了,只是未加以公开。该文的一个贡献是使用了半拉格朗日方法来取得Advect方程无条件的稳定解,而不必考虑步长的大小;另外还使用了一种投影的方法来保证质量守恒。以前的方法要用非常小的步长,才能求得Advect方程的近似解,这样运算的速度非常慢而且结果也不一定准确。
“stable fluids”论文的公开,引发了随后几年学术界对Navier-Stokes方程在流体绘制中研究的热潮。斯坦福大学的Ronald Fedkiw是其中的领军人物,完成了一系列的在该领域的里程碑式的文章。“Visual Simulation of Smoke”,将“stable fluids”方法引入到了烟的真实绘制,并且做出一个非常有效的改进Vorticity Confinement,解决了半拉格朗日方法由于在粗格子计算导致漩涡过快消失这一弱点。该论文的结果非常的漂亮,在Ronald Fedkiw的网站上有演示动画片。在SIGGRAPH2001,“Practical Animation of Liquids”一文问世了,是PDI/DreamWorks的Nick Foster与Ronald Fedkiw合作的文章,在“stable fluids”的基础上,创造性地运用Dynamic Level Set来模拟水的表面。《怪物史莱克2》的流体绘制软件就是PDI/Dream Works科学家Nick Foster开发的。SIGGRAPH2002“Animation and Rendering of Complex Water Surfaces”使用了Particle Level Set Method方法,使水的绘制达到了照片般的逼真。SIGGRAPH2004“Simulating Water and Smoke with an Octree Data Structure”更是百尺竿头更上一层,相关图片可见http://graphics.stanford.edu/~fedkiw/
最近我一直在看这些论文,仔细地思考这些问题。很希望能在网上成立一个流体绘制兴趣小组,大家能一起讨论,共同编写自己的流体绘制软件。我的EMAIL是szlongman@hotmail.com.
下图为“Visual Simulation of Smoke”中的图片
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗