二次布料效果的预计算_第1页
二次布料效果的预计算_第2页
二次布料效果的预计算_第3页
二次布料效果的预计算_第4页
二次布料效果的预计算_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

接近详尽的辅助布料效果的预计算摘要针对计算机图形方面数据驱动方法的核心论点是建立在维度的魔咒:预先执行一个复杂空间的“一切”是非常棘手的。在本文中,为了挑战这种假设,我们用了数千CPU小时,通过一个大的运动曲线,在一个角色动画效果中对辅助布料效果的空间进行了大规模的勘测。我们的系统不断探索布料运动的相空间,逐布构建辅助布料运动图形来捕获系统的运动。我们发现可以从低视觉误差容限和含有几十原始网格千兆字节数据的辅助运动图形中采样动态空间,然后压缩到只有几十兆。这些结果使我们能够捕捉高分辨率、离线布料的效果,模拟人物动作丰富的空间和有效地提供它作为一个交互式应用程序的一部分。关键词:布料模拟,数据驱动的动画,视频游戏1.介绍数字驱动技术已经能够使用实时动画来模拟那些惊人复杂的现象,但这些现象在实时动画实现太过昂贵或者缺乏合适的模型(如人体模型)。然而,针对这些预先计算为基础的方法的核心论点建立在维度的魔咒:这是不可能捕捉到“一切”,因为每增加一个模拟条件都会在动力学空间引起指数般的变化。出于这个原因,几乎之前所以的数据驱动动画的工作都是在学习一种在现象,这种现象是很少有变动模式,而且严格控制设置,同时这种现象将定期返回一个单一的,剩余的配置。鉴于在低成本,大规模计算能力的可用性的快速增长,我们认为,现在是时候重新审视这个假设。虽然它可能不容易处理的捕获的一切复合动力系统,它可能会捕获几乎所有重要的东西。这反映了计算机科学的一种增长趋势,其中研究人员在研究类似的机器翻译理论上无限大的空间已抓获“几乎所有”关于翻译,例如,只需使用一个足够大的数据语料库。在本文中,我们通过一个有限的运动图形来关注一个动画角色的二级布料效果的预处理。我们引入一个辅助运动图的概念:在主运动图中的每个状态(设置情况下,人物的姿势)可以有许多相应的状态中的辅助运动图形(设置情况下,衣物在身体上的配置)。因为布料是一个动力系统,其中该布料状态依赖于前一个布料状态,不只是身体的姿势,所以辅助运动图形可能远远比主运动图形更加复杂。我们提到的实验结果是通过对辅助运动表空间执行一个大规模的探索而得出的。相较于以前的工作预先计算,我们明显使用更多的数据在动态影像的相空间来模拟大型肖像。我们主要的例子表示,当超过55分钟模拟布料动画时,会产生大于4500CPU小时的计算。我们探索的规模使我们能够在动态影像中观察到布料配置的永久变化产生新的子图,并且与先前计算的状态有很大程度的不相交性。我们表明,即使对于大的运动图形,也能够探索二级动力空间到低视觉误差公差-基本上,要预先计算几乎所有重要的-而得到的数据可以被压缩到一个相当小的内存占用量。在实践层面上,这些结果使我们能够为一个丰富空间的人物运动捕捉出高清晰度的离线布料模拟的效果,同时实时地提供给合适的硬件作为交互式应用程序的一部分。与许多数据驱动技术相比,我们的模型为预先计算模型提供了近似的误差保证范围。由于抽样不足引起的误差,仅在表现在一组数据库中的稀疏帧中。因此完全验证错误并手动检查这些错误帧是有可能的。此外,我们的系统被设计为支持在动力空间“持续探索”动力空间中不断扩大画像在相空间中是被构造的。相比之下,以前的预计算方法通常需要对精心设置的确切情景进行预先计算。2•相关工作利用计算机模拟生成布料动画成为积极研究的课题已经超过四分之一个世纪。这段时间内,在涉及到布料造型的动态和处理冲突的主要问题已经解决。包含了大部分的布料模拟方法的发展总结可以从Nealen等的调查文章中找到。许多现有的用于模拟布方法能产生高度逼真的效果,甚至很难与现实区分。这些方法的真实性可以通过使用测得的材料特性来增强。然而,实现高分辨率布料仿真的计算成本目前阻碍了它在交互式应用中的使用。图形研究者已经采用多种方法来解决这个问题,其中的许多方法也运用了预先计算的数据的。一种常见的方法是运行低分辨率模拟仿真,然后在先前计算的高分辨率基础上添加额外的皱纹细节进行模拟,记录真实的布料运动,或简化物理模型。虽然这些方法以最小计算开销大大增加布料真实感,但所得的运动结果仍能够反映出低分辨率的基本模拟网格。研究人员还调查了模型简化的方法来完全捕捉复杂的系统,如降阶模型中的流体和变形对象的。这种做法可能会带来显著的加速,但难以捕捉间断性的和场所限制的一些潜在动力。此外,这样的数据驱动的方法往往需要模拟运动紧密砍断带有不可预知错误的预算值,如果系统与捕获的模型相差太远。本文探讨了不同的方法,用更简单的基于图形的模型把布料的动力制成表,同时强调大量的预计算来捕捉布料的相空间的很大一部分。不是减少对人物特性的布料动力学,德阿吉亚尔【2010】的稳定空间技术不必靠着完全运行时仿真和代替学习到一个准线性模型用于从暗箱模拟数据的动态。这里学习的近似布料模型是基于身体的姿势(呼应数据驱动的剥皮方法)和布最近的运动历史。与德•阿吉亚尔的工作相反,詹姆斯和Fatahalian[2013]确定了可变形系统运动的制表(任意非线性)。实时布动画的是将存在于预先计算的子空间数据库里的布轨迹数据进行导航实现的。我们的工作是在理论上和他们的相似,但有两个不同的关键方面。首先,我们不是用一个简单脉冲的小调色来驱动系统而,而是用一个人物运动的图形来表示更丰富的额外的布料空间。其次,我们的状态空间采样过程的绝对规模使我们能够将更复杂的布料的行为制表,包括表现出分叉的空间和不返回到一个单一的静止状态的布料。我们的工作涉及子空间采样和数据压缩的挑战,在可提供高品质的布料动画的互动系统的呈现中需要减少大量的预先计算的数据。我们的方法的主要优点是,它在相空间中将分岔自然地模式化,这是对于预先计算方法的一个关键挑战。特维格和詹姆斯已经将动态分岔(碰撞所产生的)用于图形的控制。他们其中的一个思想就是,探索连接不同点来创建收敛于一个期望的最终状态的动画【特维格和2008年詹姆斯】。另一个是将碰撞对象的动态分叉可视化成交互模式控制[特维格和詹姆斯2007]。我们的工作也是类似的研究大型相空间,包括分叉,但我们的目标是不同的:不是寻求控制,而是我们将分岔作为对数据驱动的交互式仿真的建模挑战。3.辅助运动图我们追求在一个人物上实现完全数据驱动系统,综合了实时,高分辨率的布料运动。我们的方法依赖于对布料运动导致的动画人物运动过大图的模拟的广泛采样。作为新生成的布料运动,它们被分析并压制成的紧凑表示,以至于能支持低成本运行时间。我们现在描述我们的布料运动的表现形式,以及来样,压缩和交互回放预先计算布料运动采用的技术。3.1辅助图的定义我们用两个运动图来代表代表人物移动以及人物运动与辅助布料运动的联系。【2002;阿勒坎和福赛斯2002】第一图,我们称之为主图形图,是一个标准的描述人物移动运动图。我们将图形代表的唯一的人物姿态(而不是运动剪辑)定义为为图节点pi。因此,图形边缘从pi到pj则表明在动画中pj可以直接跟随pi。图3中的黑色部分就是说明七状态的主运动曲线的一个微小例子。我们用拥有巨大空间(可能是无限的)的将布料运动制成表了的辅助布料运动图来扩大主运动图。在辅助图(在图3中的13个红色状态)的每个节点代表一个布料的动作,并且它恰好与主图形上节点P(ci)相关联。也就是说,当布料的姿势为ci时,人物的状态是P(ci)。对布料相空间的广泛取样将产生一个辅助运动图,是比主图形明显大很多的。因此,如图3中所示,辅助图的多种状态可以与主图中的每个节点相关联。在播放期间,主图的遍历由应用程序的人物控制器控制,就如现今常见的交互式应用。为生产布料运动,主图从pj转换到pk会触发构成相应的辅助图使布料的姿势从ci到C(ci,pjfpk)。表中列举的辅助图布料状态c0和c5的转变,在图中有提供。辅助图和其相关联的转换表C(CI,PJfpk)描述了人物施加外力后,布料的运动响应。同样的,它们的功能类似于由詹姆斯和Fatahalian[2003]中描述的脉冲响应函数的数据库。通过表示主运动图外部因素的转换,我们能够编码出比詹姆斯和Fatahalian的脉冲调色板明显更丰富的力空间。3.2探索图表由于布料的动态运动,布料可通过主图形呈现任意大数量的构型作为人物的连续动画。因此,很可能难以将全部辅助运动图形制表。相反,我们通过逐步重复遍历主图的片段,并使用黑盒离线布料模拟器计算相应的衣物运动来建立了辅助运动图形。[纳瑞恩等2012]。我们的系统是专门设计“永远的样品,”探索未被发的运动,同时为即时交互使用连续维持有效的辅助运动图。初始化图形。我们初始化辅助图是通过探索每个主图的边缘,从任意选择的初始人物开始姿势开始进行广度优先遍历。布料被放在一个初始的姿势上,同时遍历图要求正演模拟的布料覆盖在遍历的人物姿势上。RemoveDeadend(ceti嬉):t'rr)=FindMostSimilar(j)//mer^ece+brfinto%曲出⑴fforeachedgeeincomingto傀”应do:modify£topointtoremovecerti£fromgraphwoi-kQueue.AddJob(err.(ce„jTExpandGraph():dofbrevcrj=^orkQueueLargestErrarJob()//revertthemergeof4帕&intore-insertintographforeachedgeeincomingto匚处忸理亦dla:iferesultedfrompriormergewith4*乳modifyetopointtocetljitewSubtree=SinmlateClo±(cetlj)fbreachnewdead-endCtltwinnewSubfreedo:RemoveDeadendtCf^^)图4左侧表示探索开始于布料初始状态c0节点p0。其结果是从模拟中产生一个布料轨迹树(显示为红色)。(为了清楚起见对该树重新绘制,在该图的左下)。每条从树的根节点c0到叶节点ci的路径代表相应的人物动画从最初的姿势P(c0)=p0至P(ci)的模拟布运动顺序。这样,树的叶子节点构成了二辅助运动图的结束结点。我们通过将共享相同主图状态并且拥有最相似内部结构的布料状态的节点进行合并,来删除每个结束节点状态(参见功能RemoveDeadend())。请注意图4的中间图,结束节点c5和c9已分别合并到c0和c2中。(被删除节点c5和c9以灰色显示在辅助图中)。以前转换到结束节点的边缘,现在转换到合并的目标节点(显示为蓝色)。一旦所有的结束节点都被删除,图形初始化完成。辅助图现在提供了一个任何顺序的人物运动的布料动画结果,并因此给布料运动的全部空间一个粗略近似值。而图中的红线表示实际仿真轨迹,蓝色边表示近似于真正布料运动的转换。当近似值不理想(即当在图中没有内部节点是类似于结束节点的状态),为减少这种错误和在播放过程中避免低质量的运动就需要对布料相空间进行进一步取样。图的无限扩展。对每一个结束节点进行合并操作后,我们同时存储(合并前的)结束节点布料图状态及在优先工作队列中(合并后的)与结束节点布料图状态相关联的边缘近似值错误,用于进一步取样。为了减少布运动误差,我们使用ExpandGraph()函数所给出的过程来广泛地细化辅助运动图形。在每一步扩展步骤中,我们从优先级队列中提取最大的错误结束节点Cmax,并通过恢复之前合并操作时淘汰它的那张图形将Cmax重新插入图中。然后,我们再从Cmax(人物姿势P(cmax))开始模拟布料运动。进一步的模拟是在先前未开发的域布相空间采样,并辅助图中产生更多的,新的结束节点。另外,通过新增的合并将这些结束节点删除就像之前描述的那样。图4,右侧显示从结束节点状态c5开始对图进行探索的步骤的结果。新增的模拟产生在两个新的结束节点,这两者都被合并到c2。辅助图细化的过程会继续反复,消除对布料相空间进行探索时遇到的最大的物理错误,直到辅助运动图总是保持在没有结束节点时。尽管对每一个依赖于之前的结果的新的扩张步骤进行模拟,但是来自工作队列的每一个结束节点的图形扩展都是独立的,这使得图形并行扩展比较为难。3.3改进布料定制化的误差量度。特定的一些布料转换误差比其他的误差更加令人讨厌。为了提供最坏误差的系统知识,我们可以定义对特定的布料或运动的领域进行布料姿势相似性测量。例如,在长袍布料(第5节讨论)的这种情况,对于包含将帽子搭落在人物的肩上和将帽子带到头上这种反向链接的布料图来说是最反感的。我们发现令人震惊的是,简单的错误衡量标准(如,对于顶点位置和速度来说的L1和L*误差)不认同这种转变,所以我们采用将帽子的位置分类为布料姿势的上和下,并将指定的高误差合并,这创造了难以置信的帽子的上下转变。这样的结果是,这样的转变上升到队列的头部。同时系统通过从高误差的结束节点开始探索运动,很快消除了误差。混合图。辅助图里的误差恰恰发生在由结束节点合并所造成的的边缘(图4中的蓝色边)。为减少这些不连续性视觉所造成的假象,我们通过线性混合合并状态前后的轨迹,在一个序列帧上(我们的实现使用10个)扩散误差。4•压缩经过辅助图扩张的任何一步,我们可以将数据压缩和打包用于交互式可视化或积分,再放入游戏引擎中。压缩对于交互式播放来说至关重要,因为我们的辅助图由数万布料网格帧组成,这些布料网格帧需要数百完千兆字节的存储空间。然而,正如其他先前已观察到的[Wang等人。2010],布料倾向于形成近似于重复的模式,并且这些数据实质上是有冗余的。我们发现,原始辅助图形数据压缩得非常好,而且压缩结果占用的空间小,可实时有效地解压缩。这种压缩是重要的,因为现在的游戏通常有严格的预算内存,特别是对于辅助的效果。像詹姆斯和Fatahalian所描述的[2003],我们首先通过执行外核的SVD来减少数据集的维数。布料的数据矩阵DGR(3vXn)(含v个顶点位置的n帧)分解为一个b维的布料基基础BUR(3vXb)和轨迹系数CGR(bXn),这样使得D~BC。我们通过200个数据(b=200)的重构的布网实验确定,它与原始模型在视觉上是非常相似的。然而,有些地方的布是与底层人体模型的接触,即使是很小的压缩错误都可能导致深度排序的逆倒退,从而造成明显的绘制假象。我们利用[deAguiaretal.2010]的深度偏移技术略微缩小人体模型,在渲染过程中消除这些假象。我们还观察到,虽然较少的基向量不足以维持良好的视觉保真度,但独立向量的几何影响却千差万别。我们用mi=maxj表示ICij的每个基向量的最大绝对贡献,发现mi可以通过基向量的数量级的变化(图5)而不同。我们通过用较少的比特代表低影响的基向量,实现进一步的压缩。我们通过重新缩放{mi},来构造B'=BM,同时C'=M-1C,M=diag(m1,...,:mb)。重新缩放B'可以解释为最大顶点位移长度单位,这样就适合于量化了。我们发现在产生视觉假象之前用300微米量子代表最粗糙的量化可能变得显然。在这个宽容下,基向量很容易使用16位短裤和8位字节来表示。在我们的Casual演示场景(第5部分)的情况下,基矢量的82%是可使用8位的值表示。由此产生的基础矩阵压缩到只需要22MB的存储空间。轨迹上系数也可以执行类似的操作量化到16位的值。使用两个位宽简单的压缩方案实现了高压缩,同时在运行时矩阵C'勺轨迹数据高效解码。5.结果为了评估我们的方法,我们通过从HDM05运动捕获数据集构建的运动图形的动画人物来进行布料运动的大规模勘探[Mulleretal.“2007].。我们的主运动图包含12个独特的运动剪辑(共3115张)。我们所选放映片断,包括各种剧烈运动,包括跑步,投掷,踢腿,跳跃,和表演侧手翻的,用来触发高动态布料运动和引导布料到较宽边界的配置。从这个主图中,我们为产生辅助运动图形设置了两种布料:Robe,—件式,连帽长袍;以及Casual,设有三层服装(包括宽松的裤子和宽松的背心)。我们使用ARCSim1,高品质的离线布料模拟器,来计算衣物运动[Narainetal.2012;Wangetal.2011].。为了适应我们的压缩方案,我们禁用使用自适应网格,而是使用了一个固定的网状拓扑结构。平均而言,我们演示的两个离线仿真框架时间分别165秒和243秒。虽然这两个演示服装功能上有相近的解析度,Casual的多重布层间复杂的碰撞结果,处理起来花费更长的执行时间。5.1.大规模勘探使用超过6400CPU小时计算(由英特尔提供的机器集群),Robe产生的布料动画超过99,000张(约55分钟模拟运动,直接可视化在图2和图6)和Casual动画27000帧(15分钟)。这两个辅助图表都近似于比角色运动图大一个数量级。为简单起见,我们在这一节专注Robe的勘探发现,Casual的结果,读者请简单地说,我们发现,由于良好的视觉宽容,大规模计算已对布料运动的相空间充分采样。我们能够为随心所的遍历主要图而产生令人满意的布料动画。如在所附的视频显而易见的,通过辅助图的路径产生非常详细的、光滑的布料运动,即使在进行剧烈的人物操作,如一个手翻(图1),这些让布料与起始状态相比,处在了一个完全不同的姿势。虽然最终我们的辅助图确实完成了高品质的运动,早期阶段勘探后却不是如此。正如预期的那样,为了让布料产生逼真的运动,这种近似是严重不足的,可以确认的是,辅助布料图明显必须比主图形更加复杂。在这些早期阶段,当布从复杂的配置转换回接近其初始启动状态下的配置时,较大的误差是清晰可见的。进一步探索逐步消除了令人震惊的运动误差,更重要的是,在辅助运动空间揭露了有趣的结构,如分岔。虽然我们最初Robe的配置特点是帽子覆盖了人物的头上,我们发现一些有序的运动(例如,步行f跳插孔f步行,或步行f慢跑左f向后走f慢跑右)会导致帽子的落下。图6表示根据帽子的状态而具有彩色状态的完整Robe辅助图。(红色表示帽子保持在角色的头部,而蓝色表示帽子已经脱落。)我们的探索发现,五个唯一有序的角色动作会导致帽子落下。然后它探讨了在并联情况下,相空间的不同的区域。当第一次遇到分叉,也极少有帽子落下的辅助图状态。其结果是,结束节点的合并经常导致帽子从下到上状态的转换(有没有类似的帽子落下姿势来合并)。然而,我们的误差度量(其中分类罩状态)跟随着这些具有较高的错误令人难以置信的转变,因此系统会立即致力于计算资源,以探究图形的这些部分。一旦辅助图表达到99,000帧的大小,就会从带上帽子到放下帽子的状态转换的合并中释放出来。该图基于帽子的状态大致分为两个子图。这些连接所有子图的边缘对应纠正模拟的运动,当人物做了翻转后,帽子自然地从他头上落下或随着人物的头反转。图7曲线是辅助图形最坏转换的L*误差的演变(从含有顶点位置和时间缩放速度的向量)。在粗尺度下,当我们对相空间进行详细的探索时,图中的误差减小。然而,我们将明有显的精细尺度变化误差归因于两个原因。首先,一个简单的距离度量是对相空间中未来的误差一个不充分的预测。(考虑未来潜在的错误来改进错误的指标,以便发现早期高误差区域,是今后工作的一个重要领域。)其次,探索揭示了空间的新异部分(如帽子落下)需要进一步采样,以减少最大误差回到以前的水平。我们选择了Robe的例子,因为它包含了具迟滞程度比较高的翻转这种流动性大的区域。这种现象给每个主状态产生很多辅助状态,尽管如此,我们也会以一个合理规模的压缩数据库来结束。在Casual的例子是较少有滞后的,其结果需要较少的预计算,并产生一个较小的压缩数据库。52交互播放我们能够以每秒超过70帧在苹果MacBookPro笔记本电脑(酷睿i7CPU)上播放从压缩的辅助图中播发布料动画。解压以及矩阵矢量乘积的运算,以合成各自布姿势(其可以使用定点算术来执行),是通过使用OpenMP并行化执行一个简单的基于CPU的执行操作来完成的。6.讨论在这项工作中,我们利用大量的计算资源,将数据驱动动画推到了前所未有的规模。虽然以前的数据驱动的方法只限于简单的,可控的设置,但我们花成千上万个CPU时间,详尽探讨了辅助布料运动的巨大可能空间。我们相信,我们的大规模勘探的结果是惊人的。我们不仅捕获了一组丰富细节布料运动,这些具有足够的密度以消除伪影产生,适用于广泛角色的运动,我们能够发现布料在相空间的分叉,并着手在每个不同的区域

温馨提示

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

评论

0/150

提交评论