MayanCloth教程(解算精度和碰撞层)

上传人:M****1 文档编号:488074667 上传时间:2023-12-23 格式:DOCX 页数:11 大小:608.32KB
返回 下载 相关 举报
MayanCloth教程(解算精度和碰撞层)_第1页
第1页 / 共11页
MayanCloth教程(解算精度和碰撞层)_第2页
第2页 / 共11页
MayanCloth教程(解算精度和碰撞层)_第3页
第3页 / 共11页
MayanCloth教程(解算精度和碰撞层)_第4页
第4页 / 共11页
MayanCloth教程(解算精度和碰撞层)_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《MayanCloth教程(解算精度和碰撞层)》由会员分享,可在线阅读,更多相关《MayanCloth教程(解算精度和碰撞层)(11页珍藏版)》请在金锄头文库上搜索。

1、栏下的三个属性好,这次我们来看一下nucleus节点的Solver Attributes Solver AttributesSubsteps |3Lj-IMax Collision Iterations 4Collision Layer Range 4.0001Substeps :直译过来就是 子步”我们就当作解算精度来理解,即每一帧的计算次数,默认为3次。什么时候需要改动这个数值呢?我们来看下面这个场景:从第0到第50帧,一个pCylinder快速沿+Z方向穿过悬挂的布料。我们以默认值看一下圆柱穿过布匹的那一帧。(补充一下:在作布料演算的时候,回放速度必须是playeveryFrame或更低

2、,除非你的CPU比PS3的强大。以后我们会讲到如何运用回放速度这个选项结果非常糟糕,如果你遇到像这种碰撞物体快速移动的情况下,可能需要提高Substeps 的数值,我们尝试一下将Subsetps设置为6,12和24:Subsetps = 6Subsetps = 12Subsetps = 24观察解算结果,发现,当Substeps从3提高到6的时候,效果非常显著,结果可以让人接 受,数值 为12的时候,已经非常好了,如果再高到24就浪费了。实际工作中,我们需要反复尝试一下,找 到最合理的数值。下面我们看一下 Max Collisio n Iteratio ns(最大碰撞检测次数),这个数值是指,

3、在每一个Substeps,发生碰撞事件时,所做的碰撞检测次数。我们来实际看一下它的效果,Substeps 改回默认的 3, Max Collision Iterations 分别为 6、12、24 :Max Collision Iterations=6(default)Max Collisi on Iteratio ns = 1224Max Collisi on Iteratio ns是不是发现了 Max Collision Iterations和Substeps对解算结果起到了同样的效果?没错。那我们怎么区分和设置这两个看上去十分相似的数值呢?如果你足够细心的观察图中布料的下摆,你就会发现它

4、们之间的一个显著区别。当我们修改Substeps属性的时候,随着数值的提高,布料下摆变得越来越光滑,而Max CollisionMax Collisio nIteratio ns却没有这个效果。我们可以这样去理解这两个数值的关系Iterations是Substeps的子集。Substeps对布料的全局精度,方方面面都有影响,而Max Collisi onIteratio ns只对布料碰撞事件发生影响。(碰撞层范围)。说碰最后,我们来看一下 n ucleus的重头戏:Collisio n Layer Ra nge撞层范围,我们就不得不提前提到碰撞层的概念了。我们来看如下场景:大家有没有用过Syf

5、lex的碰撞层哦,是不是还记得在Syflex里面,两层布料如果要做碰撞,那是费了老劲了,拓扑要一样,大小要一样,还有一堆参数。当我拿到nCloth的帮助文件,我差点跳起来了,太他妈好使了。在这个场景里面,两块布料大小不一,拓扑不同,但nCloth就不管 这些琐碎。先讲一下nCloth的碰撞层是怎么回事,然后我们再来看实例。不管是布料(cloth)还是碰撞物体(Passive或者collision Mesh)都被指定了一个所属的碰撞层(在 nClothShape 节点中): Surface Propertres3 Collide7 sdF CoBideCollision Layer ; 2.00

6、01 J每一个碰撞层都有一个编号,从0开始为第一层,依次类推。每一个层内,可以指定任意多的nCloth物体,当发生碰撞的时候,编号较低的层中的nCloth对编号高的层中的物体,扮演Passive Object的角色,高层中的物体对低层的物体只扮演被碰撞的角色。如果两个cloth物体处于同一层,那么他们之间会互相影响。这么说可能有些糊涂,我们来看实例:球体是一个Passive Object处于层0,中间带棋方格的布料和球体处于同一层(0),最上层的布料,处在编号1层。碰撞检测就有一个自球向上的过程。好,如果我们将棋方格该到层2,看看解算结果:棋方格被上方的布料狠狠的压制住,毫无反抗能力,连四角的

7、约束也救不了它。因为它的层编号局于上层布料。我们再把棋方格的层编号改为3:看到,结果是一样的,虽然发生了层级的跨越。collision Rangs决定了两个对象之间所能发生碰撞的最大范围,如果超出这个范围,则不发生碰撞,计算公式:clothA的层号-clothB的层号的绝对值减去collisionRangs的值v0则发生碰撞,否则不发生碰撞。则我们可以通过设置这个数值来排除不需要的碰撞事件。(感谢火星时代bbs论坛上的ID “盗亦有道”同学的指正)在我现在进行的短片中,Collisio n Layer Ra nge足可以对付如此复杂的碰撞关系:好了,今天就讲到这里,明天我们来解决nucleus节点下的最后两个项目:Time Attributes和 Scale Attributes借用乱讲老师的一句话:不要光看,要练啊!谢谢大家的支持。档收集自网络,仅用于个人学习

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号