图形学的未来:投身业界、布料仿真大牛王华民谈实时模拟的前世今生

简介: 最近一段时间,数字人、元宇宙(metaverse)、云游戏等新概念变得异常炙手可热。很多圈外人士对此兴奋不已,觉得科幻电影中的场景马上就要实现了。可很少有人会指出,在通往虚拟未来的道路上其实还有一块绊脚石:实时物理模拟。本文为王华民教授结合自己的研究对实时物理模拟的一些看法。

微信图片_20211206111544.jpg



不管是图形学圈内还是圈外,实时的重要性一直缺乏足够认识。 长期以来,圈内存在着一个误解:实时技术应该留给工业界开发。不少人觉得实时技术无非是把非实时技术优化一下。这种误解造成了图形学今天的尴尬局面。 一方面,非实时技术的应用基本仅在后期视效,而这一块已相当饱和。另一方面,大量亟需实时技术的应用,如高质量VR,数字人、虚拟试衣、虚拟手术等等,却迟迟无法落地。


微信图片_20211206111547.jpg


随着 NVIDIA RTX 方案的推出,实时渲染的问题已经逐渐解决。相比之下,实时物理模拟变得非常重要。和渲染不同,模拟的多样性决定了实时模拟无法单纯依赖硬件解决。RTX的加速结构也只能解决一小部分模拟问题。


微信图片_20211206111550.jpg


过去


二十年前,当我跨入图形学圈的时候,是不存在物理模拟这个概念的。当时模拟的主要应用是制作电影特效。而实时物理模拟被认为是mission impossible。


微信图片_20211206111553.jpg

加勒比海盗:世界尽头(2007)中的漩涡效果,由 ILM 的 Frank Lossaso-Petterson 利用斯坦福大学的 PhysBAM 物理模拟引擎完成。Frank 与本文作者是斯坦福的同研究组同学。


从技术上讲,物理模拟可以划分为流体模拟和形变体模拟两大类。这样的划分不太严格,但形变体模拟,包括弹性体模拟、布料模拟、头发模拟等等,有很多的共同之处。这与流体模拟是不太一样的。这与流体模拟有很大不同。


微信图片_20211206111556.jpg


与流体相比,形变体更加常见,应用的范围也更加广阔。读博期间(2004 年 - 2009 年),我主要研究的是流体。毕业以后,我逐渐意识到形变体的重要性,改为研究形变体。


早期的实时物理模拟技术非常简陋。很多时候需要牺牲模拟质量或者物理正确性。


回过头来看,Projective Dynamics (SIGGRAPH 2014) 是一篇非常重要的论文。它的重要性不在于提出的技术本身,而在于让很多人意识到物理模拟与非线性优化之间的相关性。从此大家的思路被打开了。


微信图片_20211206111600.jpg


以此出发,包括我们在内的各个研究团队不断提升形变体模拟的效率,使得新一代的物理模拟引擎越来越快。


值得一提的是,我们团队主要研究 GPU 上的物理模拟。和 CPU 相比,GPU 的并行能力更加出众。我们的模拟引擎的表现也更加出众。


与此同时,我们的模拟算法也需要适配GPU硬件的并行特性。想直接把CPU上的技术搬上GPU是很难成功的。


现在


时至今日,我觉得高质量的实时形变体模拟已经部分可行了。


首先说说游戏。游戏里使用的形变体模拟大多以 position-based dynamics (PBD) 技术为主。一个典型的实例是 NVIDIA 的 NvCloth。作为一个十多年旧的技术,PBD依旧活跃在今天,其实有着深刻的原因。


微信图片_20211206111603.jpg


一个最主要的原因在于现如今很多游戏需要考虑到跨平台,特别是移动端的的运行效率。而在一个游戏中,留给物理模拟的资源非常有限。对于模拟算法而言,内存访问通常会导致很大的计算成本。像PBD这样缺乏物理意义的算法就显得廉价且高效。


微信图片_20211206111607.jpg


PBD 的缺点也很明显。当模拟需要的网格规模变大(比如超过 1024 个顶点),PBD 的效率就不再那么优秀了。


遗憾的是,目前似乎并没有比 PBD 更适合游戏的实时模拟方法。如何为游戏提供高质量实时模拟将会是一个很重要的难题。


倘若我们把硬件资源的限制放宽些,允许模拟引擎可以完全使用最新的 GPU,那现状还是比较乐观的。


比如,我们 2016 年的工作,已经能在 GeForce GTX TITAN X 上实时模拟近 6 万个四面体网格的超弹性效果 (hyperelasticity)。


微信图片_20211206111610.jpg

一条被拉得扭曲的龙。


而今年(2021)我们在 SIGGRAPH 上展示的工作,更是能够在 2080Ti 上实时模拟一件有着 11 万个三角形的衬衫。


微信图片_20211206111613.jpg


形变体模拟的开发主要有两个技术门槛:运动求解(dynamics solver)与碰撞处理(collision handling)。在人体组织、肌肉等需要四面体网格模拟的场景中,运动求解通常是计算开销的主要来源。而对于服装、头发等模拟而言,碰撞处理尤为重要。


如何安全、稳定、高效地处理自碰撞,是所有形变体模拟引擎绕不开的问题。


需要提到的一点。大多数非实时碰撞处理技术无法在GPU上有效并行。因此,我们的团队最近把大量的精力放在利用GPU进行高效碰撞处理上。我们今年的工作将会是一个重要的开端。

未来


在不久的将来,GPU 毫无疑问会越来越快。


但我们不能单纯把实时模拟寄希望于硬件的提升上。过去,实时模拟技术的发展同时依赖于硬件的提升与算法的支持。未来,我们同样需要开发更高效、更匹配硬件的模拟算法,来实现更高质量的物理模拟。


我觉得,多重网格(multigrid)


微信图片_20211206111617.jpg


多 GPU 并行


微信图片_20211206111620.jpg


等等,都会是值得研究的方向。


事实上,我最近在 SIGGRAPH 2021 发表的工作,已经可以以一秒一帧的效率模拟一千万个三角形的服装了。


微信图片_20211206111623.jpg


对于流体,我其实特别喜欢基于各种波的实时水面模拟算法。我之前在佐治亚理工的同学,现在在奥地利IST的Chris Wojtan教授就做过很多这方面研究。当然,流体的表现形式太多样了。如果想实时模拟大规模的水花四溅还需要更多的工作。

微信图片_20211206111626.jpg


以假乱真的实时模拟效果出现的那天,不会太遥远。


作者简介:王华民,俄亥俄州立大学终身教授,四届 SIGGRAPH 技术论文委员会委员,公认的世界级图形学科学家。他还是凌迪科技 Style3D 首席科学家兼凌迪研究院院长。他曾以唯一作者身份独立完成四篇 SIGGRAPH(全球规模最大、影响最大的图形学会议)论文。王华民的论文也屡屡被指定为斯坦福、UC 伯克利等名校图形学课程的参考文献。


他的学生遍布知名大厂,从硅谷的 Google、Facebook、Adobe,到国内的阿里、字节、百度等图形和模拟开发领域的重要岗位,都有他曾授业解惑的门徒。业内流传:如果你研究布料仿真,就不可能没读过王华民教授的论文。

相关实践学习
部署Stable Diffusion玩转AI绘画(GPU云服务器)
本实验通过在ECS上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。
相关文章
|
3月前
|
人工智能
AI设计自己,代码造物主已来!UBC华人一作首提ADAS,数学能力暴涨25.9%
【9月更文挑战第15天】近年来,人工智能领域取得了显著进展,但智能体系统的设计仍需大量人力与专业知识。为解决这一问题,UBC研究人员提出了“自动智能体系统设计(ADAS)”新方法,通过基于代码的元智能体实现智能体系统的自动化设计与优化。实验结果表明,ADAS设计的智能体在多个领域中表现优异,尤其在阅读理解和数学任务上取得了显著提升。尽管如此,ADAS仍面临安全性、可扩展性和效率等挑战,需进一步研究解决。论文详情见链接:https://arxiv.org/pdf/2408.08435。
64 4
|
4月前
|
存储 分布式计算 大数据
惊了!大数据时代来袭,传统数据处理OUT了?创新应用让你眼界大开,看完这篇秒变专家!
【8月更文挑战第6天】在数据爆炸的时代,高效利用大数据成为关键挑战与机遇。传统数据处理手段难以胜任现今海量数据的需求。新兴的大数据技术,如HDFS、NoSQL及MapReduce、Spark等框架,为大规模数据存储与处理提供了高效解决方案。例如,Spark能通过分布式计算极大提升处理速度。这些技术不仅革新了数据处理方式,还在金融、电商等领域催生了风险识别、市场预测及个性化推荐等创新应用。
111 1
|
4月前
|
C# 机器学习/深度学习 搜索推荐
WPF与机器学习的完美邂逅:手把手教你打造一个具有智能推荐功能的现代桌面应用——从理论到实践的全方位指南,让你的应用瞬间变得高大上且智能无比
【8月更文挑战第31天】本文详细介绍如何在Windows Presentation Foundation(WPF)应用中集成机器学习功能,以开发具备智能化特性的桌面应用。通过使用Microsoft的ML.NET框架,本文演示了从安装NuGet包、准备数据集、训练推荐系统模型到最终将模型集成到WPF应用中的全过程。具体示例代码展示了如何基于用户行为数据训练模型,并实现实时推荐功能。这为WPF开发者提供了宝贵的实践指导。
59 0
|
4月前
|
前端开发 Android开发 开发者
移动应用开发的未来风云:跨平台框架携手原生系统,演绎震撼协同进化的史诗篇章!
【8月更文挑战第7天】《移动应用开发的未来:跨平台框架与原生系统协同进化》
37 0
|
机器学习/深度学习 人工智能 算法框架/工具
机器学习应用行业浮躁、产品差?身为工程师的你是否想转行
十几个小时前,一位机器学习工程师在 reddit 上发帖求助:ML 领域浮躁、门槛低、产品差,无法专心做东西,该不该换个领域?帖子一经发布,立刻引起了大量讨论。
144 0
机器学习应用行业浮躁、产品差?身为工程师的你是否想转行
|
人工智能 编解码 运维
带你读《扬帆远航 5G 融合应用实践精编》第三章钢铁行业3.2案例介绍(二)
带你读《扬帆远航 5G 融合应用实践精编》第三章钢铁行业3.2案例介绍
带你读《扬帆远航 5G 融合应用实践精编》第三章钢铁行业3.2案例介绍(二)
|
安全 5G SDN
带你读《扬帆远航 5G 融合应用实践精编》第三章钢铁行业3.2案例介绍(一)
《扬帆远航 5G 融合应用实践精编》第三章钢铁行业3.2案例介绍(一)
带你读《扬帆远航 5G 融合应用实践精编》第三章钢铁行业3.2案例介绍(一)
|
边缘计算 安全 物联网
带你读《扬帆远航 5G 融合应用实践精编》第三章钢铁行业3.2案例介绍(三)
带你读《扬帆远航 5G 融合应用实践精编》第三章钢铁行业3.2案例介绍
带你读《扬帆远航 5G 融合应用实践精编》第三章钢铁行业3.2案例介绍(三)
|
数据采集 存储 运维
带你读《扬帆远航 5G 融合应用实践精编》第三章钢铁行业3.2案例介绍(四)
带你读《扬帆远航 5G 融合应用实践精编》第三章钢铁行业3.2案例介绍
|
边缘计算 运维 安全
带你读《扬帆远航 5G 融合应用实践精编》第三章钢铁行业3.2案例介绍(五)
《扬帆远航 5G 融合应用实践精编》第三章钢铁行业3.2案例介绍(五)