(vfx)mayancloth教程(解算精度和碰撞层).docx

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE PAGE # / 7 栏下的三个属性好,这次我们来看一下 nucleus节点的 Solver Attributes 栏下的三个属性 ▼ Solver Attributes Substeps |3 Lj Max Collision Iterations 4 尸 l Collision Layer Range 4.000 「」 | Substeps :直译过来就是 子步”我们就当作解算精度来理解,即每一帧的计算次数,默 认为3次。什么时候需要改动这个数值呢?我们来看下面这个场景: 从第0到第50帧,一个pCylinder快速沿+Z方向穿过悬挂的布料。 我们以默认值看一下圆 柱穿过布匹的那一帧。(补充一下:在作布料演算的时候,回放速度必须是 playeveryFrame 或更低,除非你的 CPU比PS3的强大。以后我们会讲到如何运用回放速度这个选项 ) 结果非常糟糕,如果你遇到像这种碰撞物体快速移动的情况下,可能需要提高 Substeps的 数值,我们尝试一下将 Subsetps设置为6 , 12和24: Subsetps = 6 Subsetps = 12 Subsetps = 24 观察解算结果,发现,当 Substeps从3提高到6的时候,效果非常显著,结果可以让人接 受,数值为12的时候,已经非常好了,如果再高到 24就浪费了。实际工作中,我们需要 反复尝试一下,找到最合理的数值。 下面我们看一下 Max Collisio n Iteratio ns (最大碰撞检测次数),这个数值是指,在每 一个Substeps,发生碰撞事件时,所做的碰撞检测次数。我们来实际看一下它的效果, Substeps 改回默认的 3, Max Collision Iterations 分别为 6、12、24 : Max Collision Iterations=6 (default ) Max Collision Iterations Max Collisi on Iteratio ns = 12 Max Collisi on Iteratio ns = 24 是不是发现了 Max Collision Iterations 和Substeps对解算结果起到了同样的效果?没错。 那我们怎么区分和设置这两个看上去十分相似的数值呢? 如果你足够细心的观察图中布料的下摆, 你就会发现它们之间的一个显著区别。 当我们修改 Substeps属性的时候,随着数值的提高,布料下摆变得越来越光滑,而 Max Collision Iteratio ns 却没有这个效果。我们可以这样去理解这两个数值的关系, Max Collisio n Iterations 是Substeps的子集。Substeps对布料的全局精度,方方面面都有影响,而Max Collisi on Iteratio ns 只对布料碰撞事件发生影响。 最后,我们来看一下 n ucleus的重头戏:Collisio n Layer Ra nge (碰撞层范围)。说碰 撞层范围,我们就不得不提前提到碰撞层的概念了。我们来看如下场景: 大家有没有用过 Syflex的碰撞层哦,是不是还记得在 Syflex里面,两层布料如果要做碰撞, 那是费了老劲了,拓扑要一样,大小要一样,还有一堆参数。当我拿到 nCloth的帮助文件, 我差点跳起来了,太他妈好使了。在这个场景里面,两块布料大小不一,拓扑不同,但nCloth 就不管这些琐碎。 先讲一下nCloth的碰撞层是怎么回事,然后我们再来看实例。 不管是布料(cloth )还是碰撞物体(Passive或者collision Mesh )都被指定了一个所属的碰 撞层(在nClothShape节点中): ▼ Surface Propertres 3 Collide 7 sdF CoBide Collision Layer ; 2.000 1 J 每一个碰撞层都有一个编号, 从0开始为第一层,依次类推。每一个层内,可以指定任意多 的nCloth物体,当发生碰撞的时候,编号较低的层中的 nCloth对编号高的层中的物体,扮 演Passive Object的角色,高层中的物体对低层的物体只扮演被碰撞的角色。 如果两个cloth 物体处于同一层,那么他们之间会互相影响。这么说可能有些糊涂,我们来看实例: 球体是一个Passive Object处于层0,中间带棋方格的布料和球体处于同一层( 0),最上 层的布料,处在编号1层。碰撞检测就有一个自球向上的过程。 好,如果我们将棋方格该到 层2,看看解算结果: 棋方格被上方的布料狠狠的压制住, 毫无反抗能力,连四角的约束也救不了它。 因为它的层 编号咼于上层布料。 我们再把棋方格的层编号改为 3 我们再把棋

文档评论(0)

jinzhuang + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档