今天,我们将创造疯狂的虚拟世界,在其中模拟柔软可变形的物体。是的,就是那些会形变的东西。这种新方法令人印象深刻,它能实现绝对精彩的效果:弹性野蛮人飞船、杆状物、极其柔软的字母、超详细的布料褶皱,还有那个不知名的东西。这确实很难,但我将为您总结这项研究三十年的成果。
情况如下:我们要么拥有快速但错误的模拟,要么拥有准确但痛苦缓慢的模拟。为什么?因为输入是一堆形状和作用于其上的力,输出是描述这些物体的每个微小点的新位置。这是一个非常困难的问题,因为这些物体是柔软的。每个微小点都会影响其他所有点,而这样的点有数百万个。因此,一个小错误可能会蔓延到各处并破坏整个模拟。
那么这项新技术能做什么?想象一棵你非常讨厌的树,希望再也见不到它。图形学研究者会怎么做?当然,向它扔南瓜灯,直到堆得再也看不见为止。能做到吗?让我们看看。哦,是的。有点疯狂。各位学者,这是卡罗伊·佐尔奈-费赫尔博士的《两分钟论文》。
以前的技术在这种场景下有问题。它们将问题分解为小部分并分别求解,但这些部分互不干扰,导致“过冲”问题。这意味着我们在某处应用小修正,却使整体情况恶化。物体开始晃动、减速,甚至爆炸。这是一个大问题,你不能把问题切分得太碎而不破坏整体。这几乎是个致命缺陷。
但这正是 GPU 擅长的领域。你不是依次解决切片一、切片二,直到切片一千。而是将所有一千个切片一起交给 GPU,一次性解决。以前做不到,但现在可以了。因为这种方法预测了每个小变化如何影响整个项目。
具体怎么做?通过预计算的共旋转局部扰动子空间。这意味着每个切片都能在其移动之前,告知自身运动、拉伸和拉扯对物体其余部分的影响。这简直是魔法,因为模拟终于既超级快速又保持稳定。
这个模拟包含由十万个元素组成的龙,非常准确。需要等多久?通宵?各位学者,请抓紧你们的论文,因为这条龙实验可以实时运行。是的,刚刚发生的。但这并非全部真相,稍后我会说明。
即使你有由二百五十万个元素组成的五艘野蛮人飞船,我以为这次得等通宵了。结果并非如此,它仍能每秒三帧。你可以实时看到运动过程。哇。以前的技术如顶点块下降法(VBD)也能做到。但新方法比 VBD 快 30 到 170 倍。这太快了。
对于纸牌屋,它也能达到每秒 30 帧。对于约四十万个元素的模拟,这令人难以置信。但还有更好的。论文说“无限倍快”?他们发明了时间机器吗?不。以前 VBD 在某些情况下根本无法收敛,模拟永远无法完成。
而新技术呢?看,多美。关于局限性:它确实能实时运行,但在模拟开始前需要预计算步骤。对于巨大场景,这需要时间。快速龙场景约 7 分钟,巨大场景 67 分钟。这有点糟糕。
但别绝望。这是我对论文的理解:你可以针对每个可变形资产预计算剩余形状海森矩阵。这意味着你可以在游戏发布前完成所有计算。用户看到时甚至不知道这部分,运行速度极快,这很棒。
这是开放科学,我们免费获得这一切。生逢此时,何其有幸。不幸的是,几乎没人谈论这类工作,所以我非常想与大家分享。谢谢。我们需要新工具来应对大语言模型时代,Weights & Biases 现在推出了 Weave,一个轻量级工具包,可自信地迭代 LLM 应用。使用追踪调试数据流,使用评估衡量进展。这是最好的。立即在 wnb.me/papers 或点击描述中的链接试用。