计算机动画技术7关节与人体动画课件_1_第1页
计算机动画技术7关节与人体动画课件_1_第2页
计算机动画技术7关节与人体动画课件_1_第3页
计算机动画技术7关节与人体动画课件_1_第4页
计算机动画技术7关节与人体动画课件_1_第5页
已阅读5页,还剩80页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机动画技术 第七讲 关节与人体动画 2010 北京航空航天大学计算机学院 孟宪海 2 2 *北京航空航天大学 目录目录 计算机动画中的运动学计算机动画中的运动学 w 关节动画技术; w 正向运动学; w 逆向运动学; w 两足行走模型; w 骨架驱动的肌肉模型; w 脸部动画技术; 3 3 *北京航空航天大学 关节动画技术关节动画技术 有骨架动物的动画技术:有骨架动物的动画技术: w 计算机动画技术中最具挑战性的课题之一; w 促进了机器人等学科的发展; w 使人类采用计算机动画技术模拟自身的行为和 动作成为了可能; 4 4 *北京航空航天大学 关节动画技术关节动画技术 骨架动画的复杂性:骨架动画的复杂性: w 建模 现有的参数曲面、隐函数曲面造型等技术难以再现 真实的人物和动物,随着三维扫描技术的出现,该 问题已得到较好的解决; w 绘制 动物与人体的绘制有别于传统图形绘制,目前在绘 制皮肤、毛发和皱纹等特殊效果上的各种技术日益 成熟; w 运动控制 5 5 *北京航空航天大学 关节动画技术关节动画技术 骨架动画的复杂性:骨架动画的复杂性: w 运动控制技术发展较为滞 后 人体或动物的运动涉及到大量 的自由度,其运动的确定非常 复杂; 运动看上去相对直观、简单, 但任何动作都是自然平衡和环 境的多重影响的结果,是许多 因素的协同作用所致; 每个人体或动物角色均有一定 的个性,如何抽取描述角色个 性的参数是有骨架角色动画的 重要问题; 6 6 *北京航空航天大学 关节动画技术关节动画技术 骨架动画:骨架动画: w 骨架控制三维动画角色的 运动; w 角色的骨架定义为一系列骨 件,而包裹这些骨件的“皮肤 ”则是一个顶点网; w 每个顶点的位置因受到一个 或多个骨件运动的影响而变 化; w 因此,只要定义好角色模型 的骨架动作就可以实现栩栩 如生的动画了; w 定义为皮肤顶点的运动则以 数学公式的方式生成。 骨架结构的关键:骨架结构的关键: w 如何描述估计结构? w 描述相对运动; w 降维思想,利用关节结构提供的约束减少参数 ; 7 7 *北京航空航天大学 8 8 *北京航空航天大学 关节动画技术关节动画技术 骨架结构的描述:骨架结构的描述: w 利用关节结构简化骨架结构: w 如何有效地描述关节链结构? w 如何有效地控制关节链结构? 9 9 *北京航空航天大学 关节动画技术关节动画技术 关节结构:关节结构: w 关节链 一系列依次相连的刚体连接而 成的开链; 两刚体的连接点称为关节 (joint); 连接两相邻关节的刚体称为连 杆(link); 计算机动画中将关节限制为旋 转关节,相邻刚体在其连接关 节处只能做相对旋转运动,不 能做平移运动; w 基结点和末端影响器 关节链的起点为基结点; 其自由末端为末端影响器(end effector); 1010*北京航空航天大学 关节动画技术关节动画技术 关节结构:关节结构: w 自由度 DOF(degree of freedom), 完全确定关节链结构的 状态所需的独立变量个数; 无约束刚体的自由度为6; w 状态空间 定义关节链结构的所有可能形态的向量空间; 状态空间的每个向量(状态向量)定义了关节链结构的一种形 态; 可由一组独立的位置、朝向及关节旋转等参数确定; 状态空间的维数等于关节链结构的自由度; =(x, y, z, ,) 关节的类型:关节的类型: w 不同自由度的关节结构; 1111*北京航空航天大学 1 DOF 2 DOF 3 DOF 1212*北京航空航天大学 关节动画技术关节动画技术 关节结构:关节结构: w 一条关节链结构的运动 等价于在其状态空间中 定义一条m维的运动路 径; w 一条关节链通常不足以 定义一个复杂的骨架; w 需将多个关节链结构有 约束地连接起来构造复 杂的模型; 关节链结构的表示关节链结构的表示 层次模型的关节链结构表示:层次模型的关节链结构表示: w 人和动物的形体通常采用层次关节结构表示; w 层次关节结构可以利用树状结构来表示; w 树由节点和连接节点的弧组成; w 层次最高的节点称为根节点,对应于层次结构 中在世界坐标系下已知位置的根对象; w 层次结构中的其他节点的位置通过与根节点的 相对关系来定位; w 叶节点,父节点,子节点; 1313*北京航空航天大学 关节链结构的表示关节链结构的表示 层次模型的关节链结构表示:层次模型的关节链结构表示: w 树中的节点对应于关节链结构的连杆; w 树中的弧对应于关节链结构中的关节; 1414*北京航空航天大学 关节链结构的表示关节链结构的表示 层次模型的关节链结构表示:层次模型的关节链结构表示: w 节点和弧中保存的结构信息; 1515*北京航空航天大学 1616*北京航空航天大学 关节关节 链的链的 树结树结 构示构示 例:例: 关节链的树结构示例:关节链的树结构示例: 1717*北京航空航天大学 1818*北京航空航天大学 1919*北京航空航天大学 2020*北京航空航天大学 关节链结构的表示关节链结构的表示 DHDH表示法:表示法: w 对每一链杆建立坐标标架来描述链杆相对于其相邻的链 杆的运动; w 用四个独立的参数来定义相邻链杆坐标标架间的线性变 换关系; w 链杆的长度li、相邻链杆间的距离di、扭角i和夹角i; w (li, i)链杆参数; w (di, i)关节参数; w 适合一个旋转自由度的关节; 2121*北京航空航天大学 关节链结构的表示关节链结构的表示 2222*北京航空航天大学 2323*北京航空航天大学 关节链结构的表示关节链结构的表示 APAP表示法:表示法: w DH表示法比较经济,没有任何冗余信息,但只能表示 单链结构; w 1988年,轴位置关节表示法(Axis-position joint, AP); w 可以方便地表示多分支的关节结构; w 需要存储: 每个关节的位置; 每个关节轴线的方向; 指向每个关节所连的链杆的指针; w 描述相邻链杆的关系时需要七个参数,DH只需要四个 ; 2424*北京航空航天大学 关节动画技术关节动画技术 关节链结构的运动求解技术:关节链结构的运动求解技术: w 驱动关节链结构运动的方式; w 运动学模型(kinematics): 物体的运动独立于产生运动的力,其参数包括物体 的位置、速度和加速度; w 动力学模型(dynamics): 物体的运动由所受的力控制,有关运动参数完全由 动力学方程决定; 2525*北京航空航天大学 关节链结构的运动控制关节链结构的运动控制 运动学模型:运动学模型: w 结构的运动要受到整体连接性的限制; w 一个连杆引起其周围的连杆运动,连杆本身具有限制 ; w 由于这些限制必须在所有的插值位置上有效,所以不 能轻易的使用关键帧系统; w 设关节链的末端影响器关于世界坐标系的方位为X; w 关节链结构的状态向量为; X = f () 2626*北京航空航天大学 关节链结构的运动控制关节链结构的运动控制 运动学模型:运动学模型: w 正向动力学(Forward Kinematics) 通过给定状态向量来确定各关节的位置及末端影响器的位置 ,正向求解过程; X = f () w 逆向动力学(Inverse Kinematics) 目标驱动法,给定末端影响器的方位X,然后逆向求解关节链 结构的状态向量,进而求得各关节的空间位置,逆向运动学方 程可描述为: = f-1 (X ) 关节链结构的运动控制关节链结构的运动控制 正向动力学法:正向动力学法: 2727*北京航空航天大学 Q1 Q2 Q3 关节链结构的运动控制关节链结构的运动控制 正向动力学法:正向动力学法: w 定义每个节点与弧中的变换信息; 2828*北京航空航天大学 Transformation (fixed) data geometry transformation Transformation (changeable) 关节链结构的运动控制关节链结构的运动控制 正向动力学法:正向动力学法: w 对树结构表示的关节链进行遍历实现运动变换 ; 2929*北京航空航天大学 T1.1 T2.1 T1.2 T2.2 T0 M = I M = T0 M = T0*T1.1*R1.1 M = T0*T1.1*R1.1*T1.2*R1.2 M = T0 M = T0*T2.1*R2.1 M = T0*T2.1*T2.2*R2.2 M = T0*T1.1*R1.1 R2.2 R1.2 R2.1 R1.1 traverse (arcPtr,matrix) / concatenate arc matrices matrix = matrix*arcPtr-Lmatrix matrix = matrix*arcPtr-Amatrix; / get node and transform data nodePtr=acrPtr-nodePtr push (matrix) matrix = matrix * nodePTr-matrix aData = transformData(matrix,dataPTr) draw(aData) matrix = pop(); / process children If (nodePtr-arc != NULL) nextArcPtr = nodePTr-arc while (nextArcPtr != NULL) push(matrix) traverse(nextArcPtr,matrix) matrix = pop() nextArcPtr = nextArcPtr-arc 3030*北京航空航天大学 关节链结构的运动控制关节链结构的运动控制 二链杆关节链结构的运动过程:二链杆关节链结构的运动过程: w 正向运动的解: 3131*北京航空航天大学 关节链结构的运动控制关节链结构的运动控制 正向动力学法:正向动力学法: w 求解过程直观简单; w 需要制作者清晰地定义关节结构中的每个部件的所有 运动; w 过程比较繁琐,太多的自由度使用户无所适从; 3232*北京航空航天大学 关节链结构的运动控制关节链结构的运动控制 正向动力学:正向动力学: w 可采用脚本语言来辅助减轻操作的复杂性: w 脚本语言中用曲线以一种时间的函数来定义变 换值; 3333*北京航空航天大学 关节链结构的运动控制关节链结构的运动控制 逆向动力学:逆向动力学: w 只需给定末端影响器的空间 方位,反求出整个状态向量 ; w 用户的交互非常简便; w 该方法求解不定系统方程, 求解过程比较复杂; w 约束过多可能无解; w 约束过少存在多解; w 在实际中可对关节结构赋以 一定的约束来减少多解情况 ; 关节链结构的运动控制关节链结构的运动控制 逆向动力学:逆向动力学: w 简单关节系统的解析解: 3434*北京航空航天大学 关节链结构的运动控制关节链结构的运动控制 逆向动力学的解析解:逆向动力学的解析解: 3535*北京航空航天大学 3636*北京航空航天大学 关节链结构的运动控制关节链结构的运动控制 二链杆关节链结构的运动过程:二链杆关节链结构的运动过程: w 逆向运动的解: 当链杆数增加时,无论正向还是逆向,方程均变得非常复杂! 关节链结构的运动控制关节链结构的运动控制 复杂逆向运动方程的求解复杂逆向运动方程的求解: : w 动画中的骨架结构都很复杂; w 无法给出任何逆向运动方程的解析解; w 一般采用增量式构建的方法来解决: 在每个时间点,通过计算各关节角度使末端影响器 向目标位置推进一小步; w 当末端影响器从X运动动到Xgoal时时,采用逐步逼 近法来求解链结链结 构的目标标运动动状态态; 3737*北京航空航天大学 关节链结构的运动控制关节链结构的运动控制 雅可比矩阵(雅可比矩阵(JacobianJacobian): : w 偏导数构成的矩阵; 3838*北京航空航天大学 Y = F(X) 雅可比矩阵 关节链结构的运动控制关节链结构的运动控制 复杂逆向运动方程的求解复杂逆向运动方程的求解: : w 输入变量是各个关节的旋转角 度值; w 输出变量时末端影响器的位置 和朝向; 3939*北京航空航天大学 关节链结构的运动控制关节链结构的运动控制 简单的求解例子简单的求解例子: : 4040*北京航空航天大学 4141*北京航空航天大学 关节链结构的运动控制关节链结构的运动控制 逆向求解的逐步逼近法的几何说明逆向求解的逐步逼近法的几何说明 最终通过数值求解方法计算出逆向运动方程! 关节链结构的运动控制关节链结构的运动控制 复杂逆向运动方程的求解结果复杂逆向运动方程的求解结果: : 4242*北京航空航天大学 4343*北京航空航天大学 关节链结构的运动控制 运动学方程的求解: w 正向运动方程求解直接; w 但是一个高度非线性的函数,且其复杂性随着关节 链结构的链杆数目增大而快速增长; w 事实上不能给出其逆函数的解析表达式; w 因此逆向运动学方程一般都采用分段线性函数来逼 近函数,进而数值求解; w 求解困难,除非雅可比矩阵是一个方矩阵,否则它 是不可逆的; 4444*北京航空航天大学 骨架层次构造骨架层次构造 骨架结构的运动控制:骨架结构的运动控制: w 利用树结构将复杂的多分支关节结构分解成许 多开的单链结构; w 对每个单链结构应用运动控制技术; 4545*北京航空航天大学 骨架结构的运动控制骨架结构的运动控制 逆向运动学的应用:逆向运动学的应用: w 根据逆向运动学,只需给出单链结构的末端影 响器的方位就可以求出其状态向量; w 在计算机动画系统中,只需采用关键帧插值或 其他动画技术来生成末端影响器的方位动画, 就可生成整个单链结构在每一时刻的状态向量 ,从而达到驱动关节链结构的目的; w 处理目标跟踪方面更为方便; 4646*北京航空航天大学 骨架结构的运动控制骨架结构的运动控制 目标驱动技术目标驱动技术逆向运动学的应用逆向运动学的应用: : w 目标跟踪技术可简化为一系列运动的约束; w 物体的运动完全由目标物体的运动所驱动; w 主要的运动约束: 位置约束物体的局部坐标原点与目标物体的局部 坐标原点重合,且以同样的平移速度运动; 方向约束物体的朝向同物体的局部坐标原点和目 标物体的局部坐标原点所定义的方向一致; w 运动约束技术极大地减轻了用户交互的复杂性 ,提高了生成动画的真实性,对逆向运动学方 法求解复杂的骨架运动尤为重要; 4747*北京航空航天大学 骨架结构的运动控制骨架结构的运动控制 正向运动学的应用:正向运动学的应用: w 可采用关键状态向量来插值生成任意时刻的状 态向量; w 但需要大量的用户交互,而且所生成的末端影 响器的运动很难跟踪目标; w 一种解决方法是建立一些模型,对于像行走、 跑、抓等普通的姿态预先写出正向运动学的脚 本; w 在侏罗纪公园中,ILM利用真实的模型在 操控下的运动,记录关键节点的运动生成一个 真实的脚本; 4848*北京航空航天大学 骨架结构的运动控制骨架结构的运动控制 动作捕获动作捕获正向运动学的应用:正向运动学的应用: w 采用人类演员与运动跟踪设备,记录演员的运 动数据,生成对计算机模型的一个运动脚本; 4949*北京航空航天大学 5050*北京航空航天大学 人体动画技术人体动画技术 基于捕获的方法得到了广泛的应用;基于捕获的方法得到了广泛的应用; 但设备昂贵,只能生成预先设计好的动作但设备昂贵,只能生成预先设计好的动作 ; 利用运动学方程来控制人体骨架仍具有现利用运动学方程来控制人体骨架仍具有现 实意义;实意义; 如何利用计算机生成协调一致的骨架运动如何利用计算机生成协调一致的骨架运动 ; 5151*北京航空航天大学 人体动画技术人体动画技术 两足行走模型:两足行走模型: w 动画设计者无需给出各关节的运动细节,只需给出运 动参数如行走方向、速度等; w 人体行走是一个循环往复的过程,给出其中一个步态 的循环,就可生成整个行走动画序列; w 首先定义一组与简单机械抽象地结合在一起的步态决 定因子,以解释两足行走的运动学特性; w 在骨架模型上每次增加一个步态决定因子来逐渐建立 复杂的步态; w 某个决定因子依赖于某个关节中的一个自由度; 两足行走模型两足行走模型 两足行走模型:两足行走模型: 5252*北京航空航天大学 臀部: 3 DoF 膝盖: 1 DoF 脚踝: 3 DoF 脚趾: 1 DoF 但通常不是独立的 5353*北京航空航天大学 两足行走模型两足行走模型 步态决定因子:步态决定因子: w 圆规步态; w 骨盆旋转; w 骨盆倾斜; w 支撑腿的弯曲; w 支撑腿的脚底弯曲; w 骨盆侧面的移位; 两足行走模型两足行走模型 5454*北京航空航天大学 5555*北京航空航天大学 两足行走模型两足行走模型 两足行走模型:两足行走模型: w 利用骨架和步态的定义; w 在一个步态循环所需的时间周期内,每条腿均经历两 个支撑阶段和摆动阶段; w 每个阶段的起始点是脚跟部着地和脚趾离地,而且两 条腿所处的阶段恰好相反; w 为了区分跑和走,引入负载因子,即支撑在整个周期 所占的比例,行走时该因子大于0.5; 两足行走模型两足行走模型 行走步态周期:行走步态周期: 5656*北京航空航天大学 两足行走模型两足行走模型 5757*北京航空航天大学 5858*北京航空航天大学 5959*北京航空航天大学 人体动画技术人体动画技术 骨架驱动的肌肉模型:骨架驱动的肌肉模型: w 各链杆为刚体,运动缺乏生命特征; w 动物骨架的运动是皮下肌肉变形的结果; w 为获得真实的动画效果,必须考虑肌肉在骨架 运动中的变形效果; w 所模拟的动物组织可分作三层: 骨架层、肌肉层和皮肤层; w 运动学驱动骨架驱动肌肉收缩和扩张 产生皮肤表面的变形可见的表面几何; 骨架驱动的肌肉模型骨架驱动的肌肉模型 6060*北京航空航天大学 骨架 肌腱 皮肤 脂肪组织 6161*北京航空航天大学 骨架驱动的肌肉模型骨架驱动的肌肉模型 骨架驱动的肌肉模型骨架驱动的肌肉模型: : w Chadwich,1989年; w 不真正建立皮肤和骨架层之 间的肌肉层; w 采用自由变形技术来驱动皮 肤表面几何的变形; w 利用按一定方式组织好的 FFD来抽象表达肌肉层的功 能,每块FFD被表示成一个 三三次Bezier体; 6262*北京航空航天大学 骨架驱动的肌肉模型骨架驱动的肌肉模型 骨架驱动的肌肉模型:骨架驱动的肌肉模型: w 初始为长方体网状结构,有七个垂直于轴线的平面; w 两端四个平面起保持连续性的作用; w 中间三个平面用来驱动皮肤表面的变形; w 将皮肤表面几何嵌入到FFD表示的肌肉模型中,建立皮肤表面与 肌肉层的连接关系,通过改变FFD的控制顶点,达到变形皮肤表 面的目的; 6363*北京航空航天大学 骨架驱动的肌肉模型骨架驱动的肌肉模型 骨架驱动的肌肉模型骨架驱动的肌肉模型: : w 用户交互地将皮肤表面包裹在骨架上; w 需要皮肤变形的区域沿骨架轴向放置一些FFD块; w 建立运动变形关系; 人体动画技术人体动画技术 脸部动画:脸部动画: w 复杂曲面; w 非常熟悉; w 可变形的曲面; w 交流的主要方式; w 表达情感、个性不可 或缺的部分; 6464*北京航空航天大学 脸部动画脸部动画 脸部解剖结构:脸部解剖结构: 6565*北京航空航天大学 脸部动画脸部动画 脸部模型:脸部模型: w 脸部动画要解决的首要问题; w 从简单的几何体模型到复杂的基于解剖学的模 型种类多样; w 模型的复杂性取决于应用需求; w 选择脸部模型时要考虑: 描述对象或角色的头部几何数据的获取方式; 描述面部变化的数据的获取方式; 脸部表面几何及属性的光滑绘制效果; 6666*北京航空航天大学 脸部动画脸部动画 简单脸部模型:简单脸部模型: w 对于卡通类型的动画角色; w 使用简单几何形体及纹理动画映射就可以满足 需要; 6767*北京航空航天大学 6868*北京航空航天大学 脸部动画脸部动画 复杂脸部模型:复杂脸部模型: w 模型静态数据; 描述面部模型的几何外形; 多边形模型; 构造简单,变形容易; 表面的光滑性受采样数据精度影响; 样条模型; 光滑性好,模型数据量小; 不利于表现面部细节和尖锐的局部特征; w 模型动态数据; 描述面部运动变化的数据; 6969*北京航空航天大学 脸部动画脸部动画 如何生成脸部模型:如何生成脸部模型: w 从零开始生成脸部模型是非常困难的; w 交互设计方式: 细化法; 修改法; w 原型数据方式: 数字化原型; 修改原型; 7070*北京航空航天大学 脸部动画脸部动画 交互脸部模型交互脸部模型 生成生成细化法细化法 : w 利用细分曲面 技术将初始简 单的多边形控 制网格逐步细 化出想要的脸 部模型; w 方便易用; w 难以拟合特定 数据或特征; 7171*北京航空航天大学 脸部动画脸部动画 交互脸部模型生成交互脸部模型生成 修改法:修改法: w 在分辨率较高的形体上进行修改; w 拖、拉编辑局部曲面形状; 7272*北京航空航天大学 脸部动画脸部动画 原型脸部模型生成原型脸部模型生成 数字化原型法:数字化原型法: w 利用激光扫描获得人脸点集数据,重构脸部曲 面; w 利用照片进行原型模型的重构; 7373*北京航空航天大学 脸部动画脸部动画 脸部模型生成脸部模型生成 修改修改 原型法:原型法: w 在已有的脸部模型进行 修改; w 或建立脸部模型的参数 化,通过修改参数对原 型脸部模型进行调整; 7474*北京航空航天大学 MPEG-4面部参数定义 脸部动画脸部动画 脸部动画方式:脸部动画方式: w 最简单的脸部动画方法混合形状法; w 基于典型脸部形状,脸部动画通过对选择的两 个典型形状关键位置进行插值得到; 7575*北京航空航天大学 脸部动画脸部动画 脸部动画方式:脸部动画方式: w 采用面部动作编码系统(FACS); w 将所有面部表情分解到一些基本的面部动作; w 通过基本面部动作的组合来实现各种面部表情 ; w

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论