Lecture 21:Animation
- 本讲内容可以被称为动画、模拟 或 仿真
- 今日内容——计算机动画入门:
- 历史
- 关键帧动画
- 物理模拟
- 运动学
- rigging
Animation 动画
- 让物体变活
- 是一种建模的拓展
- 动画的形成
- 电影:24帧每秒
- 一般视频:30帧每秒
- 游戏:60~144帧每秒
- 虚拟现实:90帧每秒
动画发展史
- 远古壁画
- 圆盘动画
- 早期电影技术(用于学术)
- 现代电影技术(更多用于娱乐)
- 第一部手绘的剧场版动画——白雪公主和七个小矮人
- 里程碑作品——侏罗纪公园:计算机特效生成的恐龙
- 里程碑作品——玩具总动员:完全用CG(计算机生成)的作品
- CG: computer generated
- 这部作品使用的是光栅化,并非光线追踪
- 十年前到今天:更加真实
Keyframe Animation 关键帧动画
- flash可以自动补充关键帧间的空缺——反映了人们对自动化生成中间帧的追求
- 关键帧插值
- 不一定是线性的
- 不一定是线性的
Physical Simulation 物理模拟/仿真
-
牛顿定律
-
基于物理的动画
- 一个例子:布料模拟
- 另外一个例子:流体
-
Mass Spring System 质点弹簧系统
- 例子:头发变化的模拟
- 例子:布料变化的模拟
- 什么是质点弹簧系统?
- 一个弹簧连接两个质点,见下图,利用了胡克定律
-
上图的问题,没有弹簧是零长度的,应该有rest length
-
上图的问题,因为能量守恒,会永远地震动下去
-
引入概念
- 头上几个点就是几阶导数
- 头上几个点就是几阶导数
-
引入damping force用于能量损失
- 但是也有问题,会使所有的运动都停下来
- 表示不了弹簧内部的能量损耗
-
该怎么办?
- 要考虑的摩擦力希望弹簧恢复到正常长度
- 与a和b之间的相对速度有关
- 做相对速度向ab方向的投影
- 下图框里面是点乘算出的标量
-
现在做的比较好了!
- 上图做的只是一种系列的摩擦力,实际还有别的
-
弹簧组成的结构
-
怎么用弹簧系统模拟一块布
- 问题:切变(沿着对角向外拽)会受影响
- 改进切变:加入斜对角线的弹簧(下图蓝色)
- 但是目前结构不对称,而且不能避免将其折起来的力(非平面弯曲)
- 那就再加
- 但是还是不能不能避免将其折起来的力(非平面弯曲),比如水平于某边折叠
- 再改,下图
- 加入红线,任意一个点都跟隔着一个的点连线
- 现在不能被任意非平面弯曲了
- 红线的连接相对较弱,蓝线较强
- 问题:切变(沿着对角向外拽)会受影响
-
也有除了质点弹簧系统之外的系统
- FEM:有限元方法——被广泛应用于车子碰撞
-
Particle Systems 粒子系统
- 一堆很微小的东西,把他们建模出来
- 定义粒子收到的各种力
- 在游戏中得到广泛应用
- 会有各种挑战问题:甚至用于模拟流体
- 来自于物体内部的作用力
- 怎么做,简略版:
- 粒子之间可能的作用力:
- 一个例子,万有引力
- 记得:是先模拟,后渲染
- 粒子系统不一定只模拟点
- 比如鸟群
- attraction
- repulsion
- alignment
- 比如鸟群
Forward Kinematics 运动学
- 图形学通常把运动学区分为正向和反向的
- 先讲正向的
- 定义三种关节
- pin 平面内旋转
- ball 可以不只在平面内旋转
- prismatic joint 可以平移
- 一个简单的例子
- 运动学的优缺点
- 逆运动学
- 为了让艺术家们更好地使用运动学系统
- 可以手里捏着尖端移动,自动调整关节位置以达到这种移动
- 写起来非常难
- 有的时候解并不唯一
- 不一定存在解法!
- 用一些优化方法(梯度下降等等)
Rigging
- 对于形状的控制,木偶操作
- 调整点以控制动作、表情等等
- Blend Shapes
- 在控制点之间做插值
- 在控制点之间做插值
- Motion Capture 动作捕捉
- 真人控制点
- 动捕的优缺点
- 一些不同的动捕设备
- 光学方法
- 每个控制点的数据
- 真人控制点
- 脸部动画的挑战
- 恐怖谷效应
- 恐怖谷效应
- 面部动作捕捉——阿凡达
- 电影的生产过程
- FX 为 effect的缩写,VFX为视觉效果
- 下节课讲啥
- 具体怎么解出来
- 欧拉方法等等