机器之心专栏
作者:王华民(凌迪科技Style3D首席科学家兼凌迪研究院院长)
最近,数字人、元宇宙、云游戏等新概念变得异常火爆。很多圈外人对此感到兴奋,觉得科幻电影中的场景很快就会实现。但很少有人会指出,在虚拟未来:实时物理模拟的道路上,实际上有一个绊脚石。本文结合王华民教授的研究,提出了他对实时物理仿真的一些看法。
无论是在图形圈内还是圈外,对实时性的重要性一直缺乏足够的认识。
长期以来,圈内有一个误区:实时技术应该留给产业发展。很多人认为实时技术无非是优化非实时技术。这个误解造成了今天图形的尴尬局面。
一方面,非实时技术的应用基本上只是在后期的视觉效果上,这一块已经相当饱和了。另一方面,高质量的VR、数字人、虚拟试衣、虚拟手术等大量急需实时技术的应用被延迟。
与英伟达RTX合作
随着该方案的引入,实时渲染问题逐渐得到解决。相比之下,实时物理模拟变得非常重要。与渲染不同,仿真的多样性决定了实时仿真不能单靠硬件解决。RTX的加速结构只能解决一小部分仿真问题。
过去
二十年前,我进入图形圈的时候,还没有物理模拟的概念。当时模拟的主要应用是制作电影的特效。而实时物理模拟被认为是不可能完成的任务。
_加勒比海盗:世界末日的漩涡效应(2007),ILM的弗兰克洛沙索-彼得森使用了斯坦福大学的物理模型。
模拟引擎完成。弗兰克和这篇文章的作者在斯坦福大学同一个研究小组。_
从技术上讲,物理模拟可以分为两类:流体模拟和变形体模拟。这个划分不是太严格,但是可变形体模拟,包括弹性体模拟、布料模拟、头发模拟等等,有很多共同点。这与流体模拟有很大不同。这与流体模拟有很大不同。
与流体相比,变形体更常见,应用范围更广。博士期间(2004-2009年
在),我主要研究流体。毕业后,我逐渐意识到变形体的重要性,转而研究变形体。
早期的实时物理模拟技术非常初级。很多时候,需要牺牲模拟质量或物理正确性。
回顾,投射动力学(siggraph 2014)
这是一篇非常重要的论文。它的重要性不在于提出的技术本身,而在于让很多人认识到物理模拟与非线性优化的相关性。从那以后,每个人的思维都被打开了。
基于此,包括我们在内的各个研究团队不断提高可变形体仿真的效率,使得新一代物理仿真引擎的速度越来越快。
值得一提的是,我们团队主要在GPU上研究物理仿真。与CPU相比,GPU的并行能力更加突出。我们的模拟引擎也比较出众。
同时,我们的仿真算法也需要适应GPU硬件的并行特性。如果想直接把CPU上的技术转移到GPU上,是很难成功的。
现在
到目前为止,我认为高质量的实时变形体模拟是部分可行的。
先说游戏。基于位置的动态(PBD)技术是游戏中使用的主要技术。典型的例子是英伟达的
nvbuy .作为一项十多年的老技术,PBD今天依然活跃,其实有着深刻的原因。
large/pgc-image/0d16d05512ff4db98b06a420a5019771' />一个最主要的原因在于现如今很多游戏需要考虑到跨平台,特别是移动端的的运行效率。而在一个游戏中,留给物理模拟的资源非常有限。对于模拟算法而言,内存访问通常会导致很大的计算成本。像PBD这样缺乏物理意义的算法就显得廉价且高效。
PBD 的缺点也很明显。当模拟需要的网格规模变大(比如超过 1024 个顶点),PBD 的效率就不再那么优秀了。
遗憾的是,目前似乎并没有比 PBD 更适合游戏的实时模拟方法。如何为游戏提供高质量实时模拟将会是一个很重要的难题。
倘若我们把硬件资源的限制放宽些,允许模拟引擎可以完全使用最新的 GPU,那现状还是比较乐观的。
比如,我们 2016 年的工作,已经能在 GeForce GTX TITAN X 上实时模拟近 6 万个四面体网格的超弹性效果
(hyperelasticity)。
_一条被拉得扭曲的龙。_
而今年(2021)我们在 SIGGRAPH 上展示的工作,更是能够在 2080Ti 上实时模拟一件有着 11 万个三角形的衬衫。
形变体模拟的开发主要有两个技术门槛:运动求解(dynamics solver)与碰撞处理(collision
handling)。在人体组织、肌肉等需要四面体网格模拟的场景中,运动求解通常是计算开销的主要来源。而对于服装、头发等模拟而言,碰撞处理尤为重要。
如何安全、稳定、高效地处理自碰撞,是所有形变体模拟引擎绕不开的问题。
需要提到的一点。大多数非实时碰撞处理技术无法在GPU上有效并行。因此,我们的团队最近把大量的精力放在利用GPU进行高效碰撞处理上。我们今年的工作将会是一个重要的开端。
未来
在不久的将来,GPU 毫无疑问会越来越快。
但我们不能单纯把实时模拟寄希望于硬件的提升上。过去,实时模拟技术的发展同时依赖于硬件的提升与算法的支持。未来,我们同样需要开发更高效、更匹配硬件的模拟算法,来实现更高质量的物理模拟。
我觉得,多重网格(multigrid)
多 GPU 并行
等等,都会是值得研究的方向。
事实上,我最近在 SIGGRAPH 2021 发表的工作,已经可以以一秒一帧的效率模拟一千万个三角形的服装了。
对于流体,我其实特别喜欢基于各种波的实时水面模拟算法。我之前在佐治亚理工的同学,现在在奥地利IST的Chris
Wojtan教授就做过很多这方面研究。当然,流体的表现形式太多样了。如果想实时模拟大规模的水花四溅还需要更多的工作。
以假乱真的实时模拟效果出现的那天,不会太遥远。
作者简介: 王华民,俄亥俄州立大学终身教授,四届 SIGGRAPH 技术论文委员会委员,公认的世界级图形学科学家。他还是凌迪科技 Style3D
首席科学家兼凌迪研究院院长。他曾以唯一作者身份独立完成四篇
SIGGRAPH(全球规模最大、影响最大的图形学会议)论文。王华民的论文也屡屡被指定为斯坦福、UC 伯克利等名校图形学课程的参考文献。
他的学生遍布知名大厂,从硅谷的
Google、Facebook、Adobe,到国内的阿里、字节、百度等图形和模拟开发领域的重要岗位,都有他曾授业解惑的门徒。业内流传:如果你研究布料仿真,就不可能没读过王华民教授的论文。