· 动画形成的视觉原理
所谓动画,就是指通过每秒若干帧的速度顺序地播放静止图像帧以产生运动错觉的艺术。
动画利用了人的视觉残留这一特点,即上个画面的残留还未消失,下一个画面又进入视觉,这样循环往复,在人的眼中形成动态的画面。
· 传统动画应用于三维计算机动画的基本原则
Squash and stretch:挤压和伸展
Timing:掌握时序
Anticipation:预期性
Staging:布局
Follow-through and overlapping action:跟随动作与重叠动作
Straight-ahead action and pose-to-pose action:连贯动作法与关键动作法
Slow in and slow out:慢入和慢出
Arcs:弧形动作
Exaggeration:夸张
Secondary action:附属动作
Appeal:吸引力
Solid drawing:手绘技巧?
Depth of field:景深
Balance and weight:平衡及重量感
· 2D Shape Blending(二维形状的自然渐变)涉及哪两个子问题?
- 顶点的对应关系问题
- 顶点的插值问题
· 基于内在形状插值的多边形渐变方法的基本思想
乌龟几何 + 拉格朗日乘数法优化
乌龟几何:通过顶点处的边长和有向角来定义多边形
通过对关键帧多边形的边长和顶点角进行插值来产生比线性插值更好的效果。
拉格朗日乘数法优化用于处理插值后起始点和终止点不在同一位置的问题。
· Edge Tweaking的思想
解决中间多边形不封闭的问题,一个解决方法为保持插值的顶点角不变,适当调整插值得到的边长:
这是一个具有约束条件的极值问题,可以用拉格朗日乘数法求解。
· 图像morphing的原理
首先用简单的几何元建立图像特征之间的对应关系,然后由这些特征对应关系计算出morphing所需的几何变换,几何变换定义了两幅图像上点之间的几何对应关系。
满射C0把第一幅图像的几何形状映射为第二幅图像的几何形状,满射C1则反过来。需要两个映射的原因是图像点与点之间的对应关系不一定是一一对应。
图像变形对齐后再对颜色进行插值,得到中间帧图像。
· 基于网格的图象morphing 原理
在源图像中,放置曲面网格Ms,Ms指定了控制顶点的坐标。在目标图像中,放置网格Md,Md指定了Ms在目标图像的对应点。
曲面Ms和Md用来定义把源图像的所有点映射到目标图像的空间变换,它们的拓扑关系相同。
中间帧的图像生成步骤:
1. 线性插值网格Ms和Md,得到网格M
2. 应用由网格Ms和M定义的变换,使源图像Is扭曲变形到I0
3. 应用由网格Md和M定义的变换,使目标图像Id变形到I1
4. 对图像I0和I1进行线性插值,得到中间帧图像
· 基于线对的图象morphing方法
http://www.cad.zju.edu.cn/home/jin/3danimationcourse/2Dmorphing.pdf
采用逆向映射:逐个扫描目标图像的像素,根据其位置采样源图像。
在源图像中定义一条有向线段,再在目标图像中定义一条有向线段,则映射把一条直线映射为另一条直线。
设两幅图像分别为Is和Id,先在两幅图像中定义控制变形的对应直线对,通过插值得到中间图像I的直线。由Is->I的直线对变换可以得到一副变形图I1,由Id->I的直线对变换可以得到I2。对交溶参数作动画,把I1和I2进行交溶处理可以得到中间的变形图像I。
基于线对特征法的优点是直观,缺点是可能生成一些意料之外的图像。
· 二、三维形状渐变(morphing)各有什么优缺点?
二维:
优点:是一种达到特殊视觉效果的有效方法;可以让人产生神奇的三维形状改变的错觉,可以避免复杂的三维造型过程。
缺点:可能生成一些意料之外的图像(线对特征法);物体没有三维几何信息,不能进行几何变换。
三维:
优点:能生成更逼真和生动的特技效果,且得到的中间帧是物体的模型而不是图像,运用范围更广。
缺点:物体之间的对应关系很难建立,而且该方法对物体的几何表示也相当苛刻。
· 基于星形物体的多面体morphing方法
合并一对三维多面体物体模型的拓扑结构,使它们拥有相同的顶点,边,面网络结构,然后对相应的顶点进行插值。
通过合并拓扑结构将一个物体的形状变换为另一个物体的形状可以分为两步:
1. 建立源物体与目标物体上的点的对应关系(对应问题)
2. 插值对应的点(插值问题)
对于亏格为零的两个多面体,它们都同构于球。把它们都投影到单位球面上,然后将投影在单位球面上的两个拓扑结构合并在一起构成一个新的拓扑结构,再将新的拓扑结构映射回原来的两个多面体,即建立好了相应的点对关系。
采用线性插值或Hermite插值来插值相应顶点。
· 基于体表示的三维morphing方法
思想:给定源物体S和目标物体T,首先根据指定的对应特征生成一个空间变换,该变换使给定的两个体扭曲变形,达到几何对齐的目的;然后对得到的两个扭曲变形体进行混合。
混合方法:对两个体素的颜色和不透明度进行交溶处理,然后对混合后的体素进行绘制。
优点:与物体的几何和拓扑结构无关;提供了一种统一的处理方法(几何表示的物体都可以转化成体表示)。
缺点:走样现象严重,精度没有基于几何表示的好;几何模型转换为体素表示的计算时间较费。
· 粒子系统的基本原理
http://www.cad.zju.edu.cn/home/jin/3danimationcourse/particlesystem.pdf
粒子系统的作用:
模拟不规则的自然景物。
粒子系统基于的假设:
1. 粒子一般不与其它粒子碰撞
2. 除非处于聚集状态,粒子不向其它粒子投影
3. 粒子只向其它环境投影
4. 粒子不反射光
5. 粒子通常有有限的生命周期
粒子系统的基本思想是将许多简单形状的微小粒子作为基本元素聚集起来形成一个不规则模糊物体。每个粒子均经历出生,成长,衰老和死亡的过程。生成粒子系统的某一帧画面的基本步骤是:
1. 生成新的粒子并加入系统中
2. 赋予新粒子一定的属性
3. 删除已经超过生命周期的粒子
4. 根据粒子的动态属性对粒子进行移动和变换
5. 绘制并显示由有生命的粒子组成的图形
粒子的生成:
对于每一帧,根据一个控制的随机过程生成粒子:用户可以控制每帧的平均粒子数和其概率分布;粒子数可以是时间的函数。
粒子的属性:
位置,速度,大小,周期,质量,力加速器,生命周期,绘制属性……
· Boids模型的三条原则,每条原则的含义
Boid是一个模拟的类似于鸟一样的物体。
优先级递减的群体模拟三大原则:
1. 碰撞避免原则:
避免与相邻的群体成员相碰
2. 速度匹配原则:
尽量保持与周围邻居群体成员的速度匹配
3. 群体合群原则:
群体成员尽量靠近
· Reynolds导航方法中的追逐和躲避模型、障碍避免模型、路径跟随、流场跟随行为模型、领导模型
· Helbing基于社会力模型的群体行为模拟方法的基本原理
社会力模型以牛顿动力学为基础,由各个力的表达式来体现行人不同的动机和影响。在社会力模型中,由于对影响个体的因素考虑得比较全面,对个体行为的建模比较合理,该模型可以逼真地模拟人群的疏散过程。
个体的实际行为受主观意识,其它个体及障碍物三方面因素的影响,均可等效为力在个体上的作用。
· 相互速度障碍物(RVO)原理
假设个体以匀速前进
每个个体在保持与周围个体相对运动的同时,在速度域中计算出可能导致碰撞的速度集合,并对自身速度进行必要的调整。在调整过程中,碰撞避免的任务同时分配给相关的个体,使它们相互协调完成碰撞避免任务。
· 运动捕获系统(MOCAP)流水线
标定 -> 捕获 -> 三维位置重建 -> 拟合到骨架 -> 后处理
· 基于运动捕获的关节动画制作的优缺点?
优点:
只要能被捕获,可以记录人体运动的所有细节,运动真实
缺点:
不容易进行编辑和控制,较昂贵
· 正向运动学、逆向运动学原理(IK),逆向雅克比方法求解IK的原理
正向运动学:
动画师通过直接指定关节处的关节运动参数来控制物体的运动;
从关节空间映射到笛卡尔空间;
计算整棵树:从根节点到叶节点进行深度优先遍历
逆向运动学:
动画师指定目标位置,系统求解满足要求的关节角;
从笛卡尔空间映射到关节空间;
给定初始姿态向量和目标姿态向量,计算关节向量的值,使得物体满足所需的姿势;
一旦得到关节向量值后,可以对角色的初始姿态和最终姿态的关节向量值进行插值,从而得到角色动画;
IK中遇到的问题:有无穷多解/无解
求解IK的逆向雅克比方法:
逆向雅克比矩阵把笛卡尔空间的速度映射到关节空间的速度;
给定初始姿势和所需要的姿势,迭代变化关节角,使得末端影响器朝目标位置和方向前进;
对于中间帧,插值得到所需的姿态向量
· 骨架与角色模型的绑定原理
角色的表面(外皮)必须随着骨架的运动而运动(变形);
在骨架绑定中,皮肤的运动定义为对应控制骨架的函数;
很多骨架绑定系统采用一个称为中性姿势或静止姿势的几何信息;
自动绑定:
首先在未知的三维模型中嵌入骨架,然后计算骨骼对表面网格上每个顶点的影响权值,并将表面皮肤依附在骨骼上。
· 顶点混合(Vertex Blending)的原理
假设要用前臂和后臂来模拟一个手臂,要使关节处是柔软的,可以对前臂和后臂单独设置动画,然后关节处用柔性skin来连接;
柔性部分的一部分顶点由前臂的矩阵来变换,另一部分由后臂的矩阵来变换。即一个三角形的顶点可以由不同的矩阵来变换,而不是一个矩阵;
进一步推广:一个顶点可以由几个不同的矩阵进行加权变换;
实施方法:在物体上放置关节骨架,每个骨架都按用户给定的权因子影响顶点。
· 基于Blend Shapes(关键姿态表情形状)表情动画的原理
首先对人脸表情进行三维扫描,然后构建一组Blend Shapes模型,最后插值这些Blend Shapes来得到任意的表情。
· Deformation与Morphing的区别
变形Deformation是指将几何对象的形状作某种扭曲,形变,使它形成动画师所需要的形状。在这种变化中,几何对象的拓扑关系保持不变。与Morphing不同,空间变形更具有某种随意性,若依空间变形也长称为自由变形。
· 与物体表示无关的变形的原理
与物体表示无关的变形:既可以用于多边形表示的物体,又可以用于参数曲面表示的物体。
有啥原理?
· 扩展的FFD方法EFFD的原理
FFD:不直接操作物体,而是将物体嵌入一空间,当所嵌的空间变形时,物体也随之变形。只适合于平行六面体的lattice形状。
允许FFD型lattice作为它结构的一部分,许多个FFD型lattice可合并构成EFFD的lattice。EFFD块构造好后,采用与FFD类似的方法来使物体变形,通常需要迭代求解。
过程:
· 基于Cage的变形原理
cage:一个包裹高分辨率模型的低分辨率网格
变形原理:
1. 构建模型的cage
2. 计算模型的cage坐标
3. 编辑cage模型
4. 把cage的变形通过预先计算的cage坐标光滑传播到其包裹的模型
· Laplacian微分坐标及其变形原理
还没看懂,之后再补吧(躺
· 布料动画的核心问题
问题有:
造型问题
绘制问题
-
我猜核心问题是这个:
1. 建立不了的物理(力学)模型:
物理参数的设置
2. 物理模型的求解(偏微分方程数值解):
速度,稳定性
3. 碰撞检测和响应:
衣服与人体的碰撞,衣服与衣服的碰撞(自交)
多层衣服
胳肢窝等特殊位置的处理
纽扣,装饰物与衣服的碰撞
-
材料角度(结构问题):
准确地预测织物的力学性能
↑ 这个看起来也可能是核心
· 布料的物理机械性能主要包括哪几种力
· Provot的衣服模型的原理
弹簧 - 质点模型;采用显式Euler法求解微分方程组。
该模型是一个由m × n个虚拟质点组成的网格,质点之间用无质量,自然长度不为零的弹簧连接,其连接关系有三种:
这三种弹簧分别用于计算结构力,剪力和弯矩。
计算部分省略
为了保证算法的稳定,必须采用很小的时间步长或者减小方程组的刚度,也就是弹簧的刚度;然而取较小的刚度会形成超弹性问题;
对于超弹性问题,可以采用约束变形方法,动态修正质点的位置以保证弹簧不至于产生不现实的伸长。
· 布料动画中大步长隐式方法的原理
http://www.cad.zju.edu.cn/home/jin/3danimationcourse/cloth.pdf
布料模拟的积分计算部分的主要开销在由于稳定性限制计算步长只能取很小值,因而被迫在两帧画面之间计算多次;
因此设法取较大的时间步长可以有效提高算法效率。使用隐式方法来积分,在不降低刚度的条件下可以取得较大的时间步长。
· 隐式曲面表示的优缺点
隐式曲面:
隐式曲面的性质:
可以有效地判断一个点是否位于曲面的内部
求交计算很方便,把光线方程代入隐式曲面方程即可
布尔操作很方便
-
隐式曲面优点:
1. 很容易判断一个点是否在曲面上
2. 很容易计算曲面的交/差/并
3. 很容易处理拓扑变化
隐式曲面缺点:
1. 曲面通过间接指定
2. 很难描述尖锐特征
3. 很难对曲面上的点进行枚举
4. 绘制慢
· 隐式曲面中核函数的选择
· Wyvill的六次多项式势函数的图形形状
· 碰撞检测中如何选择包围体
- 有很多种选择,每种选择都是某种折中
- 更好的包裹是更好的选择
- 物体的形状越简单,效果越好
- 具有旋转不变性的包围体更好
· 离散有向多面体k-DOP
与AABB类似的思想,但使用更多的轴,包裹性更好但是计算量更大(重点是选择轴)。
将顶点投影到kDOP的每条法线方向ni上,然后将投影的极小值和极大值分别保存在dimin和dimax中,这两个值定义了该方向上最紧密的平板层。所有这些值共同定义了一个最小的kDOP。
AABB:轴对齐包围盒,物体旋转后必须更新包围盒。
OBB: 有向包围盒,是可以任意旋转的AABB。
· 碰撞检测中的分离轴定理
· 一些杂项
侏罗纪公园 - 奥斯卡最佳视觉效果奖
第一部完全使用计算机制作的电影 - 玩具总动员
魔鬼终结者II - 液态金属人
阿凡达 - 詹姆斯 · 卡梅隆
知名的动画制作软件 - Maya,3D Studio Max,Softimage XSI,Lightwave,Blender,RenderMan