第一讲:数值积分基础

现代物理,本质上只包含几何与材料两块的内容。几何描述的是物件的空间结构,对于给定的几何结构,不同的材料对于外界的反应是不同的。现代物理,不论是刚体软体流体,甚至是量子力学,本质上就是为了将这两种内容分开。

计算机动画,本质上是一种视觉上的体验,通过视觉暂留效应用离散的图片模拟出连续的动画效果。

最早的动画可以追溯到公元前三千年,人们发现的一个陶罐上面通过手绘多个图片,将多个图片串联起来就构成了一只山羊跳起来吃树叶的动画,而这种通过序列帧模拟连续运动的方式一直持续到早期的游戏制作,甚至今天2D游戏还依然大量使用这类动画技术。

一些3D游戏中的角色的动作目前基本上是通过骨骼蒙皮实现,这种动画着眼于大体的肢体动作,数据量少,通过堆人力的方式可以得到很好的效果,但是对于头发飘动、衣服的褶皱与抖动等效果由于数据量过大则是无法通过这种方式实现,这类动画我们称之为secondary fact,因此我们需要一种自动化的方法或者技术来实现对secondary fact的模拟与计算,而这就是这门课的意义与目的。

要想实现自动创造动画的目的,我们就需要遵循一套最基本的最好的规则,这就是所谓的第一性原理(即抛开所有的杂项,只聚焦在最关键的部分上),而最好的规则就是基于物理的方法来创造计算机动画,这是因为基于物理原理的算法输出的结果是自然的真实的,能够让人信服的。

现在的计算机动画最主要的内容就包括如下三块:

  1. 刚体模拟
  2. 软体模拟
  3. 流体模拟

当然,我们经常在游戏中看到一些其他效果,如雪、破碎、沙子等,这些现象其实可以拆分成上述三种模拟的一种或者多种,或者说前面的三种模拟就是物理动画模拟的基向量。

1. 动画模拟趋势观察分析

所有的技术最终都是为如下三个目的中的一个或者多个服务的:

  1. 提高产品质量、增强效果
  2. 降低成本、增强效率
  3. 扩大应用范围与边界

从学术界来看,计算机动画的趋势有三种:

  1. 不同scale的动画模拟,以及不同物理现象融合在一起的动画效果
  2. 神经网络+机器学习带动下的基于数据驱动的动画模拟
  3. 多态(不仅仅局限于视觉,还会扩展到触觉以及声音等现象的)模拟

1.1 多scale模拟

可以参考Siggraph 2008年的一篇文章:Wavelet Turbulence[Kim et al. 2008]。这篇文章通过将一个复杂的动画效果拆解成多个不同scale的简单动画效果,从而以较低的消耗近似模拟出一个高复杂度的动画效果:

另外,Siggraph 2018年的一篇文章(Chen et al. Siggraph Asia 2018)也使用了这种方式实现了对沙子(Granular Material)的模拟:

上图中,左边是将每颗沙子都单独建模进行模拟的效果,右边是红色沙子当成流体进行模拟,蓝色沙子还是单独建模进行模拟,两者效果看起来差不多,不过右边的方案计算效率有6.8倍的提升。

除此之外,Siggraph 2021年的一篇文章(Huang et al. Siggraph Asia 2021)也是基于这个思想实现的:大尺度的海洋用简化的方案模拟,船跟海洋交互产生的浪花则是使用较为精细的方案模拟。

UCLA的一个组用这种方案实现了对船在海洋中运动的交互效果。

除了上面之外,还有一些其他的工作也是基于这种想法做出来的,这里就不一一罗列了。

1.2 数据驱动方法

基于数据驱动的方案介绍之前,先来看下一种十分古老的动画模拟方案:Model Reduction。翻译一下,就是模型简化,即将一个复杂的模型分解成若干种简单的模型再进行模拟的方案,图形学中的球谐函数SH其实也是基于这种方式来完成对光照的模拟的。

上图中的公式中D就是模拟盘子形变各点受力情况的项,在这一项中,由于需要模拟的点非常多,因此是一个十分高纬度的向量,而u则是这个向量的一个表示,而通常对这个的求解是通过将高纬度的u转换为低纬度的q来实现的,其中一个关键问题是,如何找到完成这个转换的矩阵U,而这个矩阵的求解则是通过数据驱动(如神经网络,机器学习等)的方法实现的。

Siggraph 2013的一篇文章通过暴力罗列所有动画输入与输出效果映射数据的方式实现了对衣服布料的实时模拟,上面的第二张图就是对应于不同的布料状态在不同的输入下的输出分支,可以理解为布料的整体模拟效果的分支,这个方案的问题在于需要消耗较高的内存(据说是几百兆)。

除此之外,GDC中以及Google的科学家也在摸索通过机器学习以及神经网络来通过当前帧的数据模拟输出下一帧的动画数据的方法,不过总的来说,在当前的技术水平上,这种方式可能还仅仅只能停留在学术层面,无法做到工业应用。

直接通过机器学习与神经网络根据当前帧数据输出下一帧数据的方法目前还面临很多问题,比如稳定性,比如last mile problem等,可能在十几帧中可以得到不错的表现,但是在继续模拟下去得到的结果就是满天乱飞,或者可能99%的情况下可以得到正确的效果,但是1%的可能会导致错误的结果,而这1%的错误可能导致后面的模拟就完全是错误的,无法回到正确结果,这显然也是无法接受的。

不过,基于数据的方法虽然在现在还不能直接用来计算最终的效果,但是却可以用于对传统的方案中的某一步或者某几步进行加速或者提升。

前面说过,通过model reduction可以实现对复杂物理效果的模拟,但是这种模拟只能模拟给定采样点的形变,相邻区域的数据则是通过插值求得,上面这里给出的了一种方法,通过神经网络在给定的Reduction Model下,可以实现任意点的变换,通过这种方式可以移除此前采样点离散导致的精度问题。

1.3 多态模拟

体感模拟

触觉对时间的敏感度高于视觉,需要做到至少1000 fps才能达到可以接受的地步,因此需要较高的性能。

声音模拟

上面展示的是通过计算机模拟出场景交互中的声音(比如盘子掉在地上发出的声音)。

如上图所示,声音的模拟需要完成如上两步的计算,分别是物件交互的震动模拟,以及震动转换为声波的传播的计算。顺便提一下,声音模拟计算性能要求还要高于体感模拟,每秒中要生成44100个数据点(与人耳的感知频率范围有关,根据奈奎斯特采样定律得到)。

2. 整个课程概览

这门课是郑昌熙教授在哥伦比亚大学为大四或者研一的学生所开设的计算机动画课程衍生而来,对课程感兴趣的同学可以去搜寻相应的材料。

整个课程会分为如下四个部分:

  1. 数值积分基础
  2. 刚体动力学
  3. 软体动力学
  4. 流体动力学
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,186评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,858评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,620评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,888评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,009评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,149评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,204评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,956评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,385评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,698评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,863评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,544评论 4 335
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,185评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,899评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,141评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,684评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,750评论 2 351

推荐阅读更多精彩内容