本例要讲的是syFlex和maya的应用,不是太难,希望对大家有所帮助。最终效果如下:
字串5
(效果图)
字串9
1.将syflex插件导入maya。
字串5
(图1 效果图)
字串4
2.建立一个pCylinder;然后绕着pCylinder画一条轨迹。
字串6
字串7
(图2 画一条轨迹) 字串4
3.沿着轨迹extrude出polygon的面。
字串8
注意:准备做布料的面一定要是polygon的面。nurbs和surbdiv的面是做不了的。
字串3
(图3 polygon的面) 字串7
4.选择extrude出的polygon面,点击菜单栏里的Syflex---Cloth---Create Cloth 字串8
字串3
(图4 Syflex---Cloth---Create Cloth)
字串3
打开outliner,我们会发现多了两个物体,syCloth1Trs和syCloth1ShapeTrf。syCloth1Trs下可以调节布料的弹性和自摩擦系数。
(图5 弹性和自摩擦系数)
字串4
syCloth1ShapeTrf就是生成的布料。原extrude出的polygon面则被隐藏了,如果历史还在的话,可以通过改变原extrude出的polygon面的面数来改变布料的精细程度。 字串2
5.现在给布料一个重力。选择syCloth1ShapeTrf,点击Syflex---Forces---Create Gravity
字串4
字串8
(图6 Syflex---Forces---Create Gravity)
点击Play,会发现布料在重力的影响下做自由落体运动。
为了能够“拎”住这块布料,所以我们就在布料的一角加上一个Nail约束。选择syCloth1ShapeTrf,右键选择其角上的点,点击Syflex---Constrains--- Nail 字串2
(图7 Syflex---Constrains--- Nail) 字串8
点击Play,会发现布料的一端被“拽住”了。 字串5
(图8 图例) 字串4
6.现在我们给布料一个风场。选择syCloth1ShapeTrf,点击Syflex---Forces--- Create Wind
字串1
(图9 yflex---Forces--- Create Wind) 字串8
点击play,效果如下。 字串1
字串7
(图10 图例) 字串7
我们可以通过红色框的参数来调节风的大小和方向。 字串9
7.现在我们让布绕顺着圆柱体拉开。点选pCylinder1和syCloth1ShapeTrf,选择Syflex---Collisions---Create Collider 字串9
(图11 Syflex---Collisions---Create Collider) 字串6
然后选择syNail1Trs,在第一帧给TranslateX设一个关键帧,拖动时间条到80帧,设置TranslateX为10左右,设置关键帧。
字串7
点击Play,效果如下。
字串1
(图12 图例)
字串1
但是布料和圆柱之间出现了穿插。 字串9
字串7
(图13 问题图例)
打开outliner,点选syCollide1Trs,调大envelope_ext和envelope_int的值,可以增加布料和碰撞物体之间的距离。 字串8
字串5
(图14 envelope_ext和envelope_int参数)
提高这两项数值后,穿插问题就解决了。 字串7
字串5
(图15 解决问题的图例)
字串9
8.为了防止布料随着重力一直下落,我们增加了一块地面,用上面介绍的方法和布料制作碰撞。
字串9
(图16 制作出来的碰撞) 字串4
9.为了能自由的拖动时间条,也为了在渲染中不出错(我们中过很大一刀),我们要给布料加上cache。选择syCloth1Trs,在Cache Name中输入存储cache文件的目录和文件名,点击Play运行一遍,cache就制作完成了。
如果要去掉cache,直接把红色框中的路径delete掉就行了。
字串7
(图17 完成)
字串9
有一点在整个制作过程中需要始终注意,即:不要搞混syCloth1Trs和syCloth1ShapeTrf。不然会死得很难看。 字串9