Animation

“Bring thing to life”
让东西活起来
是一种交流工具
美学比技术更重要
把3D模型增加一个时间的维度

帧率

  • Film: 24 frames per second
  • Video (in general): 30 fps
  • Virtual reality: 90 fps(不晕的基础)

    动画的历史

    早期动画

    原理:视觉暂留

    狩猎壁画

    image.png

    万花筒

    image.png

    早期电影

    一种科学研究设备
    image.png

    里程碑式的动画

    Feature-Length

    剧场版,完整时长的动画,跟电影一样的动画
    image.png

    早期电脑动画

    光笔

    image.pngimage.png

    人物面部表情

    image.pngimage.png

里程碑式的电脑动画

侏罗纪公园特效,电影+电脑

image.png

玩具总动员,完全的电脑动画电影

image.png

关键帧动画 Keyframe Animation

image.png
最早是主艺术家创作关键帧,助手补帧。现在是电脑补帧。

插值 Keyframe Interpolation

image.png
把每一帧当作一个向量的变量值

插值方法:
image.png

物理仿真动画 Physical Simulation

比如说牛顿定律
image.png
image.png
建立模型——解方程的过程

比如说

  • 布料模拟
    • image.png
  • 流体仿真
    • image.png
  • Hair
    • image.png
  • 。。。

    两种建模描述世界的思想

    质点弹簧系统 Mass Spring System

    Example of modeling a dynamic system

质点弹簧系统就是一系列相互连接的质点和弹簧
可以做绳子也可以做布料和头发
image.png

A Simple Spring 简单弹簧

image.png
理想弹簧没有长度,拉开多长就有多大力
问题是弹簧肯定有长度的,所以有了非理想弹簧:胡克定律
image.png
这个问题就是会永远的震动下去
于是就要加一个阻尼力,Damping Force——速度的反方向
image.png
但是也会有问题,那就是当ab相对静止但是整体速度不为0的时候,还是会被停下来
也就是这个阻尼只能用于外部力,不能用于内部力
于是红框内点乘,让阻尼只出现在ab方向的相对运动(点乘就是做投影,用来排除圆周运动的情况)
image.png
完整版本的摩擦力就是上面

弹簧系统结构 Structure from springs

image.png
从一块布看,如何实现

  • 结构力
  • 弯曲力 (红色)
  • 剪切力 (蓝色)

的建模
image.png

有限元方法FEM (Finite Element Method)

image.png

粒子系统 Particle System

在一个很大规模内有一些小的重复的东西就是可以理解为粒子
image.pngimage.png
简单来说就是给每个粒子单独结算力
甚至可以用来做流体模拟。进行复杂运算需要加速结构
一个简单的过程
image.png
困难的在于如何把粒子间的作用力模拟出来Modeling,以及如何解出来 Solution
至于渲染,是单独拿出来思考的,不属于模拟的范畴,比如下面的流体仿真
image.pngimage.png

存在的力与碰撞检测

image.pngimage.png

群体 Simulated Flocking as an ODE

比如说鸟群模拟,分子模拟
image.png
www.red3d.com/cwr/boids
image.png

运动学 Kinematics

正向运动学 Forward Kinematics

image.pngimage.png

一个简单的两节Pin

image.png
通过给定的角度就可以计算末端的P的位置

Pros and Cons

好处

  • 方便直接控制
  • 实现起来很直接,容易

坏处

  • 定义非常的物理(角度)
  • 对于艺术家来说,调节起来很麻烦

所以为了让艺术家们更好的使用这套系统调节运动骨骼就有了逆向运动学

逆向运动学 Inverse Kinematics

image.png
给定尖端一个位置/轨迹,其他关节自动调节

一种简单的两节Pin

image.png
又回到上面那个例题,给定P的位置,要求角度
发现就会比较麻烦

随之而来的问题

解不唯一

image.pngimage.png

无解

image.png
尖端放到大圆弧外或者最内圆弧内,都会无解

优化方法解决问题

这里并没有学过所以也不懂
image.png

绑定 Rigging

绑定之前要蒙皮,为骨骼绘制控制面的权重
image.pngimage.png
一定程度上就是逆运动学的应用

非常像贝塞尔曲线,用一些控制点来 控制实际的绘制物体

Blend Shape

就是两个模型的控制点(及其权重)进行匹配
image.pngimage.png

Motion Capture 动作捕捉

仍然是离不开控制点
image.png
好处

  • 更加真实
  • 快速生成动画

坏处

  • 非常负责,而且准备工作很多,costly set-ups
  • 捕捉的动画可能不符合美术的要求,还是需要调整

不同的动作捕捉方案
image.png
最左的用白球是因为单向反射红外光,在摄像机内显眼
也是用的最广泛的,Marker方案
image.pngimage.png
还有一种面部常用的就是打结构光到脸上
image.pngimage.png

最新的RNN做动捕的办法

https://mp.weixin.qq.com/s/fr620nsNtkj4KyF50IKO7w
小k直播姬
速率和准确度都很nb

Marker Data

每个控制点得到的数据时图
image.png