布料模拟的4大要素:
1。本身的材料属性,比如是棉的还是革的,是柔软的还是弹硬的,摩擦力是多大-----这些在对象属性面板或组属性栏中设置
2。布料的依附对象,比如裤子穿在人身上,腰部是被腰带锁定在身体上的-----这些方法通过组子对象级别提供的各种操作来实现
3。对外界作用力的反应,比如风力、重力等-----这些在作用力面板中设置 4。与外界的碰撞,比如桌布对桌子的反应-----这些属性通过存在于一个cloth修改器系统的碰撞对象来实现,在对象属性面板里
当然,要进行模拟首先应建立布料模拟系统,以上四项操作都是在系统内部进行的;要建立布料系统,只需要给物体施加cloth修改器,方法有二:
1。选中要参与模拟的所有物体,布料了、依附对象了、碰撞对象了,然后施加cloth修改器
2。先给系统中的一个对象施加cloth修改器,然后再通过拾取物体来将需要的所有对象加入,这又有两种方法: 1)在修改面板中点拾取按钮
2)在对象属性窗口里点拾取按钮 使布料模拟精度增加的方法是: 1。增加代理多边形网格密度 2。加大布料网格密度 3。减小步长 4。增大子例
5。启用高级收缩
而加快布料模拟速度的方法正好相反: 1。减小多边形碰撞代理网格密度 2。减小布料多变性网格密度 3。增大模拟步长 4。减小子例
两个很有用的修改器: ConformMorph、push;他们既可以作用于整个对象又可以作用于选定的子对象集;对于ConformMorph,将要变形的对象分的尽量小比整体作修改效率要高;
ConpformMorph用来创建简单的代理对象以与衣服还有毛发作碰撞模拟以及创建高精度模型的动画代理,方便做角色动画;push就是沿着面的法线方向推拉面,常用来调整人物的衣服模型 注意:
要让对象相互作用,必须将其加入一个cloth修改器系统中;注意cloth修改器是斜体的,这说明它不只是一个对象的修改器,而是一个系统,可以包括很多物体,一次修改其参数将对很多物体起作用
如果碰撞对象高速运动,增大子例采样可有效的防止穿插,同时也会增加渲染时间,子例采样针对碰撞对象
如果常规状态下的场景碰撞出现穿插,有以下几种解决方法,最上面的为最佳方案:
1。增大被碰撞对象的碰撞深度值(这个最有效,它不以增加时间为代价,效果显著)
2。增大子例采样值
3。适当增大被碰转对象的表面位置偏移值 4。增加布料网格密度 5。增大被碰撞对象网格密度 6。减小步长
对于布料模拟时的抖动,避免的方法: 1。增大被碰撞对象的碰撞深度值 2。增大子例采样值 3。减小步长 这三者都有影响
关于布料组子对象中的局部附着操作步骤: 首先创建要附着的组
然后高亮选择组,点击相应的附着操作按钮,拾取要附着的对象(对象、组等) 组操作分类:
组操作:设定,更改,解除附着,初始化点位置,删除,重命名
附着操作:外部节点,外部表面,外部衣服,保留,拖拽;内部节点,组到组 粘连操作:曲面粘连,布料粘连
其它操作:避免碰撞,力场(可以使布料局部受力,要让他局部受多个力,请使用相同的选择集创建多个组,分别拾取多个力场)
注意surface只用来表现布料被吸附至碰撞体表面的效果,他无法完美的表现粘连撕开时的效果,要表现这种效果,请使用stitchy surface
而同样,cloth只用来表现布料被吸附到别的布料上的效果,他无法完美的表现布料之间粘连后被撕开的效果,要表现这种效果,请使用stitchy cloth node指的是外部物体 sim node指的是内部碰撞体 surface指的是内部碰撞体的表面 cloth指系统内别的布料对象表面;所以要让布料依附其表面必须是内部对象的碰撞提货布料
group指系统内别的组(可以是系统内任何对象的组,布料 碰撞体都行) 可让布料产生模拟时被憋的碰撞提吸引过去的效果,方法是钩选组参数中的 启用 软 offset=0 strength决定被吸引的强度或者说被吸引过去的速度,并且这些参数可以被做到动画,可以产生在特定的时间点布料被吸引过去到某个距离,还可以让布料一会儿被吸引,一会儿不被吸引;而且如果要被吸引,也就是将offset设置为0,清打开软项,否则系统拒绝结算,想想也是,因为不存在这种被硬性吸引的情况,再硬的吸引都需要时间,而这可以通过增大吸引强度来实现;如果产生了错误的定点位置吸引情况,可能是由于碰撞体网格密度太低,增大即可;但这组参数对于node和sim node无效,这时布料无法被吸引,也无法产生好的软动态效果,所以请关闭软项,否则会出现附着点位置错误;offset后的rel项好像无效果?
打开布料的自碰撞选项之后非但布料自身产生了碰撞,还让一个系统内的不同布料之间也产生了碰撞,关闭则都关闭 布料属性:
调节布料参数前最好先选择类型,好有个参考;除非你是高手,对各个参数都了如指掌
u/v bend:值越大布料越硬,不易产生弯曲褶皱
u/v b-curve:一般为0.5,增大其值能够避免衣服的非常规褶皱;这是它的主要用途,其实他也影响布料的意弯曲性,值越大越不易被弯曲
u/v stretch:增大其值会使得布料不易被拉伸,一般为50,太小的值会使得布料如橡胶
u/v compress:比例,影响布料在模拟时是伸展还是收缩,大于1时伸展,小于1时收缩;对于非Garment maker对象,只有u值有效果,他影响两个方向 以上四组参数常规状态下是成双改变值的,要想单独更改清打开下部的anisotropic
shear:值越大斜切变形能力越弱,越小越强,布料也越软
density:布的密度也就是重量,比如帆布就比丝绸重 damping:阻尼,直观点说就是灵敏度
plasticity:可塑性,或称变形后恢复原貌的能力的负值,值越大恢复原形的能力就越小
对于单株花草的动力学现象可以使用布料来模拟,更容易控制,比如受风力还有碰撞,如果植株网格太多,可以使用skinwrape代理;如果是数量庞大的植株模拟,使用ornatrix更方便
在布料属性设置窗口中,设置前请先在列表中选择要设置的对象,否则等于没设置;设置好后请点击ok按钮而不是关闭对话框按钮,那样也等于没有设置 tension参数的作用是使衣服的折邹更锐利,同时显示底层的定点色修改器绘制的定点颜色;要使绘制定点色中的显示方式有效请在绘制时关闭cloth修改器或者开启他的tension参数项,否则定点色将不显示
要将布料的一部分被别的对象牵引只需要将布料整体链接给该对象,然后设置布料的preserve组就好了,preserve组通常是与对象接触的那部分顶点,模拟与物体接触的部分被物体牵引
在模拟前设置好系统单位可以避免错误;而ornatrix就没有单位设置,它使用3d的默认单位,所以在使用ornatrix时最好使用常规尺寸可以减小错误的发生
如果模拟时衣服支离破碎的膨胀就减小碰撞体的offset值或增大单位比例,增大单位比例会使得布料变得容易拉伸,这可通过增大布料反拉伸值来消除;在调小offset值得同时适当调小depth值,否则衣服会支离破碎的收缩;但太小的值会让布料不再产生碰撞
增大系统单位可以纠正多种错误,唯一的不协调是使得布料产生弹性,但可以通过调节布料属性来消除
如果产生随即而又圆滑的非常规缩放请复位布料属性值,这通常是因为极端的布料属性设置引起的
单位设置的大相当于放大了世界也就放大了布料,会使布料显得据有更大的惯性和可拉伸性,反则反之
要让物体自碰撞生效需将其值设为1(0-10),有时0无效
通常来说stretch是控制拉伸性的,但要注意如果shear值设得太大,stretch的拉伸便无法实现,他受shear的严重影响
要设置布料模拟的初始状态有两种方法:
1.执行局部模拟,到适当的状态时停止模拟既捕获状态
2.执行模拟后到适当的振设置初始状态,删除模拟关键镇,既捕获状态