|
Simcloth是Chaos公司出品的3dmax布料插件,大大弥补了3dmax在制作布料方面的不足,并采用了动力学模拟使布料成为可动画的布料,功能可与Maya的Cloth相提并论。
Simcloth是基于物体的三角面而言的,三角面的每一个节点(vertex)可以被看做是一个粒子,每一个粒子受到三个力场的作用:重力和风力场;同一物体本身粒子之间的作用力;和其它物体之间的作用力。Simcloth正是基于模拟这三个力场而工作的。
在开始我们的学习之前,我们有必要理解一下动力场的基本概念和一些术语(此概念亦用于Maya):
1)(动力)场:动画粒子、刚体和柔体的力量,如风力场;
2)柔体:表面看上去柔软的物体,如布料。当要使一个几何体(如一个高分段数的平面)转化为柔体时,系统会相应地在几何体上创建一个非独立显示的粒子物体,几何体和粒子的结合就是柔体。
3)刚体:在动画中互相碰撞而不会穿过的物体,一般分为主动刚体和被动刚体,两者的区别是被动刚体不受动力场的作用。
安装Simcloth、重新启动max后,我们可以在两个地方找到新的选项,也就是Simcloth的两大部分:
1.Create>Chaos Group>ClothMesh可以生成非常适合于制作布料的细分表面(subdivision)的平面(plane),当然也可以用max自身的plane。
2.Modifier>more>SimclothMod
首先我们来看一下ClothMesh的界面(如图一):
1.Centered:使坐标轴(pivot point)在物体的中心。
2.Flipped:翻转法线方向。
3.Width, Height:设置布料面的大小。
4.Hor detail, Ver detail:水平和垂直方向布料的段数划分。
5.基于相邻面的线框产生自动平滑,消除布料上的生硬折角,有几种选项: None,All, Rows, // diagonals, \\ diagonals
接下来我们再来看最重要的Simcloth本身,那是一条很长的面板,我们现在来分段介绍:
1.General(通用参数)(图二):

1)Start calculation(开始计算):这是最后一步,当完成了所有设定后就开始进行自动布料仿真模拟。在计算过程中按ESC可以终止计算。
2)Soft selection scale(柔体选择缩放):如果你选择了一些节点,用此可以控制节点数量。例如你选择了一些节点,你将值设为0.5, SimCloth计算时只按照所选节点数的一半计算。
3)Attach by position(附和位置):当打开时,在计算时选择的节点会试图保持它们原来的位置;当关闭时,在计算时选择的节点会集中在一起。这一效果在Soft selection scale的值小于1.0时尤为明显。
4)Clear this:清除当前的Simcloth设置。
5)Clear all:清楚场景内所有的SimCloth 设置。
6)Set init pos :将Simcloth的设置还原成缺省设置。
7)Clear init pos:删除场景中所有为缺省设置的Simcloth修改器。
2.Type(式样)(图三)
 Simcloth里有三中模拟的方式:deflectors,(档板)cloth objects(布料) 和 rigid bodies(刚体):
1)Deflectors:挡板,属于被动刚体,本身是不受SimCloth影响的(自己不会变形),但它可以影响其他带有Simcloth修改器的物体。其本身也不受动力场影响。
2)Cloth objects:布料,是柔体,对象为你希望让它变成布的物体。
3)Rigid bodies:刚体,参数在Integrity group栏内有设置,既拥有Deflector的效果,又能受动力场的影响,属于主动刚体。
3.Dynamics(动力学)(图四)

1) Bounce(弹力):值设的越大,其它物体在动画中碰到它会反弹,一般对象为作为刚体的物体上。
2) Slip(滑动):滑行的动画模拟,当值为1时,物体就象穿了溜冰鞋一样,一般对象也是刚体,不过值不能设得太大。
3) Particle mass(粒子质量)物体的互相作用。数值大的物体质量也就大,不会被质量比它小的物体撞开。(动力学两物体碰撞后大的物体会有一种趋势撞开小的物体。)
4) Space warps(空间扭曲):使用max自身的space warps系统生成场,如重力场和风力场,空间扭曲对刚体物体无效。
5) Air resistance(空气阻力):模拟布从空中飘下时所受的空气阻力效果。
6) Gravity(重力):模拟使物体(布)下落的牵引力。
4.Integrity(完整性)(图五)

1)Num. Steps(步幅数):数字越大布料就越紧密,通常50-100就足够了,这个参数同时也会影响挡板的质量。
2)Tightness(紧密度):控制布料的伸缩程度,小的值可以使布料更容易伸展,大的值可以使布料更紧密。不过不能太大,否则SimCloth将无法计算。一般不要超过表面三角面数的四倍。
3)Tightness bias(紧密度偏移)大于0的值可以使布料收缩得更好,小于0的值可以使之伸展得更好。
4)Spread force(传播力):节点对邻近节点的影响力,可以使布料更有弹性和更紧密。
5)Keep speed(保持速度):控制动画变形时的速度,可以使布料显得更紧。
6)Bond range(约束范围):确定在多少距离内两节点会接合,1.0可使节点按边重合, 2.0就可能会连接到数个邻近节点,在1.0 和2.0之间的值则会进行自动插值计算,设置比2.0更高的值效果也是类似的,但可以使布料看上去更坚硬。
7)Keep shape(保持形状):当限制范围在1.0 和2.0之间时,打开Keep shape可以使布料保持形状。
8)Bonds scale(缩放限制):缩放限制的长度,如果要沿某条轴缩放限制则靠Affect X, Affect Y, Affect Z来控制。
9)Affect X, Affect Y, Affect Z :控制沿每条轴限制的缩放程度。
5.Deflection(挡板)(图六)

1)Self-deflect:让布料自己挡自己。
2)Deflect distance(阻挡距离):实际上是一种计算缓冲,实际的阻挡距离是根据这个值乘以下面的Relative pos(相对位置)而来的。例如, Deflect distance=6.0, Relative pos=0.5,SimCloth就会使两物体保持3.0个单位(unit)的距离。
3)Relative pos(相对位置):作为Deflect distance的补充调整,最好成绩保持0.5以下。
4)React to deflection(阻挡反应)决定布料受挡板作用的强度,一般保留缺省值
5)Self-deflect range(自我阻挡范围): 同一布料的一些部分会自己和自己碰在一起,设置一个值限制布料本身各部分之间的相隔距离。不过这里的数值是倍数,即n倍于Deflect distance值,因此不要设得太高。
6)Fold curve(折叠曲线):当布料本身产生折叠时,布料会根据Deflect distance值和Rel. Pos的乘积相离,用此值可产生一定的过度,一般取1就可以了。
7)Detect intersection(侦测交叉点):自动检查物体间的交叉点以进行适配采样。
8)Detected types(侦测类型):选一种类型进行计算,如故一个面上有很多细节,全部计算太累,可以选择部分计算方式,可以大大加快计算,而且效果是可控的
9)Bound. box divs(边缘盒细分) 实质为加速阻挡计算,加大此值虽然需要更多内存但可以明显加快计算。
Simulation(模拟)(图七)

1)Start frame:从哪一帧开始进行计算;
2)End frame:到哪一帧结束计算;
3)Redraw views(重绘视图):进行检查时SimCloth会自动更新视图。
4)Min. Subdivs(最小采样细分):单帧内最小采样次数,1代表每帧采样一次,2代表每帧采样两次,3代表4次,4代表8次, 最大为6级32次,建议每次你加大此值,最好同时加大Tightness值4倍。
Max. Subdivs(最大渲染采样)
Dist. Thresh(距离阈值):如果两个物体非常接近,SimCloth会增加采样率。
Sub-Object Vertex(节点级次物体)(图八、图九)

1)New:将选择的节点成组,成为一个节点组。
2)Change:将现有的组换成重新选取的节点组。
3)Delete:删除选择的组。
Group Parameters(组参数)
1)Attached:把现有的节点组和其他物体相结合。
2)Attach to surface(附和到表面):attach是使节点组和其他物体本身相连,附和到表面后,可以只移动另一物体的表面就能带动节点组的位移。
3)Attach by pos(根据位置附和):功能和Attach by pos一样,只是用于节点级次物体。
4)Deflect(阻挡):勾选时,节点组会彼此阻挡并且不产生交叉点。
5)Self-deflect(自我阻挡)
其余参数和非次物体级的一样,在此不在赘述。 |