在“捕获”对话框中,从“类型”下拉列表框中选择MPEG、JPEG、TIFF、BMP或AVI选项,以将动画录制成所需的格式文件。如果希望使用Creo Parametric的照片级渲染功能来录制动画,则需要勾选“质量”选项组中的“照片级渲染帧”复选框。图5-79 “动画”对话框图5-80 “捕获”对话框......
2023-06-20
基于运动捕获的动画技术现已成为计算机动画领域最具活力的方法。该动画技术主要包括运动重定向技术、运动轨迹编辑技术、运动融合技术和运动合成技术等。
1)运动重定向技术
运动重定向是指编辑和调节从原始角色捕获到的运动数据,并将其正确地映射到与原始角色不同的新角色中。如果直接将原始的捕获数据映射到新角色,则很容易违背原有运动中固有的运动性质(约束),从而导致运动失真,出现诸如足部穿地、悬空和滑步等错误。运动重定向的实现方法可以分为基于反向运动学(inverse kinematics,IK)的方法、基于时空约束的方法和基于物理的方法等。
反向运动学问题是数字驱动的人体动画技术中的基本问题,几乎所有的数字人体动画创作都要使用到反向运动学技术,反向运动学技术因此成为一个重要的研究方向。现有反向运动学(IK)求解算法中,解析求解法是最稳定、最快速的算法。但是现有的IK解析求解算法只能求解6个自由度的IK链。对于人体这种特殊结构,可以求解7个自由度的手臂链。当人体运动链的自由度大于7时,就需要使用数值迭代法进行求解,这必然导致求解速度的下降,也容易造成求解的不稳定,而且求解结果难以重复,特别是当反向运动学求解的规模较大时。吴小毛等[34]针对运动编辑中存在的技术难题,考虑到人体结构的特殊性,通过测量法建立了肘关节转角和手的朝向角之间的关系,从一个新的角度得到了7自由度手臂链的解析解。在此基础上,提出反向运动学求解过程中衣领关节和肩关节调整方案,并推导出12自由度人体运动链的解析求解算法。该算法将现有的7个自由度的人体运动链解析求解推广到12个自由度,它能够在人体动画中得到很好的应用。杨熙年等[35]在假定原始角色和目标角色之间骨骼结构相同,骨骼长度比例相差不大的情形下,提出一种基于骨干长度比例的运动重定向方法。该方法首先求出两个角色之间的骨骼缩放比例,根据这个比例得到目标角色的根关节在第一帧的位置及其他帧的位移量,然后推算出末端效应器的约束位置,最后选择循环坐标下降(cyclic coordinate descent,CCD)作为IK求解器,根据位置约束求出重定向后的运动数据。反向率控制也是一种用于运动重定向的IK方法,通过它可以得到符合末端效应器约束的所有解的集合。Balestrino、Tsai以及Sciavicco等[36-38]通过对基本范数解添加约束误差的反馈,设计出闭环的反向率控制方法;Zhao和Balder[39]通过对零空间乘积中的自由向量设置特定的取值,可以使新运动同时满足其他的约束;Choi等[40]综合了以上两种方法,并加以改进,提出了基于反向率控制的在线运动重定向方法。基于IK的方法实质上是基于每一帧的方法,即每次只处理一帧的约束,因而处理速度很快,符合交互式运动编辑的要求。该方法另一个优点是,所求出的解能够很好地满足设定的帧内位置约束。但是基于IK的方法,只考虑帧内的几何约束,而没有考虑相邻帧间的连续性约束,所以常使得求解得到的目标运动出现跳动情形。此外,当给定的位置约束不恰当时,会出现无解的情形。Gleicher[41]于1998年提出了基于时空约束的重定向方法。基于时空约束的重定向方法,通过将原始运动的特征表示为必须遵守的时空约束,包括帧内的空间约束和相邻帧间的时间约束,并将目标函数定义为最小化编辑前后的运动差别,从而将重定向问题转化为约束优化的求解。利用该法可以求得一个基于全局目标的最优解,所得到的目标运动同时满足了空间约束和时间约束。基于时空约束的方法的缺点是:①求解基于全局优化,运算量大,收敛速度慢,对于帧数较多的运动编辑处理不能达到实时交互速度;②只考虑了几何约束,可能会使运动违背物理规律而导致失真。
以上运动重定向的方法往往只考虑人体运动的几何位置约束,而没有去考虑物理约束,所以不适合于像跳跃、拳击、乒乓等具有高度动态性能的运动。平衡约束是重要的物理约束。Oshita等[42]研究了静态平衡问题。Tak和Ko[43]扩展了物理约束的范围,除了平衡约束,还包括了力矩约束和动量约束。他们将运动重定向转化为基于逐帧卡尔曼滤波的约束状态估计问题。根据动画师指定的运动学和动态约束,利用他们提出的方法可由捕获运动得到物理上可行的运动。该法实际上是一个卡尔曼滤波器与最小二乘滤波器串接而成的复合滤波器,能够顺序处理输入运动,以实时交互的速度产生输出运动帧。与一般的物理约束方法相比,该法速度很快,但是由于将位置与速度、加速度当作独立的自由度来考虑,割裂了三者间的关系,因而得到的运动会产生不自然和不逼真的现象。
在上述方法中,物理约束实际上是作为运动编辑的后处理来应用的。与此不同,物理约束也可以在运动求解时加入。但是,物理约束的高度非线性大大增加了优化求解的复杂度,使得优化过程极其缓慢,甚至不能收敛。为解决这个问题,一些学者提出了基于简化的求解方法,包括简化角色模型、简化约束表示和简化约束计算等方法。Pullen等[44,45]指出人体各个关节的运动不是互相独立,而是高度关联的。也就是说,捕获的人体运动存在着冗余的自由度。根据这一点,可以采用简化角色模型的方法,试图通过保留尽可能少的运动自由度来降低求解的复杂度。Pollard[46]提出运动缩放的方法。他把人体模型表示成包含一个质点和两个弹簧的简单任务模型,能够将质量、速度和肢体长度等参数进行缩放处理,重定向到一个新的角色上。该方法简单易行,不需要进行时空优化处理,能够做到实时处理。但是弹簧质点模型只适合于比较简单的运动,对于复杂的运动则效果不好。Sofanova等[47]利用主分量分析(principle component analysis,PCA)技术来处理多个相似的捕获运动,从而构造出维数大大降低的运动子空间。随后在这个简化的子空间里,运用优化方法编辑得到物理上逼真的人体运动。该法与普通的基于物理的优化方法相比,运算量大大降低,但其不足之处是需要用户从捕获数据库中选择一组运动作为基运动,并且编辑效果依赖于基运动与结果运动之间的相似程度。
一般情况下,运动重定向的目标角色与原始角色拥有相同的关节结构,但也存在不同的情况。一些学者研究了目标角色与原始角色的关节结构不同的情形,包括Monzani等[48]提出的基于中间骨骼的重定向方法,Park和Shin[49]提出的基于散乱数据插值和关键帧对应的运动克隆方法。这些方法都能将捕获运动重定向到具有不同关节结构的目标角色上,但是都需要较多的人工干预。
在实际应用中,常常需要制作出具有不同风格的运动,而现有的运动编辑算法大都没有将运动风格考虑进去。运动风格编辑的目标是解决如何在满足一定的运动学和动力学约束的前提下,将一个角色的运动风格传输到另外一个角色的运动上。运动重定向技术能够将一个角色的运动映射到另外一个角色身上,从而实现在具有相同骨架拓扑结构、不同骨骼长度的角色之间,甚至是在具有不同骨架拓扑结构的角色之间的运动映射和数据重用的问题。但运动重定向技术只考虑运动细节的传递,没有将风格剥离开来单独考虑,而运动风格编辑算法可以将风格单独提取出来,可以只传递风格而不传递运动。吴小毛等[50]提出了一个新的运动风格传输算法,该算法不需要用户输入参数,也不需要进行模型的训练,能够方便地应用到运动风格编辑中。算法的基本思想是定义了适合于风格传输的四元数均值与方差表示方法,将运动风格表达为一个统计分布模型,通过将统计分布模型的参数从一个运动传输到另外一个运动,从而实现不同运动间的风格传递。
2)运动轨迹编辑技术
运动轨迹编辑技术的实现方法包括基于IK的方法、时空约束方法、运动曲线拟合方法、运动曲线变形方法和运动路径变换方法等。基于IK的方法和时空约束方法不仅在运动重定向中应用广泛,也适合于运动轨迹的编辑[51]。前两种方法在前面已介绍,下面侧重介绍后面三种方法。
运动曲线拟合方法的主要思路是将捕获运动与目标运动的偏移,用样条曲线来拟合,然后通过修改控制点来编辑运动。该法包括单条样条曲线拟合和层次样条曲线拟合两种方法。Bruderlin等[52]将运动参数随时间的变化,看作普通的信号。他们采用单条样条曲线拟合运动位移信号,并利用波形变换、滤波等方法来处理样条曲线,从而改变运动轨迹。与Bruderlin的方法不同,Lee等[53]提出了一种层次B样条曲线拟合与IK结合的方法。他们利用IK求解器,调整关节配置来满足位置约束;然后利用拟合技术,插值每个约束帧上每个关节的运动位移,并平滑地推移到其他帧。使用单条B样条曲线拟合的方法时,如控制点间距过大,则得到的曲线与数据点误差大;控制点间距过小,则得到的曲线过于波动。多层次的B样条近似法,则是采用一系列控制点间距不同的B样条函数的累加来较精确地近似数据点并得到平滑的形状。基于曲线拟合的运动编辑方法的缺点是不能处理帧之间关系的约束,例如,脚的落地约束存在于多帧之间,由于没有一个落地的绝对坐标,无法通过运动位移求解来获得,因此需要结合其他方法来解决。其次,如果要对运动进行全局性的改变,则需要调节所有或绝大多数控制点,计算量很大。
运动曲线变形方法是通过对运动参数曲线进行时间变形、幅度变形和位移变形等,来修改动画角色的运动。角色运动包括根关节的位置和各个关节的角度等运动参数,每一个参数随时间变化都形成一条参数曲线。Witkin[54]提出了基于运动参数曲线变形技术的动画编辑方法,可以独立调整每一条运动曲线。变形方法类似传统的关键帧方法,动画师通过交互指定一系列关键帧(相比传统的关键帧方法,需要创建的帧数少得多)作为约束,然后利用简单的线性运算进行时间、幅度和位移等变形,可以得到一个能保存原始运动细微特征的平滑运动。曲线变形的优点是算法简单、计算量小、速度快。适合于整体的运动变形,但是很难实现运动的局部修改和变形。
Gleicher等[55]提出运动路径的概念,并利用运动路径变换的方法进行运动编辑。运动路径变换方法首先将捕获运动分解成原始路径与余量,其中路径描述了运动的总体特征,余量则代表了运动的细节。利用路径坐标系变换,将捕获运动的细节与用户设定的运动轨迹曲线合成,从而产生沿着指定路径行进的新运动。运动路径变换是一种特殊的运动轨迹编辑方法,它着眼于改变角色行进的轨迹,从而产生新的运动。其主要特色是在路径变换公式中加入了旋转矩阵一项:改进了原有的位移映射局限,即不仅考虑到运动路径编辑前后的相对位移,而且考虑到保持原有的人物相对朝向。但是路径变换是纯几何方法,未考虑物理约束,因此不适合跳跃、跑步时的急转弯等高度动力学性质的运动,也不适合于地形变化大的情形下新路径的编辑。陈志华等[56]对现有的路径编辑方法进行了较大改进,将运动自动简化技术引入到传统的时空优化方法中,同时将物理约束引入到传统的路径变换方法,保证了优化过程的快速收敛和结果运动的物理真实性。(www.chuimin.cn)
3)运动融合技术
运动融合,也称运动混合,是将两个或多个指定的捕获运动进行加权平均,从而得到新的运动或运动过渡[57]。最常见的运动混合包括运动过渡和运动插值。其中运动过渡为两个运动之间的参数加权平均,输入运动的权函数为一个0到1之间变化的函数,其目的是生成连接两个运动之间的运动过渡片断;运动插值则是针对两个或多个运动进行参数插值,从而生成和原有风格不同的运动。插值算法包括双线性插值和多变量插值[58]。
要对多个不同来源的运动进行拼接或混合,前提条件是这些运动角色的骨架中对应骨骼的长度必须相同,否则将难以得到合理的结果运动。也就是说,在将不同来源的数据放入运动数据库之前,需要对它们进行数据预处理,确保它们都具有相同的关节尺寸。高岩等[59]利用一种较运动重定向更为简单的技术——运动正规化进行数据预处理。提出的运动正规化算法包括三个主要步骤:约束检测、骨架调整和滑步清除。约束检测的目的是确定源运动的哪些特征必须在目标角色中予以保留。骨架调整将源运动通过缩放的方式调整到目标角色。滑步清除算法则作为后处理过程,恢复在骨架调整中丢失的约束信息。Witkin等[54]利用标准的淡入淡出函数,对运动参数进行插值,生成过渡运动。Asharaf等[58]通过对原始运动的关节参数进行加权平均,实现运动混合。而Unuma等[60]则通过在频率域上对运动参数进行加权平均,得到融合后的运动。Rose等[61]采用时空约束与IK约束相结合的方法,来生成无缝的、物理上可行的运动片段过渡。Rose的方法不能保证时间变形的单调性,在搜索和混合多个输入运动之间的对应帧时,可能会出现角色突然转向等现象。Park等[62]对此进行了改进,提出基于散乱数据插值的实时方法。Rose等[63]提出插值运动例子的方法。这些运动例子的特征,可以是情绪或诸如拐弯、上下坡等控制行为。这些参数化的运动称为“动词”,控制参数称为“副词”,动词之间可以通过平滑过渡构成动词图。他们采用径向基函数(radical basis function,RBF)和低阶多项式来产生例子运动的插值空间,IK约束用于后处理。动词图构造好以后,可以实时修改副词,提供对运动的控制。
以上运动混合方法只适合于捕获运动之间很相似的情况,但是当捕获运动相差较大时,很难得到满意的结果。Kovar等[64]对此进行了改进,提出利用配准曲线进行运动混合。他们引进了一种新的数据结构,即配准曲线、包括时间变形曲线、坐标配准曲线和约束匹配。利用配准曲线进行运动融合,大大扩充了可以进行参数融合的运动类型,但是该法不能处理物理约束。Glardon等[65]着重研究了走、跑等移动类运动和跳跃的融合。他们根据脚跟着地的状态,将移动运动细分为6个阶段,而将跳跃运动巧妙地“嵌入”到移动的合适阶段之间,从而得到走跳结合的运动序列。这种方法能够保证当前移动运动的速度和类型与跳跃运动的长度相匹配。但是它也有局限,一方面作为一个半自动的方法,需要人工来选择过渡的时刻和持续区间;另一方面依赖于一个预先标注好每一个约束的时间信息的运动子集。
也有些学者,通过构造一些基运动,然后对这些基运动进行融合,从而产生新运动。Grunvogel等[66]进一步提出参数动态可变的运动模型。他们利用不同的运动模型构造一种特殊的数据结构,即运动树,然后通过融合运动树得到各种风格的人体运动。运动模型方法的缺点是对于约束较多的运动难以获得其模型。
4)运动合成技术
运动合成是将多个运动片断进行合成,从而得到新的运动序列。针对事先获得的运动捕获数据库进行建模,搜索合适的运动片断,并将运动片断进行光滑拼接,从而产生新的运动序列。基于数据库的运动合成方法首先对运动捕获数据库进行预处理和建模,然后设计相应的搜索算法,自动高效地搜索到所需要的运动片段,最后拼接运动片断,从而生成新的运动。研究难点包括数据库的建模,运动片断的快速搜索和运动风格等参数的提取等。现有的合成方法主要包括基于运动图的合成[67]、基于统计模型的合成[68]和基于运动风格的合成方法[69]等。
基于运动图的合成是一种重要的合成方法,它将运动合成问题转化为运动图的搜索问题,并提供给用户对合成结果高层控制的能力。Kovar等[67]提出将运动序列表示成运动图,通过搜索图的路径,从而合成新的运动。运动图的概念被提出后不断得到扩展和改善。在2003年Kovar、Gleicher等又提出了一种新的合成高质量运动的方法,这一方法可以达到近乎实时可控,叫Snap-Together Motion(STM)[70]。STM方法需要预处理数据,将运动捕获的数据处理成可以连接在一起的短片段运动的集合,处理过程中需要人为辅助选择“常用”姿态,系统自动产生通过该姿态点的多样的过渡片段。Safonova等在改善运动图结构方面也做了不少工作[71-72]。为了做到保证光滑过渡的前提下提高运动图的连通性,Safonova等[71]提出了一种新的运动图构建方法,简称wcMG。wcMG是通过插值方法生成很多过渡运动数据,用这些数据和原有捕获的数据一起去构建图,从而大大提高了运动图的连通性,同时提出一种剪辑算法保留捕获到的数据,去掉冗余的人为生成的运动数据,保证了连通性同时减小图的规模。Lee[73]预计算了每一个可能的输入和对应该输入的运动状态之间的关系,Park和他的同事们[74-75]手工将运动预处理成一个个小的部分,具有相似结构的部分被安排到同一个图中的节点上并加以融合,使得本地搜索能够被用来产生实时的运动。图的结构被设计成可以由运动自动产生,这一工作是由Kwon和Shin[76]完成的。Shin和Oh[77]扩展了这一技术使之可以包含额外的行为。高岩在基于内容的运动检索与运动合成方面也做了很多研究,将运动检索和运动图组织进行了关联。
由于运动图的结构与图的结构基本一致,因此我们可以应用图论中的知识和算法来解决我们在运动图搜索中遇到的各种问题。为了让生成的运动具有更高的质量,运动图的规模一般较大,图的搜索过程也比较慢,因此,加快图的搜索是运动图算法中的一个关键问题。Arikan[79]等使用了随机搜索的方法,并引入了突变的概念来得到最终运动路径。Kovar[73]等通过先定义一个目标函数,然后采用分支定界法来得到使目标函数最优的路径。Lee[80]等在构造好的高层聚类树上寻找一个条件概率分布最大的路径作为最终的运动路径。Safonova[81]的研究采用了诸如离散降维、简化运动图和限制插值使用次数等方法来较快地找到接近全局最优解的路径。
人体运动既可以直接表示为原始运动帧,便于保持原有的运动风格,也可以表示为概率统计模型,便于搜索。Li等[82]采用两层随机模型来描述人体运动的概率分布特性。他们提出运动纹理的概念。运动纹理包括纹理基元及其转移分布,利用线性动态系统来表示基元,采用一阶马尔可夫过程来模拟纹理基元的分布,模型相关参数可以通过采用最大似然法学习得到。用户可以在两个层次上编辑、合成人体运动:即从基元(低)层次上,通过调节线性动态系统模型中的噪声函数,或加入末端位置约束,来合成新的基元;或者从基元分布(高)层次上,通过基元分布采样,或用户交互指定路径,来合成新的基元路径。这种方法的局限是:①基元转移分布模型局限于捕获数据的内容;②基元中加入高斯噪声,可以合成新的基元,但是由于没有考虑到物理规律,所以可能会出现运动不真实的现象;③没有考虑到和场景物体进行交互的问题。
很多学者着眼于合成新的运动风格。Grochow等[83]提出SGPLVM(Scaled Gaussian Process Latent Variable Model)模型,利用不同的捕获数据训练该模型,继而可以构造出不同风格的IK求解器,最后能够求解出既满足约束要求,同时又具有特定风格的角色运动。该法的主要局限是不适合高度动态的运动。Li等[84]研究利用二维图像数据,来改变三维的角色运动,从而使得动画师可以通过绘画,随意改变捕获运动的角色风格。该法的主要局限是不能改变和动态性能关联的风格,如角色运动的速度等。
总之,人物动作规划技术作为计算机动画领域内的研究热点之一,引起了众多学者的研究兴趣。在国外,美国的卡耐基-梅隆大学、华盛顿大学、麻省理工学院、斯坦福大学、纽约大学和布朗大学等在该领域的研究处于国际领先地位,此外还有瑞士的联邦工学院、韩国的汉城大学等;在国内,浙江大学、上海交通大学、北京理工大学和天津大学等单位都开展了卓有成效的相关研究,微软亚洲研究院前几年在运动捕获的动画技术方面进行了深入研究,其研究成果多次在SIGGRAPH会议上发表。上述研究团队,对人物动作规划的各个内容,包括运动重定向技术、运动轨迹编辑技术、运动融合技术等进行了深入的和富有成果的研究,提出了各自的编辑方法。虽然这些方法具有各自的优点,但是它们也都存在着各自的局限性。
有关虚拟现实理论基础与应用开发实践的文章
在“捕获”对话框中,从“类型”下拉列表框中选择MPEG、JPEG、TIFF、BMP或AVI选项,以将动画录制成所需的格式文件。如果希望使用Creo Parametric的照片级渲染功能来录制动画,则需要勾选“质量”选项组中的“照片级渲染帧”复选框。图5-79 “动画”对话框图5-80 “捕获”对话框......
2023-06-20
要创建运动路径动画,必须首先创建路径对象,然后选择该对象作为相机路径或目标路径。调用命令方式·下拉菜单:视图→运动路径动画。图10-5 “运动路径动画”对话框·“将目标链接至”选项:将目标链接至点或路径。指定范围为1~60的值,默认值为30。该值与帧率共同确定动画的长度。默认值为320×240。·“预览时显示相机预览”复选框:显示“动画预览”对话框,从而可以在保存动画之前进行预览。......
2023-10-21
首先创建一个文件夹Animation用来存放GameController文件,在文件夹内右击新建一个Animator Controller。图8-163发现新Tab将PlayerController放到主角身上的Animator组件里面的Controller。图8-173加入函数到Update()图8-174主角移动,播放Move动画又一个bug出现,主角停下来时,还是播放Move动画,因为刚刚的Animator并没有设计从Move状态转为Idle状态的条件。图8-175主动停止,仍在播放Move动画isMoving设置false,再运行游戏,主角就正常的Move和Idle了。......
2023-10-17
群体动画的快速制作是目前计算机图形学的主要研究方向之一,群体动画有较高的研究价值,主要体现在电影制作、游戏制作、军事训练中。在群体行为仿真建模方面,Amkraut等[85]于1985年SIGGRAPH的The Electronic Theater中提出群体动画概念。LOD技术不仅降低了模型的复杂度,而且动态LOD技术还提供了平滑的视觉过渡和对模型的动态控制,非常适合应用于角色运动的三维可视化。与现有方法不同,我们关注的是群体动画在工业界的应用。......
2023-10-17
这类物体在受到力的作用时,其不同的部分依次运动,似波浪在传递,因此称之为波形曲线运动。波动在方向上有波峰和波谷,分别是振动的最大值和最小值。......
2023-07-26
目前基于服务器的防治病毒方法大都采用了NLM技术,以NLM模块方式进行程序设计,以服务器为基础,提供实时扫描病毒能力。当网络用户将带毒文件有意或无意地拷入服务器中时,网络防病毒系统必须立即通知网络管理员,或涉嫌病毒的使用者,同时将其记入病毒档案。基于服务器的防治病毒方法,表现在可以集中式扫毒,能实现实时扫描功能,软件升级方便。......
2023-11-20
在基于互联网的应用中,互联网作为信息传输的媒介,其带宽与稳定性对用户体验有决定性的影响。基于我国互联网发展现状,针对医院管理信息软件,开发离线应用是非常必要的。离线临时服务的启动需要一定的感知机制,不能随便就启动离线应用,毕竟这只是一种应急策略。因此系统采用了智能的离线感知判断技术,当应用真正离线或离线中心服务出现问题时,就能够第一时间捕获离线服务的运行异常,反馈给管理员和用户,并记录日志。......
2023-10-21
图8-15人行走时原地循环原画最后在接触帧和过渡帧之间插入抬腿交换重心的中间画,这就是走路的基本动作。图8-20人跑步动作分解原画8.2.3四足动物——运动中的马四足动物行走和奔跑的姿势千差万别,但也有规律可循。对于四足动物来说,骨骼结构决定了其运动状态,谈论四足动物时,比较有代表性的应该是马。......
2023-07-26
相关推荐